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

Public Types

enum  GroupType { CONTEXT_TYPE, BACKBONE_TYPE, ITERATE_TYPE, CONFIGURATION_TYPE }
 

Public Member Functions

const std::set< std::string > & getConfigurationMemberNames (void)
 
 ConfigurationManager (bool initForWriteAccess=false, bool initializeFromFhicl=false)
 
void init (std::string *accumulatedErrors=0, bool initForWriteAccess=false, std::string *accumulatedWarnings=0)
 
void destroy (void)
 
void destroyTableGroup (const std::string &theGroup="", bool onlyDeactivate=false)
 
void loadTableGroup (const std::string &configGroupName, TableGroupKey tableGroupKey, 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, bool onlyLoadIfBackboneOrContext=false)
 
void loadMemberMap (const std::map< std::string, TableVersion > &memberMap, std::string *accumulateWarnings=0)
 
TableGroupKey loadConfigurationBackbone (void)
 
template<class T >
const T * getTable (const std::string &tableName) const
 
const TableBasegetTableByName (const std::string &configurationName) const
 
void dumpActiveConfiguration (const std::string &filePath, const std::string &dumpType)
 
void dumpMacroMakerModeFhicl (void)
 
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 ConfigurationManager::GroupType &type=ConfigurationManager::GroupType::CONFIGURATION_TYPE) const
 
TableGroupKey getActiveGroupKey (const ConfigurationManager::GroupType &type=ConfigurationManager::GroupType::CONFIGURATION_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
 
const std::string & getOwnerContext (void)
 
const std::string & getOwnerApp (void)
 
bool isOwnerFirstAppInContext (void)
 
std::shared_ptr< TableGroupKeymakeTheTableGroupKey (TableGroupKey key)
 
void restoreActiveTableGroups (bool throwErrors=false, const std::string &pathToActiveGroupsFile="", bool onlyLoadIfBackboneOrContext=false, std::string *accumulatedWarnings=0)
 
void setOwnerContext (const std::string &contextUID)
 
void setOwnerApp (const std::string &appUID)
 

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 const std::string & convertGroupTypeToName (const ConfigurationManager::GroupType &groupTypeId)
 
static
ConfigurationManager::GroupType 
getTypeOfGroup (const std::map< std::string, TableVersion > &memberMap)
 
static const std::string & getTypeNameOfGroup (const std::map< std::string, TableVersion > &memberMap)
 
static void saveGroupNameAndKey (const std::pair< std::string, TableGroupKey > &theGroup, const std::string &fileName)
 
static std::pair< std::string,
TableGroupKey
loadGroupNameAndKey (const std::string &fileName, std::string &returnedTimeString)
 

Public Attributes

std::set< std::string > configurationMemberNames_
 

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 = "XDAQApplicationTable"
 
static const std::string XDAQ_APP_PROPERTY_TABLE_NAME = "XDAQApplicationPropertyTable"
 
static const std::string GROUP_ALIASES_TABLE_NAME = "GroupAliasesTable"
 
static const std::string VERSION_ALIASES_TABLE_NAME = "VersionAliasesTable"
 
static const std::string ARTDAQ_TOP_TABLE_NAME = "ARTDAQSupervisorTable"
 
static const std::string DESKTOP_ICON_TABLE_NAME = "DesktopIconTable"
 
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 std::string LAST_TABLE_GROUP_SAVE_PATH = std::string(__ENV__("SERVICE_DATA_PATH")) + "/RunControlData/"
 
static const std::string LAST_ACTIVATED_CONFIG_GROUP_FILE = "CFGLastActivatedConfigGroup.hist"
 
static const std::string LAST_ACTIVATED_CONTEXT_GROUP_FILE = "CFGLastActivatedContextGroup.hist"
 
static const std::string LAST_ACTIVATED_BACKBONE_GROUP_FILE = "CFGLastActivatedBackboneGroup.hist"
 
static const std::string LAST_ACTIVATED_ITERATOR_GROUP_FILE = "CFGLastActivatedIteratorGroup.hist"
 
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
 
class GatewaySupervisor
 

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") == ((void *)0) ) ? (std::string(__ENV__("USER_DATA")) + "/ServiceData") : (std::string(__ENV__("SERVICE_DATA_PATH")))) +
"/ActiveTableGroups.cfg"

Definition at line 29 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 59 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",
ConfigurationManager::DESKTOP_ICON_TABLE_NAME,
"MessageFacilityTable",
"GatewaySupervisorTable",
"StateMachineTable",
"DesktopWindowParameterTable",
"SlowControlsDashboardSupervisorTable"}

Definition at line 58 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 60 of file ConfigurationManager.h.


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