PTLib Version 2.12.9

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Macros
plugin.h File Reference
`#include <ptlib/pfactory.h>`
Include dependency graph for plugin.h:
This graph shows which files directly or indirectly include this file:

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; \
}; \

#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; }

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