plugin.h File Reference
`#include <ptlib/pfactory.h>`

Go to the source code of this file.

## Classes

class | PDevicePluginFactory< AbstractClass, KeyType >
class | PDevicePluginFactory< AbstractClass, KeyType >::Worker
class | PDevicePluginAdapterBase
class | PDevicePluginAdapter< DeviceBase >
class | PPluginServiceDescriptor
class | PDevicePluginServiceDescriptor
class | PPluginService

## Macros

#define | PWLIB_PLUGIN_API_VERSION 0
#define | PCREATE_PLUGIN_REGISTERER(serviceName, serviceType, descriptor)
#define | PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor)
#define | PPLUGIN_STATIC_LOAD(serviceName, serviceType)
#define | P_FORCE_STATIC_PLUGIN 1
#define | PCREATE_PLUGIN(serviceName, serviceType, descriptor) PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor)

## Macro Definition Documentation

#define P_FORCE_STATIC_PLUGIN 1

#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; \
}; \
PDevicePluginFactory::Worker
Definition: plugin.h:29
PPluginManager
Definition: pluginmgr.h:57

#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(); \
int PPlugin_##serviceType##_##serviceName##_link() { return 0; }
PPluginManager::GetPluginManager
static PPluginManager & GetPluginManager()
PPluginManager::RegisterService
PBoolean RegisterService(const PString &serviceName, const PString &serviceType, PPluginServiceDescriptor *descriptor)

#define PPLUGIN_STATIC_LOAD | ( |  | serviceName,
|  |  | serviceType
| ) |  |

Value:
extern int PPlugin_##serviceType##_##serviceName##_link(); \
int const PPlugin_##serviceType##_##serviceName##_loader = PPlugin_##serviceType##_##serviceName##_link();

#define PWLIB_PLUGIN_API_VERSION 0

Referenced by PPluginServiceDescriptor::PPluginServiceDescriptor().