#include <pluginmgr.h>
Inheritance diagram for PPluginManager:

Public Member Functions | |
| BOOL | LoadPlugin (const PString &fileName) |
| void | LoadPluginDirectory (const PDirectory &dir) |
| PStringList | GetPluginTypes () const |
| PStringList | GetPluginsProviding (const PString &serviceType) const |
| PPluginServiceDescriptor * | GetServiceDescriptor (const PString &serviceName, const PString &serviceType) |
| BOOL | RegisterService (const PString &serviceName, const PString &serviceType, PPluginServiceDescriptor *descriptor) |
| void | AddNotifier (const PNotifier &filterFunction, BOOL existing=FALSE) |
| void | RemoveNotifier (const PNotifier &filterFunction) |
Static Public Member Functions | |
| static PStringArray | GetPluginDirs () |
| static PPluginManager & | GetPluginManager () |
Protected Member Functions | |
| void | CallNotifier (PDynaLink &dll, INT code) |
Protected Attributes | |
| PMutex | pluginListMutex |
| PList< PDynaLink > | pluginList |
| PMutex | serviceListMutex |
| PList< PPluginService > | serviceList |
| PMutex | notifierMutex |
| PList< PNotifier > | notifierList |
|
||||||||||||
|
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)); |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.4.2