1 #ifndef CPPUNIT_PLUGIN_TESTPLUGIN
2 #define CPPUNIT_PLUGIN_TESTPLUGIN
6 #if !defined(CPPUNIT_NO_TESTPLUGIN)
58 virtual void initialize( CPPUNIT_NS::TestFactoryRegistry *registry,
59 const CPPUNIT_NS::PlugInParameters ¶meters ) =0;
68 virtual void addListener( CPPUNIT_NS::TestResult *eventManager ) =0;
74 virtual void removeListener( CPPUNIT_NS::TestResult *eventManager ) =0;
78 virtual void addXmlOutputterHooks( CPPUNIT_NS::XmlOutputter *outputter ) =0;
84 virtual void removeXmlOutputterHooks() = 0;
94 virtual void uninitialize( CPPUNIT_NS::TestFactoryRegistry *registry ) =0;
109 #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTestPlugIn
120 #define CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL( TestPlugInInterfaceType ) \
121 CPPUNIT_PLUGIN_EXPORT CppUnitTestPlugIn *CPPUNIT_PLUGIN_EXPORTED_NAME(void) \
123 static TestPlugInInterfaceType plugIn; \
126 typedef char __CppUnitPlugInExportFunctionDummyTypeDef // dummy typedef so it can end with ';'
142 #if defined(CPPUNIT_HAVE_WIN32_DLL_LOADER)
143 #if !defined(APIENTRY)
144 #define WIN32_LEAN_AND_MEAN
152 #define BLENDFUNCTION void // for mingw & gcc
155 #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
156 BOOL APIENTRY DllMain( HANDLE, DWORD, LPVOID ) \
160 typedef char __CppUnitPlugInImplementMainDummyTypeDef
163 #elif defined(CPPUNIT_HAVE_UNIX_DLL_LOADER) || defined(CPPUNIT_HAVE_UNIX_SHL_LOADER)
164 #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
169 typedef char __CppUnitPlugInImplementMainDummyTypeDef
173 #else // other platforms don't require anything specifics
192 #define CPPUNIT_PLUGIN_IMPLEMENT() \
193 CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL( CPPUNIT_NS::TestPlugInDefaultImpl ); \
194 CPPUNIT_PLUGIN_IMPLEMENT_MAIN()
197 #endif // !defined(CPPUNIT_NO_TESTPLUGIN)
200 #endif // CPPUNIT_PLUGIN_TESTPLUGIN