Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

plugin.h File Reference

#include <ptlib/pfactory.h>

Go to the source code of this file.

Defines

#define PWLIB_PLUGIN_API_VERSION   0
#define PCREATE_PLUGIN_VERSION_DECLARE
#define PCREATE_STATIC_PLUGIN_VERSION_FN(serviceName, serviceType)
#define PCREATE_DYNAMIC_PLUGIN_VERSION_FN(serviceName, serviceType)
#define PCREATE_PLUGIN_REGISTERER(serviceName, serviceType, descriptor)
#define PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor)
#define PWLIB_STATIC_LOAD_PLUGIN(cls)
#define PCREATE_PLUGIN_DYNAMIC(serviceName, serviceType, descriptor)
#define PCREATE_PLUGIN(serviceName, serviceType, descriptor)   PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor)
#define PCREATE_PLUGIN_VERSION_FN(serviceName, serviceType)   PCREATE_STATIC_PLUGIN_VERSION_FN(serviceName, serviceType)
#define PPLUGIN_VERSION_FN(serviceName, serviceType)   PPlugin_##serviceType##_##serviceName##_GetVersion


Define Documentation

#define PCREATE_DYNAMIC_PLUGIN_VERSION_FN serviceName,
serviceType   ) 
 

Value:

extern "C" unsigned PWLibPlugin_GetAPIVersion (void) \
{ return PWLIB_PLUGIN_API_VERSION; }

#define PCREATE_PLUGIN serviceName,
serviceType,
descriptor   )     PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor)
 

#define PCREATE_PLUGIN_DYNAMIC serviceName,
serviceType,
descriptor   ) 
 

Value:

PCREATE_PLUGIN_REGISTERER(serviceName, serviceType, descriptor) \
extern "C" void PWLibPlugin_TriggerRegister (PPluginManager * pluginMgr) { \
PPlugin_##serviceType##_##serviceName##_Registration \
     pplugin_##serviceType##_##serviceName##_Registration_Instance(pluginMgr); \
     pplugin_##serviceType##_##serviceName##_Registration_Instance.kill_warning = 0; \
}

#define PCREATE_PLUGIN_REGISTERER serviceName,
serviceType,
descriptor   ) 
 

Value:

class PPlugin_##serviceType##_##serviceName##_Registration { \
  public: \
    PPlugin_##serviceType##_##serviceName##_Registration(PPluginManager * pluginMgr) \
    { \
      static PDevicePluginFactory<serviceType>::Worker factory(#serviceName); \
      pluginMgr->RegisterService(#serviceName, #serviceType, descriptor); \
    } \
    int kill_warning; \
}; \

#define PCREATE_PLUGIN_STATIC serviceName,
serviceType,
descriptor   ) 
 

Value:

static void __attribute__ (( constructor )) PWLIB_StaticLoader_##serviceName##_##serviceType() \
{ PPluginManager::GetPluginManager().RegisterService(#serviceName, #serviceType, descriptor); } \

#define PCREATE_PLUGIN_VERSION_DECLARE
 

#define PCREATE_PLUGIN_VERSION_FN serviceName,
serviceType   )     PCREATE_STATIC_PLUGIN_VERSION_FN(serviceName, serviceType)
 

#define PCREATE_STATIC_PLUGIN_VERSION_FN serviceName,
serviceType   ) 
 

Value:

unsigned PPlugin_##serviceType##_##serviceName##_GetVersion() \
  { return PWLIB_PLUGIN_API_VERSION; }

#define PPLUGIN_VERSION_FN serviceName,
serviceType   )     PPlugin_##serviceType##_##serviceName##_GetVersion
 

#define PWLIB_PLUGIN_API_VERSION   0
 

#define PWLIB_STATIC_LOAD_PLUGIN cls   ) 
 


Generated on Tue Mar 15 10:44:52 2005 for PWLib by  doxygen 1.4.0