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