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