#include <xap_Module.h>
Public Member Functions | |
bool | setSymbols (XAP_Plugin_Registration fnRegister, XAP_Plugin_Registration fnDeregister, XAP_Plugin_VersionCheck fnSupportsVersion) |
bool | registered () |
virtual bool | resolveSymbol (const char *symbol_name, void **symbol)=0 |
virtual bool | getModuleName (char **dest) const =0 |
virtual bool | getErrorMsg (char **dest) const =0 |
XAP_ModuleManager * | getCreator () const |
const XAP_ModuleInfo * | getModuleInfo (void) const |
Protected Member Functions | |
XAP_Module () | |
virtual | ~XAP_Module (void) |
virtual bool | load (const char *name)=0 |
virtual bool | unload (void)=0 |
Private Member Functions | |
bool | registerPending () |
bool | registerThySelf () |
bool | unregisterThySelf () |
bool | supportsAbiVersion (UT_uint32 major, UT_uint32 minor, UT_uint32 release) |
void | setCreator (XAP_ModuleManager *creator) |
void | setLoaded (bool bLoaded) |
Private Attributes | |
XAP_Plugin_Registration | m_fnRegister |
XAP_Plugin_Registration | m_fnDeregister |
XAP_Plugin_VersionCheck | m_fnSupportsVersion |
XAP_ModuleManager * | m_creator |
bool | m_bLoaded |
bool | m_bRegistered |
int | m_iStatus |
const char * | m_szSPI |
XAP_ModuleInfo | m_info |
Friends | |
class | XAP_ModuleManager |
XAP_Module::XAP_Module | ( | ) | [protected] |
Protected constructor
References m_info.
XAP_Module::~XAP_Module | ( | void | ) | [protected, virtual] |
Protected destructor
XAP_ModuleManager* XAP_Module::getCreator | ( | ) | const [inline] |
Referenced by XAP_ModuleManager::unloadModule().
virtual bool XAP_Module::getErrorMsg | ( | char ** | dest | ) | const [pure virtual] |
Implemented in XAP_CocoaModule, XAP_UnixModule, XAP_QtModule, and XAP_Win32Module.
Referenced by XAP_ModuleManager::loadModule().
const XAP_ModuleInfo* XAP_Module::getModuleInfo | ( | void | ) | const [inline] |
Referenced by XAP_UnixDialog_PluginManager::_refresh(), XAP_UnixDialog_PluginManager::_updatePluginList(), AP_Win32App::doWindowlessArgs(), XAP_App::getPlugin(), XAP_CocoaPluginReference::initWithModule:, AP_App::openCmdLinePlugins(), XAP_Win32Dialog_PluginManager::refreshPluginInfo(), and XAP_Win32Dialog_PluginManager::refreshPluginList().
virtual bool XAP_Module::getModuleName | ( | char ** | dest | ) | const [pure virtual] |
Implemented in XAP_CocoaModule, XAP_UnixModule, XAP_QtModule, and XAP_Win32Module.
Referenced by XAP_ModuleManager::loadModule().
virtual bool XAP_Module::load | ( | const char * | name | ) | [protected, pure virtual] |
Implemented in XAP_CocoaModule, XAP_UnixModule, XAP_QtModule, and XAP_Win32Module.
Referenced by XAP_ModuleManager::loadModule().
bool XAP_Module::registered | ( | ) |
Whether the plugin is registered
References m_bLoaded, m_bRegistered, and m_iStatus.
Referenced by unregisterThySelf().
bool XAP_Module::registerPending | ( | ) | [private] |
bool XAP_Module::registerThySelf | ( | ) | [private] |
After loading a module, call this function to register the plugin with AbiWord
References int(), m_bLoaded, m_bRegistered, m_fnRegister, m_info, m_iStatus, resolveSymbol(), and UT_ASSERT.
Referenced by XAP_ModuleManager::loadModule(), and XAP_ModuleManager::loadPreloaded().
virtual bool XAP_Module::resolveSymbol | ( | const char * | symbol_name, | |
void ** | symbol | |||
) | [pure virtual] |
Implemented in XAP_CocoaModule, XAP_UnixModule, XAP_QtModule, and XAP_Win32Module.
Referenced by registerThySelf(), supportsAbiVersion(), and unregisterThySelf().
void XAP_Module::setCreator | ( | XAP_ModuleManager * | creator | ) | [inline, private] |
Referenced by XAP_ModuleManager::loadModule(), and XAP_ModuleManager::loadPreloaded().
void XAP_Module::setLoaded | ( | bool | bLoaded | ) | [inline, private] |
bool XAP_Module::setSymbols | ( | XAP_Plugin_Registration | fnRegister, | |
XAP_Plugin_Registration | fnDeregister, | |||
XAP_Plugin_VersionCheck | fnSupportsVersion | |||
) |
marks the module as loaded; returns false if module is already loaded
References m_bLoaded, m_fnDeregister, m_fnRegister, m_fnSupportsVersion, and UT_ASSERT.
Referenced by XAP_ModuleManager::loadPreloaded().
bool XAP_Module::supportsAbiVersion | ( | UT_uint32 | major, | |
UT_uint32 | minor, | |||
UT_uint32 | release | |||
) | [private] |
Query if this plugin supports the requested AbiWord version
major | - "1" | |
minor | - "9" | |
release | - "4" |
References int(), m_bLoaded, m_bRegistered, m_fnSupportsVersion, resolveSymbol(), and UT_ASSERT.
virtual bool XAP_Module::unload | ( | void | ) | [protected, pure virtual] |
Implemented in XAP_CocoaModule, XAP_UnixModule, XAP_QtModule, and XAP_Win32Module.
Referenced by XAP_ModuleManager::loadModule(), and XAP_ModuleManager::unloadModule().
bool XAP_Module::unregisterThySelf | ( | ) | [private] |
Before unloading a module, call this function to unregister the plugin, so that it might g_free resources, de-init itself, etc...
References int(), m_bLoaded, m_bRegistered, m_fnDeregister, m_info, m_iStatus, m_szSPI, registered(), resolveSymbol(), and UT_ASSERT.
Referenced by XAP_ModuleManager::loadModule(), XAP_ModuleManager::loadPreloaded(), and XAP_ModuleManager::unloadModule().
friend class XAP_ModuleManager [friend] |
Reimplemented in XAP_CocoaModule, XAP_UnixModule, XAP_QtModule, and XAP_Win32Module.
bool XAP_Module::m_bLoaded [private] |
Reimplemented in XAP_CocoaModule, XAP_UnixModule, and XAP_QtModule.
Referenced by registered(), registerThySelf(), setSymbols(), supportsAbiVersion(), and unregisterThySelf().
bool XAP_Module::m_bRegistered [private] |
Referenced by registered(), registerThySelf(), supportsAbiVersion(), and unregisterThySelf().
XAP_ModuleManager* XAP_Module::m_creator [private] |
Referenced by setSymbols(), and unregisterThySelf().
Referenced by registerThySelf(), and setSymbols().
Referenced by setSymbols(), and supportsAbiVersion().
XAP_ModuleInfo XAP_Module::m_info [private] |
Referenced by registerThySelf(), unregisterThySelf(), and XAP_Module().
int XAP_Module::m_iStatus [private] |
Referenced by registered(), registerThySelf(), and unregisterThySelf().
const char* XAP_Module::m_szSPI [private] |
Referenced by unregisterThySelf().