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

baci::BACIRecoveryManager Class Reference

#include <baciRecovery.h>

Collaboration diagram for baci::BACIRecoveryManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BACIRecoveryManager ()
 ~BACIRecoveryManager ()
void addRecoverableObject (RecoverableObject *object)
void updateRecoverableObject (RecoverableObject *object)
void removeRecoverableObject (RecoverableObject *object)
ACE_CString_Vector getObjectsStartingWith (const char *namePrefix)
char * getObjectState (const char *name)
char * generateObjectName (const char *namePrefix)

Static Public Member Functions

void loadRecovery (bool load)
void activatorName (const char *activatorName)
BACIRecoveryManagergetInstance (void)
void destroyInstance ()

Private Member Functions

void operator= (const BACIRecoveryManager &)
 BACIRecoveryManager (const BACIRecoveryManager &)

Private Attributes

recovery::RecoveryStorestore_mp

Static Private Attributes

BACIRecoveryManagerinstance_mp
bool load_m
const char * activatorName_mp

Detailed Description

Class which saves all BACI data needed to restore its state in cause of failure or unexpected terminatrion.
It uses RecoveryStore class from recovery module to store data. Since all data are coded to a ACE_CString, this class also provided data coding/decoding. There are only two structures to save, actually: monitors and events.
Author:
Matej Sekoranja, Jozef Stefan Institute, Slovenia
See also:
RecoverableObject


Constructor & Destructor Documentation

baci::BACIRecoveryManager::BACIRecoveryManager  ) 
 

Constructor

baci::BACIRecoveryManager::~BACIRecoveryManager  ) 
 

Destructor

baci::BACIRecoveryManager::BACIRecoveryManager const BACIRecoveryManager  )  [private]
 

ALMA C++ coding standards state copy constructors should be disabled.


Member Function Documentation

void baci::BACIRecoveryManager::activatorName const char *  activatorName  )  [static]
 

Set activator name.

Parameters:
activator name

void baci::BACIRecoveryManager::addRecoverableObject RecoverableObject object  ) 
 

Add object to recovery data

Parameters:
object object to be added to recovery data

void baci::BACIRecoveryManager::destroyInstance  )  [static]
 

Destroy static instance of BACIRecoveryManager (clean-up/delete recovery data)

char* baci::BACIRecoveryManager::generateObjectName const char *  namePrefix  ) 
 

Generates first free name starting with given prefix
Generation algorithm: namePrefix, namePrefix0, namePrefix1, etc.

Parameters:
namePrefix name prefix

BACIRecoveryManager* baci::BACIRecoveryManager::getInstance void   )  [static]
 

Get static instance of BACIRecoveryManager ("singleton" pattern)

Returns:
static instance

ACE_CString_Vector baci::BACIRecoveryManager::getObjectsStartingWith const char *  namePrefix  ) 
 

Get objects' names starting with given prefix

Parameters:
namePrefix name prefix

char* baci::BACIRecoveryManager::getObjectState const char *  name  ) 
 

Get object's stringified state

Parameters:
name object name

void baci::BACIRecoveryManager::loadRecovery bool  load  )  [static]
 

Set load recovery data switch

Parameters:
bool load

void baci::BACIRecoveryManager::operator= const BACIRecoveryManager  )  [private]
 

ALMA C++ coding standards state assignment operators should be disabled.

void baci::BACIRecoveryManager::removeRecoverableObject RecoverableObject object  ) 
 

Remove object from recovery data

Parameters:
object object to be removed from recovery data

void baci::BACIRecoveryManager::updateRecoverableObject RecoverableObject object  ) 
 

Update object to recovery data

Parameters:
object object to be updated in recovery data


Member Data Documentation

const char* baci::BACIRecoveryManager::activatorName_mp [static, private]
 

Activator name

BACIRecoveryManager* baci::BACIRecoveryManager::instance_mp [static, private]
 

Static instance of BACIRecoveryManager

bool baci::BACIRecoveryManager::load_m [static, private]
 

Load recovery data switch

recovery::RecoveryStore* baci::BACIRecoveryManager::store_mp [private]
 

Class which takes care of recovery data

See also:
RecoveryStore


The documentation for this class was generated from the following file:
Generated on Thu Apr 30 02:37:15 2009 for ACS C++ API by doxygen 1.3.8