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