PWLib  1.10.10
Classes | Defines
plugin.h File Reference
#include <ptlib/pfactory.h>

Go to the source code of this file.

Classes

class  PDevicePluginFactory< _Abstract_T, _Key_T >
class  PDevicePluginFactory< _Abstract_T, _Key_T >::Worker
class  PDevicePluginAdapterBase
class  PDevicePluginAdapter< DeviceBase >
class  PPluginServiceDescriptor
class  PDevicePluginServiceDescriptor
class  PPluginService

Defines

#define PWLIB_PLUGIN_API_VERSION   0
#define PCREATE_PLUGIN_REGISTERER(serviceName, serviceType, descriptor)
#define PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor)
#define PWLIB_STATIC_LOAD_PLUGIN(serviceName, serviceType)
#define PCREATE_PLUGIN(serviceName, serviceType, descriptor)   PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor)

Define Documentation

#define PCREATE_PLUGIN (   serviceName,
  serviceType,
  descriptor 
)    PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor)
#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:
extern int PWLIB_gStaticLoader__##serviceName##_##serviceType; \
static int PWLIB_StaticLoader_##serviceName##_##serviceType() \
{ PPluginManager::GetPluginManager().RegisterService(#serviceName, #serviceType, descriptor); return 1; } \
int PWLIB_gStaticLoader__##serviceName##_##serviceType =  PWLIB_StaticLoader_##serviceName##_##serviceType();
#define PWLIB_PLUGIN_API_VERSION   0
#define PWLIB_STATIC_LOAD_PLUGIN (   serviceName,
  serviceType 
)