Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages

ModuleDynamic Class Reference

#include <module.h>

Inheritance diagram for ModuleDynamic:

Inheritance graph
[legend]
Collaboration diagram for ModuleDynamic:

Collaboration graph
[legend]
List of all members.

Detailed Description

Module abstraction layer for dynamically linked modules.

Author:
Mattias Jansson (mattias@realityrift.com)


Public Member Functions

 ModuleDynamic (const HashString &rstrName, const HashString &rstrFullPath, ModuleManager *pkManager, bool bMacBundleLib=false)
virtual ~ModuleDynamic ()
virtual bool IsValid () const
virtual bool IsStatic () const
virtual ModSymbol LookupSymbol (const HashString &rstrSymbol)
const HashStringGetName () const
void IncRef ()
void DecRef ()
int GetRefCount () const

Protected Attributes

ModuleManagerm_pkManager
HashString m_strName

Private Attributes

HashString m_strPathName
ModLib m_Lib


Constructor & Destructor Documentation

ModuleDynamic const HashString rstrName,
const HashString rstrFullPath,
ModuleManager pkManager,
bool  bMacBundleLib = false
 

Load library

Parameters:
rstrName Library name
rstrFullPath Full path name
pkManager Module manager object
bMacBundleLib This is only used on Macintosh platform. It indicates that the library is inside the NeoEngine bundle.

virtual ~ModuleDynamic  )  [virtual]
 

Free library, deregister from module manager


Member Function Documentation

virtual bool IsValid  )  const [inline, virtual]
 

Returns:
true if module is loaded successfully, false if not (not existing or missing symbols)

Implements Module.

virtual bool IsStatic  )  const [inline, virtual]
 

Returns:
true if module is statically loaded, false if dynamic

Implements Module.

virtual ModSymbol LookupSymbol const HashString rstrSymbol  )  [virtual]
 

Query library for symbol

Parameters:
rstrSymbol Symbol name
Returns:
Symbol

Implements Module.

const HashString& GetName  )  const [inline, inherited]
 

Returns:
Module name

void IncRef  )  [inline, inherited]
 

Increase reference count

void DecRef  )  [inline, inherited]
 

Decrease reference count and garbage collect if 0

int GetRefCount  )  const [inline, inherited]
 

Returns:
Current reference count


Member Data Documentation

HashString m_strPathName [private]
 

Full path

ModLib m_Lib [private]
 

Lib instance

ModuleManager* m_pkManager [protected, inherited]
 

Module manager

HashString m_strName [protected, inherited]
 

Module name


The documentation for this class was generated from the following file:
Generated on Wed Jan 21 14:21:12 2004 for NeoEngine by doxygen 1.3.5