otsdaq  v2_03_00
ots::ConfigurationManager Class Reference
Inheritance diagram for ots::ConfigurationManager:
ots::ConfigurationManagerRW

Public Types

enum  { CONTEXT_TYPE, BACKBONE_TYPE, ITERATE_TYPE, CONFIGURATION_TYPE }
 

Public Member Functions

void init (std::string *accumulatedErrors=0)
 
void destroy (void)
 
void destroyTableGroup (const std::string &theGroup="", bool onlyDeactivate=false)
 
void loadTableGroup (const std::string &configGroupName, TableGroupKey configGroupKey, bool doActivate=false, std::map< std::string, TableVersion > *groupMembers=0, ProgressBar *progressBar=0, std::string *accumulateWarnings=0, std::string *groupComment=0, std::string *groupAuthor=0, std::string *groupCreateTime=0, bool doNotLoadMember=false, std::string *groupTypeString=0, std::map< std::string, std::string > *groupAliases=0)
 
void loadMemberMap (const std::map< std::string, TableVersion > &memberMap)
 
TableGroupKey loadConfigurationBackbone (void)
 
template<class T >
const T * getTable (std::string name) const
 
const TableBasegetTableByName (const std::string &configurationName) const
 
void dumpActiveConfiguration (const std::string &filePath, const std::string &dumpType)
 
std::map< std::string,
std::pair< std::string,
TableGroupKey > > 
getActiveGroupAliases (void)
 
std::map< std::string,
std::map< std::string,
TableVersion > > 
getVersionAliases (void) const
 
std::pair< std::string,
TableGroupKey
getTableGroupFromAlias (std::string systemAlias, ProgressBar *progressBar=0)
 
std::map< std::string,
std::pair< std::string,
TableGroupKey > > 
getActiveTableGroups (void) const
 
const std::map< std::string,
std::pair< std::string,
TableGroupKey > > & 
getFailedTableGroups (void) const
 
const std::string & getActiveGroupName (const std::string &type="") const
 
TableGroupKey getActiveGroupKey (const std::string &type="") const
 
ConfigurationTree getNode (const std::string &nodeString, bool doNotThrowOnBrokenUIDLinks=false) const
 
ConfigurationTree getContextNode (const std::string &contextUID, const std::string &applicationUID) const
 
ConfigurationTree getSupervisorNode (const std::string &contextUID, const std::string &applicationUID) const
 
ConfigurationTree getSupervisorTableNode (const std::string &contextUID, const std::string &applicationUID) const
 
std::vector< std::pair
< std::string,
ConfigurationTree > > 
getChildren (std::map< std::string, TableVersion > *memberMap=0, std::string *accumulatedTreeErrors=0) const
 
std::string getFirstPathToNode (const ConfigurationTree &node, const std::string &startPath="/") const
 
std::map< std::string,
TableVersion
getActiveVersions (void) const
 
std::shared_ptr< TableGroupKeymakeTheTableGroupKey (TableGroupKey key)
 
void restoreActiveTableGroups (bool throwErrors=false, const std::string &pathToActiveGroupsFile="")
 

Static Public Member Functions

static const std::set
< std::string > & 
getContextMemberNames (void)
 
static const std::set
< std::string > & 
getBackboneMemberNames (void)
 
static const std::set
< std::string > & 
getIterateMemberNames (void)
 
static std::string encodeURIComponent (const std::string &sourceStr)
 
static const std::string & convertGroupTypeIdToName (int groupTypeId)
 
static int getTypeOfGroup (const std::map< std::string, TableVersion > &memberMap)
 
static const std::string & getTypeNameOfGroup (const std::map< std::string, TableVersion > &memberMap)
 

Static Public Attributes

static const std::string READONLY_USER = "READONLY_USER"
 
static const std::string ACTIVE_GROUPS_FILENAME
 
static const std::string ALIAS_VERSION_PREAMBLE = "ALIAS:"
 
