Public Member Functions | Static Public Member Functions | Protected Member Functions

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)
Retval removeAllPlugins ()
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 (const InterfaceID &rInterfaceID, 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

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

Reimplemented from zeus::TZObject.

virtual Retval MQUALIFIER zeus::TSecurityManager::askForInterface ( const InterfaceID rInterfaceID,
IZUnknown *&  rpIface 
) [virtual]
See also:
IZUnknown::askForInterface

Reimplemented from zeus::TZObject.

Retval MQUALIFIER TSecurityManager::attachSecurityPlugin ( const IString rPluginName,
ISecurityPlugin rPlugin 
) [virtual]
Retval MQUALIFIER TSecurityManager::detachSecurityPlugin ( const IString rPluginName ) [virtual]
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:
rPrint: 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
TSecurityManager & zeus::TSecurityManager::getInstance (  ) [inline, static]

Returns the signelton object

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 MQUALIFIER TSecurityManager::getSecurityPlugin ( const IString rPluginName,
ISecurityPlugin *&  rpPlugin 
) const [virtual]
Uint MQUALIFIER TSecurityManager::getUserSecurityID (  ) const [virtual]
bool MQUALIFIER TSecurityManager::isFunctionAllowed ( Uint  uiFunctionSecurityID ) const [virtual]
bool TSecurityManager::isSealed (  ) const

Checks if the security manager has been 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:
pwcFileName: 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
virtual void MQUALIFIER zeus::TSecurityManager::release (  ) const [virtual]
See also:
IZUnknown::release

Reimplemented from zeus::TZObject.

void TSecurityManager::releaseDelegationInterface (  )

Releases the delegation interface

Retval TSecurityManager::removeAllPlugins (  )

Remove all security plugins

Retval MQUALIFIER TSecurityManager::requestUserSecurityIDChange ( const IString rPluginName,
Uint &  ruiUserID 
) [virtual]
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
void TSecurityManager::setDelegationInterface ( ISecurityManager rManager )

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

Parameters:
rManager: Delegation
void TSecurityManager::setMaxFileSize ( Int  iMaxSize )

Max size of file to evaluate

Parameters:
iMaxSize: max size
Retval MQUALIFIER TSecurityManager::setUserSecurityID ( Uint  uiUserID ) [virtual]
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
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

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:28:32