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
150 #define BLENDFUNCTION void // for mingw & gcc
153 #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
154 BOOL APIENTRY DllMain( HANDLE, DWORD, LPVOID ) \
158 typedef char __CppUnitPlugInImplementMainDummyTypeDef
161 #elif defined(CPPUNIT_HAVE_UNIX_DLL_LOADER) || defined(CPPUNIT_HAVE_UNIX_SHL_LOADER)
162 #define CPPUNIT_PLUGIN_IMPLEMENT_MAIN() \
167 typedef char __CppUnitPlugInImplementMainDummyTypeDef
171 #else // other platforms don't require anything specifics
190 #define CPPUNIT_PLUGIN_IMPLEMENT() \
191 CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL( CPPUNIT_NS::TestPlugInDefaultImpl ); \
192 CPPUNIT_PLUGIN_IMPLEMENT_MAIN()
195 #endif // !defined(CPPUNIT_NO_TESTPLUGIN)
198 #endif // CPPUNIT_PLUGIN_TESTPLUGIN