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

anoid::loader::Loader Class Reference

#include <loader.hh>

Collaboration diagram for anoid::loader::Loader:

Collaboration graph
[legend]
List of all members.

Public Methods

 Loader ()
 ~Loader ()
BasegetInstance (const std::string &name)
void includeInformation (config::Configuration &c)

Private Methods

void associate (const std::string &name, RegisterBase *factory)
void disassociate (const std::string &name)
void load (const std::string &name)
void unload (const std::string &name)

Private Attributes

hash_map< const std::string,
RegisterBase * > 
factoryMap
hash_map< const std::string,
DynamicLoadableModuleInfo * > 
modules
hash_map< const std::string,
void * > 
DLLMap

Friends

class RegisterBase

Constructor & Destructor Documentation

anoid::loader::Loader::Loader  
 

Definition at line 13 of file loader.cc.

anoid::loader::Loader::~Loader  
 

Definition at line 16 of file loader.cc.


Member Function Documentation

void anoid::loader::Loader::associate const std::string &    name,
RegisterBase   factory
[private]
 

Definition at line 67 of file loader.cc.

References factoryMap, and NULL.

Referenced by anoid::loader::RegisterBase::RegisterBase().

void anoid::loader::Loader::disassociate const std::string &    name [private]
 

Definition at line 74 of file loader.cc.

References factoryMap.

Base * anoid::loader::Loader::getInstance const std::string &    name
 

Definition at line 110 of file loader.cc.

References factoryMap, anoid::loader::RegisterBase::instantiate(), load(), and NULL.

void anoid::loader::Loader::includeInformation config::Configuration   c
 

Definition at line 19 of file loader.cc.

References anoid::main::classes, anoid::simple::i(), anoid::simple::j(), modules, and anoid::loader::DynamicLoadableModuleInfo::requires.

void anoid::loader::Loader::load const std::string &    name [private]
 

Definition at line 78 of file loader.cc.

References DLLMap, anoid::simple::i(), anoid::loader::DynamicLoadableModuleInfo::location, modules, NULL, and anoid::loader::DynamicLoadableModuleInfo::requires.

Referenced by getInstance().

void anoid::loader::Loader::unload const std::string &    name [private]
 

Definition at line 102 of file loader.cc.

References DLLMap, and NULL.


Friends And Related Function Documentation

friend class RegisterBase [friend]
 

Definition at line 46 of file loader.hh.


Member Data Documentation

hash_map<const std::string, void *> anoid::loader::Loader::DLLMap [private]
 

Definition at line 32 of file loader.hh.

Referenced by load(), and unload().

hash_map<const std::string, RegisterBase*> anoid::loader::Loader::factoryMap [private]
 

Definition at line 30 of file loader.hh.

Referenced by associate(), disassociate(), and getInstance().

hash_map<const std::string, DynamicLoadableModuleInfo *> anoid::loader::Loader::modules [private]
 

Definition at line 31 of file loader.hh.

Referenced by includeInformation(), and load().


The documentation for this class was generated from the following files:
Anoid NG © Michael Westergaard, Martin Stig Stissing, Ronni Michael Laursen, and Kristian Bisgaard Lassen