zeus::TSecurityManager Class Reference

#include <SecurityManager.h>

Inheritance diagram for zeus::TSecurityManager:

zeus::TZObject zeus::ISecurityManager zeus::IZUnknown zeus::IZUnknown

List of all members.

Public Member Functions

void setDelegationInterface (ISecurityManager &rFactory)
void releaseDelegationInterface ()
Uint seal ()
Retval unseal (Uint uiSealHandle)
bool isSealed () const
void setMaxFileSize (Int iMaxSize)
Retval getModules (TStringList &rList)
Retval loadRegistry (const IString &rFileName)
Retval loadRegistry (const wchar_t *pwcFileName)
Retval registerModule (const IString &rName, const IString &rPath)
Retval unregisterModule (const IString &rName)
bool eval (const TFingerPrint &rPrint) const
bool evalCodeModule (const IString &rName, const IString &rPath) const
virtual bool MQUALIFIER isFunctionAllowed (Uint uiFunctionSecurityID) const
virtual Uint MQUALIFIER getUserSecurityID () const
virtual Retval MQUALIFIER setUserSecurityID (Uint uiUserID)
virtual Retval MQUALIFIER attachSecurityPlugin (const IString &rPluginName, ISecurityPlugin &rPlugin)
virtual Retval MQUALIFIER detachSecurityPlugin (const IString &rPluginName)
virtual Retval MQUALIFIER getSecurityPlugin (const IString &rPluginName, ISecurityPlugin *&rpPlugin) const
virtual Retval MQUALIFIER requestUserSecurityIDChange (const IString &rPluginName, Uint &ruiUserID)
virtual Retval MQUALIFIER askForInterface (Uint uiInterfaceID, IZUnknown *&rpIface)
virtual void MQUALIFIER addRef () const
virtual void MQUALIFIER release () const

Static Public Member Functions

static TSecurityManagergetInstance ()

Protected Member Functions

 TSecurityManager ()
virtual ~TSecurityManager ()


Detailed Description

The security manager is responsible for all security maners of the system

Constructor & Destructor Documentation

TSecurityManager::TSecurityManager (  )  [protected]

Creates the security manager

TSecurityManager::~TSecurityManager (  )  [protected, virtual]

Destroys the security manager


Member Function Documentation

void TSecurityManager::setDelegationInterface ( ISecurityManager rManager  ) 

Sets a delegation interface. All calls are delegated to this interface object.

Parameters:
rManager : Delegation

void TSecurityManager::releaseDelegationInterface (  ) 

Releases the delegation interface

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

Returns the signelton object

Uint TSecurityManager::seal (  ) 

this seals the security manager. After sealing it the security settings can not be changed any more. It returns a unique handle which can be used to unseal the manager.

Return values:
0 : could not seal the manager because it has been sealed already
> 0: Handle to unseal the manager

Retval TSecurityManager::unseal ( Uint  uiSealHandle  ) 

this unseals the security manager.

Parameters:
uiSealHandle : Handle must match the seal handle
Return values:
RET_NOERROR : manager has been unsealed
RET_ACCESS_DENIED,: Invalid handle

bool TSecurityManager::isSealed (  )  const

Checks if the security manager has been sealed

void TSecurityManager::setMaxFileSize ( Int  iMaxSize  ) 

Max size of file to evaluate

Parameters:
iMaxSize : max size

Retval TSecurityManager::getModules ( TStringList rList  ) 

Returns all registered module names of the security manager

Parameters:
rList : Return value
Return values:
RET_NOERROR : List returned
RET_INVALID_PARAMETER : Invalid parameter received
RET_ACCESS_DENIED : Security manager is sealed

Retval TSecurityManager::loadRegistry ( const IString rFileName  ) 

Loads the registry from a file

Parameters:
rFileName : Name of the file
Return values:
RET_REQUEST_FAILED : Could not load file
RET_NOERROR : File loaded;
RET_ACCESS_DENIED : Security manager is sealed

Retval zeus::TSecurityManager::loadRegistry ( const wchar_t *  pwcFileName  )  [inline]

Loads the registry from a file

Parameters:
strFileName : Name of the file
Return values:
RET_REQUEST_FAILED : Could not load file
RET_NOERROR : File loaded;

Retval TSecurityManager::registerModule ( const IString rName,
const IString rPath 
)

Registers a code module at the security registration

Parameters:
rName : Name of the code module
rPath : Path of the code module
Return values:
RET_NOERROR : Module registered
RET_INVALID_DATA : Module not found for registration
RET_REQUEST_FAILED : Module already registrated
RET_NOT_READY : Security data base not loaded
RET_ACCESS_DENIED : Security manager is sealed

Retval TSecurityManager::unregisterModule ( const IString rName  ) 

Unregisteres a code module from registry. This is nessesary if you have to register the same module with a new finger print.

Parameters:
rName : Name of the code module
Return values:
RET_NOERROR,: Code module removed
RET_REQUEST_FAILED : No such code module registered
RET_NOT_READY : Security data base not loaded
RET_ACCESS_DENIED : Security manager is sealed

bool TSecurityManager::eval ( const TFingerPrint rPrint  )  const

this method checks if a finger print is valid or not. The given finger rPrint will be evaluated with the entries inside the registry

Parameters:
print : Finger print to check
Return values:
true : Finger print is valid
false,: Finger print is not valid

bool TSecurityManager::evalCodeModule ( const IString rName,
const IString rPath 
) const

this method checks if the code module given by name and path is valid. This will generate the finger print itself.

Parameters:
rName : Name of the code module
rPath : path of the code module
Return values:
true : Finger print is valid
false,: Finger print is not valid

bool MQUALIFIER TSecurityManager::isFunctionAllowed ( Uint  uiFunctionSecurityID  )  const [virtual]

Uint MQUALIFIER TSecurityManager::getUserSecurityID (  )  const [virtual]

Retval MQUALIFIER TSecurityManager::setUserSecurityID ( Uint  uiUserID  )  [virtual]

Retval MQUALIFIER TSecurityManager::attachSecurityPlugin ( const IString rPluginName,
ISecurityPlugin rPlugin 
) [virtual]

Retval MQUALIFIER TSecurityManager::detachSecurityPlugin ( const IString rPluginName  )  [virtual]

Retval MQUALIFIER TSecurityManager::getSecurityPlugin ( const IString rPluginName,
ISecurityPlugin *&  rpPlugin 
) const [virtual]

Retval MQUALIFIER TSecurityManager::requestUserSecurityIDChange ( const IString rPluginName,
Uint &  ruiUserID 
) [virtual]

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

Reimplemented from zeus::TZObject.

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

See also:
IZUnknown::addRef

Reimplemented from zeus::TZObject.

virtual void MQUALIFIER zeus::TSecurityManager::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:33 2009