zeus::TLibraryManager Class Reference

#include <LibraryManager.h>

Inheritance diagram for zeus::TLibraryManager:

zeus::TZObject zeus::ILibraryManager zeus::IZUnknown zeus::IZUnknown

List of all members.

Public Types

enum  ESecurityLevel { etUseSecurity = 0, etNoSecurity = 1 }

Public Member Functions

void setDelegationInterface (ILibraryManager &rManager)
void releaseDelegationInterface ()
Retval addCodeModule (const IString &rName)
Retval addCodeModule (const IString &rName, const IString &rPath)
bool hasCodeModule (const IString &rName)
TString getCodeModulePath () const
void setCodeModulePath (const IString &rPath)
void setSecurity (ESecurityLevel eMode)
Retval remove (const IString &rName)
void removeAll ()
void setFilePrefix (const IString &rValue)
virtual Retval MQUALIFIER createObject (const IString &rCodeModule, const IString &rClassName, IZUnknown *&rpIface)
virtual Retval MQUALIFIER registerXClass (const IString &rCodeModule, const IString &rClassName, Uint &rHandle)
virtual Retval MQUALIFIER askForInterface (Uint uiInterfaceID, IZUnknown *&rpIface)
virtual void MQUALIFIER addRef () const
virtual void MQUALIFIER release () const

Static Public Member Functions

static TLibraryManagergetInstance ()


Detailed Description

The library manager contains a list of loaded libraries and their module factories

Member Enumeration Documentation

Enumerator:
etUseSecurity 
etNoSecurity 


Member Function Documentation

TLibraryManager & zeus::TLibraryManager::getInstance (  )  [inline, static]

Returns the singleton object

void zeus::TLibraryManager::setDelegationInterface ( ILibraryManager rManager  ) 

Sets a delegation interface. All method calls will be delegated.

Parameters:
rManager : Interface

void zeus::TLibraryManager::releaseDelegationInterface (  )  [inline]

Release the delegation interface

Retval zeus::TLibraryManager::addCodeModule ( const IString rName  )  [inline]

This adds a new code module to the library manager. The code module will be loaded if possible. If the loading fails, the module will be added anyway, so a conflict can been seen.

Parameters:
rName : Name of the code module.
Returns:
For return values see addCodeModule(name, path)

Retval zeus::TLibraryManager::addCodeModule ( const IString rName,
const IString rPath 
)

Adds a libaray to the manager

Parameters:
rName : Name of the code module
rPath : code module path
Return values:
RET_NOERROR : Code module loaded
RET_ACCESS_DENIED : Security policy denies to load this code module
RET_REQUEST_FAILED : Library already loaded
RET_INVALID_DATA : Could not load library. (Invalid name)

Security code must come here

bool zeus::TLibraryManager::hasCodeModule ( const IString rName  ) 

Checks if a code module has been added already.

Parameters:
rName : Name of the code module
Return values:
true : Code module has been added
false : Code module has not been added

TString zeus::TLibraryManager::getCodeModulePath (  )  const [inline]

Gets the code module path.

Returns:
basepath of the modules

void zeus::TLibraryManager::setCodeModulePath ( const IString rPath  ) 

Sets the code module path.

Parameters:
path : basepath of the modules

void zeus::TLibraryManager::setSecurity ( ESecurityLevel  eMode  )  [inline]

Sets the security level

Parameters:
eMode : new security mode

Retval zeus::TLibraryManager::remove ( const IString rName  ) 

Removes a code module from the list

Parameters:
rName : Name of the code module
Return values:
RET_NOERROR : Code module removed
RET_REQUEST_FAILED,: Code module was not registered

void zeus::TLibraryManager::removeAll (  ) 

Removes all libraries

void zeus::TLibraryManager::setFilePrefix ( const IString rValue  )  [inline]

Sets the prefix of the librariy files

Retval MQUALIFIER zeus::TLibraryManager::createObject ( const IString rCodeModule,
const IString rClassName,
IZUnknown *&  rpIface 
) [virtual]

Retval MQUALIFIER zeus::TLibraryManager::registerXClass ( const IString rCodeModule,
const IString rClassName,
Uint &  rHandle 
) [virtual]

virtual Retval MQUALIFIER zeus::TLibraryManager::askForInterface ( Uint  uiInterfaceID,
IZUnknown *&  rpIface 
) [virtual]

Reimplemented from zeus::TZObject.

virtual void MQUALIFIER zeus::TLibraryManager::addRef (  )  const [virtual]

See also:
IZUnknown::addRef

Reimplemented from zeus::TZObject.

virtual void MQUALIFIER zeus::TLibraryManager::release (  )  const [virtual]

See also:
IZUnknown::release

Reimplemented from zeus::TZObject.


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


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Wed Oct 28 21:42:35 2009