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 | PPLUGIN_STATIC_LOAD(serviceName, serviceType) |
#define | P_FORCE_STATIC_PLUGIN 1 |
#define | PCREATE_PLUGIN(serviceName, serviceType, descriptor) PCREATE_PLUGIN_STATIC(serviceName, serviceType, descriptor) |
Define Documentation
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; \
}; \
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; }
Value:extern int PPlugin_##serviceType##_##serviceName##_link(); \
int const PPlugin_##serviceType##_##serviceName##_loader = PPlugin_##serviceType##_##serviceName##_link();