#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 |
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 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 | ) |