初步修复
This commit is contained in:
parent
8fc4357cc6
commit
e4714f3f0e
46705 changed files with 12004901 additions and 0 deletions
113
Common/cppunit-1.12.1/include/cppunit/plugin/PlugInManager.h
Normal file
113
Common/cppunit-1.12.1/include/cppunit/plugin/PlugInManager.h
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
#ifndef CPPUNIT_PLUGIN_PLUGINMANAGER_H
|
||||
#define CPPUNIT_PLUGIN_PLUGINMANAGER_H
|
||||
|
||||
#include <cppunit/Portability.h>
|
||||
|
||||
#if !defined(CPPUNIT_NO_TESTPLUGIN)
|
||||
|
||||
#if CPPUNIT_NEED_DLL_DECL
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable: 4251 ) // X needs to have dll-interface to be used by clients of class Z
|
||||
#endif
|
||||
|
||||
#include <cppunit/plugin/PlugInParameters.h>
|
||||
struct CppUnitTestPlugIn;
|
||||
|
||||
CPPUNIT_NS_BEGIN
|
||||
|
||||
|
||||
class DynamicLibraryManager;
|
||||
class TestResult;
|
||||
class XmlOutputter;
|
||||
|
||||
|
||||
/*! \brief Manges TestPlugIn.
|
||||
*/
|
||||
class CPPUNIT_API PlugInManager
|
||||
{
|
||||
public:
|
||||
/*! Constructs a PlugInManager object.
|
||||
*/
|
||||
PlugInManager();
|
||||
|
||||
/// Destructor.
|
||||
virtual ~PlugInManager();
|
||||
|
||||
/*! \brief Loads the specified plug-in.
|
||||
*
|
||||
* After being loaded, the CppUnitTestPlugIn::initialize() is called.
|
||||
*
|
||||
* \param libraryFileName Name of the file that contains the TestPlugIn.
|
||||
* \param parameters List of string passed to the plug-in.
|
||||
* \return Pointer on the DynamicLibraryManager associated to the library.
|
||||
* Valid until the library is unloaded. Never \c NULL.
|
||||
* \exception DynamicLibraryManagerException is thrown if an error occurs during loading.
|
||||
*/
|
||||
void load( const std::string &libraryFileName,
|
||||
const PlugInParameters ¶meters = PlugInParameters() );
|
||||
|
||||
/*! \brief Unloads the specified plug-in.
|
||||
* \param libraryFileName Name of the file that contains the TestPlugIn passed
|
||||
* to a previous call to load().
|
||||
*/
|
||||
void unload( const std::string &libraryFileName );
|
||||
|
||||
/*! \brief Gives a chance to each loaded plug-in to register TestListener.
|
||||
*
|
||||
* For each plug-in, call CppUnitTestPlugIn::addListener().
|
||||
*/
|
||||
void addListener( TestResult *eventManager );
|
||||
|
||||
/*! \brief Gives a chance to each loaded plug-in to unregister TestListener.
|
||||
* For each plug-in, call CppUnitTestPlugIn::removeListener().
|
||||
*/
|
||||
void removeListener( TestResult *eventManager );
|
||||
|
||||
/*! \brief Provides a way for the plug-in to register some XmlOutputterHook.
|
||||
*/
|
||||
void addXmlOutputterHooks( XmlOutputter *outputter );
|
||||
|
||||
/*! \brief Called when the XmlOutputter is destroyed.
|
||||
*
|
||||
* Can be used to free some resources allocated by addXmlOutputterHooks().
|
||||
*/
|
||||
void removeXmlOutputterHooks();
|
||||
|
||||
protected:
|
||||
/*! \brief (INTERNAL) Information about a specific plug-in.
|
||||
*/
|
||||
struct PlugInInfo
|
||||
{
|
||||
std::string m_fileName;
|
||||
DynamicLibraryManager *m_manager;
|
||||
CppUnitTestPlugIn *m_interface;
|
||||
};
|
||||
|
||||
/*! Unloads the specified plug-in.
|
||||
* \param plugIn Information about the plug-in.
|
||||
*/
|
||||
void unload( PlugInInfo &plugIn );
|
||||
|
||||
private:
|
||||
/// Prevents the use of the copy constructor.
|
||||
PlugInManager( const PlugInManager © );
|
||||
|
||||
/// Prevents the use of the copy operator.
|
||||
void operator =( const PlugInManager © );
|
||||
|
||||
private:
|
||||
typedef CppUnitDeque<PlugInInfo> PlugIns;
|
||||
PlugIns m_plugIns;
|
||||
};
|
||||
|
||||
|
||||
CPPUNIT_NS_END
|
||||
|
||||
#if CPPUNIT_NEED_DLL_DECL
|
||||
#pragma warning( pop )
|
||||
#endif
|
||||
|
||||
#endif // !defined(CPPUNIT_NO_TESTPLUGIN)
|
||||
|
||||
|
||||
#endif // CPPUNIT_PLUGIN_PLUGINMANAGER_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue