Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | Friends

XAP_CocoaModule Class Reference

#include <xap_CocoaModule.h>

Inheritance diagram for XAP_CocoaModule:

List of all members.

Public Member Functions

virtual bool resolveSymbol (const char *symbol_name, void **symbol)
virtual bool getModuleName (char **dest) const
virtual bool getErrorMsg (char **dest) const

Static Public Member Functions

static void loadAllPlugins ()
 MacOSX applications look for plugins in Contents/PlugIns, and there's probably no need to jump through scandir hoops identifying these.
static bool loadPlugin (const std::string &path)
static bool hasPluginExtension (const std::string &path)

Protected Member Functions

 XAP_CocoaModule ()
virtual ~XAP_CocoaModule (void)
virtual bool load (const char *name)
virtual bool unload (void)

Private Attributes

std::string m_szname
std::string m_module_path
void * m_module
bool m_bLoaded


class XAP_ModuleManager

Constructor & Destructor Documentation

XAP_CocoaModule::XAP_CocoaModule (  )  [protected]
XAP_CocoaModule::~XAP_CocoaModule ( void   )  [protected, virtual]

Member Function Documentation

bool XAP_CocoaModule::getErrorMsg ( char **  dest  )  const [virtual]

Implements XAP_Module.

bool XAP_CocoaModule::getModuleName ( char **  dest  )  const [virtual]

Implements XAP_Module.

References m_szname.

bool XAP_CocoaModule::hasPluginExtension ( const std::string &  path  )  [static]
bool XAP_CocoaModule::load ( const char *  name  )  [protected, virtual]
void XAP_CocoaModule::loadAllPlugins (  )  [static]

MacOSX applications look for plugins in Contents/PlugIns, and there's probably no need to jump through scandir hoops identifying these.

Third party plugins or plugins not distributed with can be found in the system directory "/Library/Application Support" or in the user's home equivalent - I'm choosing to make the plug-in directory "/Library/Application Support/AbiWord/PlugIns".

References createSystemPluginsDirectory(), XAP_App::getApp(), XAP_App::getUserPrivateDirectory(), loadPlugin(), s_Abi_only(), s_createDirectoryIfNecessary(), and s_dir_exists().

Referenced by XAP_CocoaAppController::applicationDidFinishLaunching:.

bool XAP_CocoaModule::loadPlugin ( const std::string &  path  )  [static]
bool XAP_CocoaModule::resolveSymbol ( const char *  symbol_name,
void **  symbol 
) [virtual]

Implements XAP_Module.

References m_module.

bool XAP_CocoaModule::unload ( void   )  [protected, virtual]

Implements XAP_Module.

References m_bLoaded, and m_module.

Friends And Related Function Documentation

friend class XAP_ModuleManager [friend]

Reimplemented from XAP_Module.

Member Data Documentation

Reimplemented from XAP_Module.

Referenced by load(), and unload().

void* XAP_CocoaModule::m_module [private]

Referenced by load(), resolveSymbol(), and unload().

std::string XAP_CocoaModule::m_module_path [private]

Referenced by load().

std::string XAP_CocoaModule::m_szname [private]

Referenced by getModuleName(), and load().

The documentation for this class was generated from the following files: