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

Module Class Reference

#include <module.h>

Inheritance diagram for Module:

Inheritance graph
[legend]
Collaboration diagram for Module:

Collaboration graph
[legend]
List of all members.

Detailed Description

Loadable module object A module is an abstraction of a loadable library Abstracts all platform-specific issues and allows easy query for symbols available in the loaded module.

Author:
Cody Russell (cody [at] jhu.edu)


Public Member Functions

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

Protected Attributes

ModuleManagerm_pkManager
HashString m_strName


Constructor & Destructor Documentation

Module const HashString rstrName,
ModuleManager pkManager
 

Initialize module

Parameters:
rstrName Library name
pkManager Module manager object

virtual ~Module  )  [virtual]
 


Member Function Documentation

virtual bool IsValid  )  const [pure virtual]
 

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

Implemented in ModuleDynamic, and ModuleStatic.

virtual bool IsStatic  )  const [pure virtual]
 

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

Implemented in ModuleDynamic, and ModuleStatic.

virtual ModSymbol LookupSymbol const HashString rstrSymbol  )  [pure virtual]
 

Query library for symbol

Parameters:
rstrSymbol Symbol name
Returns:
Symbol

Implemented in ModuleDynamic, and ModuleStatic.

const HashString& GetName  )  const [inline]
 

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

ModuleManager* m_pkManager [protected]
 

Module manager

HashString m_strName [protected]
 

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