Go to the source code of this file.
|
#define | PTLIB_PLUGIN_API_VERSION 1 |
|
#define | PCREATE_PLUGIN_SERVICE_EX(serviceType, BaseClass, extra) |
|
#define | PCREATE_PLUGIN_SERVICE(serviceType) PCREATE_PLUGIN_SERVICE_EX(serviceType, PPluginServiceDescriptor, ) |
|
#define | PCREATE_PLUGIN_DEVICE(serviceType) PCREATE_PLUGIN_SERVICE_EX(serviceType, PPluginDeviceDescriptor, ) |
|
#define | PCREATE_PLUGIN_ARG_5(serviceName, serviceType, InstanceClass, DescriptorClass, extra) |
|
#define | PCREATE_PLUGIN_ARG_4(serviceName, serviceType, InstanceClass, DescriptorClass) PCREATE_PLUGIN_ARG_5(serviceName, serviceType, InstanceClass, DescriptorClass, ) |
|
#define | PCREATE_PLUGIN_ARG_3(serviceName, serviceType, InstanceClass) PCREATE_PLUGIN_ARG_4(serviceName, serviceType, InstanceClass, PPlugin_##serviceType) |
|
#define | PCREATE_PLUGIN_ARG_2(serviceName, serviceType) PCREATE_PLUGIN_ARG_3(serviceName, serviceType, serviceType##_##serviceName) |
|
#define | PCREATE_PLUGIN_PART1(narg, args) PCREATE_PLUGIN_PART2(narg, args) |
|
#define | PCREATE_PLUGIN_PART2(narg, args) PCREATE_PLUGIN_ARG_##narg args |
|
#define | PCREATE_PLUGIN_STATIC(...) PCREATE_PLUGIN_PART1(PARG_COUNT(__VA_ARGS__), (__VA_ARGS__)) |
|
#define | PPLUGIN_STATIC_LOAD(serviceName, serviceType) PFACTORY_LOAD(PPlugin_##serviceType##_##serviceName) |
|
#define | PCREATE_PLUGIN(...) PCREATE_PLUGIN_STATIC(__VA_ARGS__) |
|
#define PCREATE_PLUGIN_ARG_2 |
( |
|
serviceName, |
|
|
|
serviceType |
|
) |
| PCREATE_PLUGIN_ARG_3(serviceName, serviceType, serviceType##_##serviceName) |
#define PCREATE_PLUGIN_ARG_3 |
( |
|
serviceName, |
|
|
|
serviceType, |
|
|
|
InstanceClass |
|
) |
| PCREATE_PLUGIN_ARG_4(serviceName, serviceType, InstanceClass, PPlugin_##serviceType) |
#define PCREATE_PLUGIN_ARG_4 |
( |
|
serviceName, |
|
|
|
serviceType, |
|
|
|
InstanceClass, |
|
|
|
DescriptorClass |
|
) |
| PCREATE_PLUGIN_ARG_5(serviceName, serviceType, InstanceClass, DescriptorClass, ) |
#define PCREATE_PLUGIN_ARG_5 |
( |
|
serviceName, |
|
|
|
serviceType, |
|
|
|
InstanceClass, |
|
|
|
DescriptorClass, |
|
|
|
extra |
|
) |
| |
Value:class PPlugin_##serviceType##_##serviceName : public DescriptorClass { \
public: \
static const char * ServiceName() { return #serviceName; } \
virtual const char * GetServiceName() const { return ServiceName(); } \
virtual
PObject * CreateInstance(
P_INT_PTR)
const {
return new InstanceClass; } \
extra \
}; \
PFACTORY_CREATE(
PPluginFactory, PPlugin_##serviceType##_##serviceName, #serviceType #serviceName,
true)
#define PCREATE_PLUGIN_PART2 |
( |
|
narg, |
|
|
|
args |
|
) |
| PCREATE_PLUGIN_ARG_##narg args |
#define PCREATE_PLUGIN_SERVICE_EX |
( |
|
serviceType, |
|
|
|
BaseClass, |
|
|
|
extra |
|
) |
| |
Value:class PPlugin_##serviceType : public BaseClass { \
public: \
static const char * ServiceType() { return #serviceType; } \
virtual const char * GetServiceType() const { return ServiceType(); } \
extra \
}
#define PPLUGIN_STATIC_LOAD |
( |
|
serviceName, |
|
|
|
serviceType |
|
) |
| PFACTORY_LOAD(PPlugin_##serviceType##_##serviceName) |
#define PTLIB_PLUGIN_API_VERSION 1 |