Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes

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)
const char * getObjectState (const char *name)
char * generateObjectName (const char *namePrefix)

Static Public Member Functions

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

Private Member Functions

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

Private Attributes

recovery::RecoveryStorestore_mp

Static Private Attributes

static BACIRecoveryManagerinstance_mp
static bool load_m
static 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

static 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
static 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
static 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
const char* baci::BACIRecoveryManager::getObjectState ( const char *  name  ) 

Get object's stringified state

Parameters:
name object name
static 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

Static instance of BACIRecoveryManager

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

Load recovery data switch

Class which takes care of recovery data

See also:
RecoveryStore

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