|
void | AddDirectory (const PDirectory &dir) |
|
void | SetDirectories (const PString &dirs) |
|
void | SetDirectories (const PStringArray &dirs) |
|
void | LoadDirectories () |
|
void | LoadDirectory (const PDirectory &dir) |
|
PBoolean | LoadPlugin (const PString &fileName) |
|
void | OnShutdown () |
|
PStringArray | GetServiceTypes () const |
|
const PPluginServiceDescriptor * | GetServiceDescriptor (const PString &serviceName, const PString &serviceType) const |
|
PStringArray | GetPluginsProviding (const PString &serviceType, bool friendlyNames) const |
|
PObject * | CreatePlugin (const PString &serviceName, const PString &serviceType, P_INT_PTR userData=0) const |
|
PStringArray | GetPluginDeviceNames (const PString &serviceName, const PString &serviceType, P_INT_PTR userData=0, const char *const *prioritisedDrivers=NULL) const |
|
PBoolean | GetPluginsDeviceCapabilities (const PString &serviceType, const PString &serviceName, const PString &deviceName, void *capabilities) const |
|
bool | RegisterService (const char *name) |
|
void | AddNotifier (const PNotifier &filterFunction, PBoolean existing=false) |
| Add a notifier to the plugin manager. More...
|
|
void | RemoveNotifier (const PNotifier &filterFunction) |
|
P_DEPRECATED PObject * | CreatePluginsDevice (const PString &serviceName, const PString &serviceType, int userData=0) const |
|
P_DEPRECATED PObject * | CreatePluginsDeviceByName (const PString &deviceName, const PString &serviceType, int userData=0, const PString &serviceName=PString::Empty()) const |
|
unsigned | GetTraceContextIdentifier () const |
| Get PTRACE context identifier. More...
|
|
void | SetTraceContextIdentifier (unsigned id) |
|
void | GetTraceContextIdentifier (PObject &obj) |
|
void | GetTraceContextIdentifier (PObject *obj) |
|
void | SetTraceContextIdentifier (const PObject &obj) |
|
void | SetTraceContextIdentifier (const PObject *obj) |
|
virtual | ~PObject () |
|
virtual PObject * | Clone () const |
| Create a copy of the class on the heap. More...
|
|
template<class CLS > |
CLS * | CloneAs () const |
| As for Clone() but converts to specified type. More...
|
|
virtual PINDEX | HashFunction () const |
| This function yields a hash value required by the PDictionary class. More...
|
|
virtual const char * | GetClass (unsigned ancestor=0) const |
| Get the current dynamic type of the object instance. More...
|
|
PBoolean | IsClass (const char *cls) const |
|
virtual PBoolean | InternalIsDescendant (const char *clsName) const |
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
|
|
__inline const PObject * | PTraceObjectInstance () const |
|
virtual Comparison | Compare (const PObject &obj) const |
| Compare the two objects and return their relative rank. More...
|
|
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
| Determine the byte wise comparison of two objects. More...
|
|
bool | operator== (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator!= (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator< (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator> (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator<= (const PObject &obj) const |
| Compare the two objects. More...
|
|
bool | operator>= (const PObject &obj) const |
| Compare the two objects. More...
|
|
virtual void | PrintOn (ostream &strm) const |
| Output the contents of the object to the stream. More...
|
|
virtual void | ReadFrom (istream &strm) |
| Input the contents of the object from the stream. More...
|
|
|
static PPluginManager & | GetPluginManager () |
|
static PStringArray | GetPluginsProviding (PPluginManager *pluginMgr, const PString &serviceType, bool friendlyNames) |
|
template<class T > |
static T * | CreatePluginAs (PPluginManager *pluginMgr, const PString &serviceName, const PString &serviceType, P_INT_PTR userData=0) |
|
static PStringArray | GetPluginDeviceNames (PPluginManager *pluginMgr, const PString &serviceName, const PString &serviceType, P_INT_PTR userData=0, const char *const *prioritisedDrivers=NULL) |
|
static const char * | Class () |
| Get the name of the class as a C string. More...
|
|
static __inline const PObject * | PTraceObjectInstance (const char *) |
|
static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
|
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
| Internal function caled from CompareObjectMemoryDirect() More...
|
|
void PPluginManager::AddNotifier |
( |
const PNotifier & |
filterFunction, |
|
|
PBoolean |
existing = false |
|
) |
| |
Add a notifier to the plugin manager.
The call back function is executed just after loading, or
just after unloading, a plugin.
To use define:
PDECLARE_NOTIFIER(PDynaLink, YourClass, YourFunction);
and
void YourClass::YourFunction(PDynaLink & dll, INT code)
{
code == 0 means loading code == 1 means unloading } and to connect to the plugin manager: PPluginManager & mgr = PPluginManager::GetPluginManager(); mgr->AddNotifier((PCREATE_NOTIFIER(YourFunction));