static const std::string SCRATCH_VERSION_ALIAS = "Scratch"
 
static const std::string XDAQ_CONTEXT_TABLE_NAME = "XDAQContextTable"
 
static const std::string XDAQ_APPLICATION_TABLE_NAME
 
static const std::string GROUP_ALIASES_TABLE_NAME = "GroupAliasesTable"
 
static const std::string VERSION_ALIASES_TABLE_NAME
 
static const std::string ACTIVE_GROUP_NAME_CONTEXT = "Context"
 
static const std::string ACTIVE_GROUP_NAME_BACKBONE = "Backbone"
 
static const std::string ACTIVE_GROUP_NAME_ITERATE = "Iterate"
 
static const std::string ACTIVE_GROUP_NAME_CONFIGURATION = "Configuration"
 
static const std::string ACTIVE_GROUP_NAME_UNKNOWN = "Unknown"
 
static const uint8_t METADATA_COL_ALIASES = 1
 
static const uint8_t METADATA_COL_COMMENT = 2
 
static const uint8_t METADATA_COL_AUTHOR = 3
 
static const uint8_t METADATA_COL_TIMESTAMP = 4
 
static const std::set
< std::string > 
contextMemberNames_
 
static const std::set
< std::string > 
backboneMemberNames_
 
static const std::set
< std::string > 
iterateMemberNames_
 

Friends

class ConfigurationManagerRW
 

Detailed Description

Definition at line 18 of file ConfigurationManager.h.

Member Data Documentation

const std::string ConfigurationManager::ACTIVE_GROUPS_FILENAME
static
Initial value:
=
((getenv("SERVICE_DATA_PATH") == NULL)
? (std::string(getenv("USER_DATA")) + "/ServiceData")
: (std::string(getenv("SERVICE_DATA_PATH")))) +
"/ActiveTableGroups.cfg"

Definition at line 28 of file ConfigurationManager.h.

const std::set< std::string > ConfigurationManager::backboneMemberNames_
static
Initial value:
= {
ConfigurationManager::GROUP_ALIASES_TABLE_NAME,
ConfigurationManager::VERSION_ALIASES_TABLE_NAME}

Definition at line 49 of file ConfigurationManager.h.

const std::set< std::string > ConfigurationManager::contextMemberNames_
static
Initial value:
= {
ConfigurationManager::XDAQ_CONTEXT_TABLE_NAME,
ConfigurationManager::XDAQ_APPLICATION_TABLE_NAME,
"XDAQApplicationPropertyTable",
"DesktopIconTable",
"MessageFacilityTable",
"GatewaySupervisorTable",
"StateMachineTable",
"DesktopWindowParameterTable"}

Definition at line 48 of file ConfigurationManager.h.

const std::set< std::string > ConfigurationManager::iterateMemberNames_
static
Initial value:
= {
"IterateTable",
"IterationPlanTable",
"IterationTargetTable",
"IterationCommandBeginLabelTable",
"IterationCommandChooseFSMTable",
"IterationCommandConfigureAliasTable",
"IterationCommandConfigureGroupTable",
"IterationCommandExecuteFEMacroTable",
"IterationCommandExecuteMacroTable",
"IterationCommandMacroDimensionalLoopTable",
"IterationCommandMacroDimensionalLoopParameterTable",
"IterationCommandModifyGroupTable",
"IterationCommandRepeatLabelTable",
"IterationCommandRunTable"}

Definition at line 50 of file ConfigurationManager.h.

const std::string ConfigurationManager::VERSION_ALIASES_TABLE_NAME
static
Initial value:
=
"VersionAliasesTable"

Definition at line 35 of file ConfigurationManager.h.

const std::string ConfigurationManager::XDAQ_APPLICATION_TABLE_NAME
static
Initial value:
=
"XDAQApplicationTable"

Definition at line 33 of file ConfigurationManager.h.


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