tdaq-develop-2025-02-12
ots::ConfigurationManager Class Reference
Inheritance diagram for ots::ConfigurationManager:
ots::ConfigurationManagerRW

Public Types

enum class  GroupType {
  UNKNOWN_TYPE , CONTEXT_TYPE , BACKBONE_TYPE , ITERATE_TYPE ,
  CONFIGURATION_TYPE
}
 
enum class  LoadGroupType { ALL_TYPES , ONLY_BACKBONE_OR_CONTEXT_TYPES , ONLY_BACKBONE_TYPE }
 
typedef std::map< std::string, std::pair< std::pair< std::string, TableGroupKey >, std::map< std::string, TableVersion > > > lastGroupLoad_t
 

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)
 
std::string runTimeSeconds ()
 
void loadTableGroup (const std::string &tableGroupName, const 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, ConfigurationManager::LoadGroupType onlyLoadIfBackboneOrContext=ConfigurationManager::LoadGroupType::ALL_TYPES, bool ignoreVersionTracking=false)
 
void copyTableGroupFromCache (const ConfigurationManager &cacheConfigMgr, const std::map< std::string, TableVersion > &groupMembers, const std::string &configGroupName="", const TableGroupKey &tableGroupKey=TableGroupKey(TableGroupKey::INVALID), bool doActivate=false, bool ignoreVersionTracking=false)
 
std::pair< std::string, TableGroupKeygetGroupOfLoadedTable (const std::string &tableName) const
 
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, const std::string &configurationAlias, const std::string &logEntry, const std::string &activeUsers, std::ostream &altOut=std::cout)
 
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, TableGroupKeygetTableGroupFromAlias (std::string systemAlias, ProgressBar *progressBar=0)
 Getters. More...
 
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 lastGroupLoad_t & getLastTableGroups (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
 "root/parent/parent/"
 
std::map< std::string, ConfigurationTreegetNodes (const std::string &nodeString) 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
 
ConfigurationTree getGatewaySupervisorNode (void) const
 There can only be one active Gateway Superivsor app, so find it.
 
std::vector< std::pair< std::string, ConfigurationTree > > getChildren (std::map< std::string, TableVersion > *memberMap=0, std::string *accumulatedTreeErrors=0) const
 
std::map< std::string, ConfigurationTreegetChildrenMap (std::map< std::string, TableVersion > *memberMap=0, std::string *accumulatedTreeErrors=0) const
 
std::string getFirstPathToNode (const ConfigurationTree &node, const std::string &startPath="/") const
 getFirstPathToNode More...
 
std::map< std::string, TableVersiongetActiveVersions (void) const
 getActiveVersions
 
const std::string & getOwnerContext (void)
 
const std::string & getOwnerApp (void)
 
bool isOwnerFirstAppInContext (void)
 
std::map< std::string, std::pair< std::string, TableGroupKey > > getOtherSubsystemActiveTableGroups (const std::string &otherSubsystemUID, std::string *userDataPathPtr=nullptr, std::string *hostnamePtr=nullptr, std::string *usernamePtr=nullptr)
 
void getOtherSubsystemInstanceInfo (const std::string &otherSubsystemUID, std::string *userDataPathPtr=nullptr, std::string *hostnamePtr=nullptr, std::string *usernamePtr=nullptr, std::string *fullNamePtr=nullptr)
 
std::set< std::string > getOtherSubsystemConfigAliases (const std::string &otherSubsystemUID)
 Ignore any System Aliases with "Context" or "Iterat" in the name.
 
std::set< std::string > getOtherSubsystemFilteredConfigAliases (const std::string &otherSubsystemUID, const std::string &otherSubsystemFsmName)
 Ignore any System Aliases with "Context" or "Iterat" in the name.
 
void getOtherSubsystemConfigAliasInfo (const std::string &otherSubsystemUID, const std::string &configAlias, std::pair< std::string, TableGroupKey > &groupTranslation, std::string &groupComment, std::string &groupAuthor, std::string &groupCreationTime)
 returns configAlias translation group info by reference
 
std::shared_ptr< TableGroupKeymakeTheTableGroupKey (TableGroupKey key)
 Setters/Modifiers. More...
 
void restoreActiveTableGroups (bool throwErrors=false, const std::string &pathToActiveGroupsFile="", ConfigurationManager::LoadGroupType onlyLoadIfBackboneOrContext=ConfigurationManager::LoadGroupType::ALL_TYPES, 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, TableGroupKeyloadGroupNameAndKey (const std::string &fileName, std::string &returnedTimeString)
 

Public Attributes

std::set< std::string > configurationMemberNames_
 list of 'active' configuration members
 
std::chrono::steady_clock::time_point startClockTime_
 
std::chrono::steady_clock::time_point deltaClockTime_
 

Static Public Attributes

static const unsigned int PROCESSOR_COUNT
 Static members. More...
 
static const std::string READONLY_USER = "READONLY_USER"
 
static const std::string ACTIVE_GROUPS_FILENAME
 added env check for otsdaq_flatten_active_to_version to function More...
 
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 XDAQ_APP_PROPERTY_TABLE_NAME
 
static const std::string GROUP_ALIASES_TABLE_NAME = "GroupAliasesTable"
 
static const std::string VERSION_ALIASES_TABLE_NAME
 
static const std::string ARTDAQ_TOP_TABLE_NAME = "ARTDAQSupervisorTable"
 
static const std::string DESKTOP_ICON_TABLE_NAME = "DesktopIconTable"
 
static const std::string GROUP_TYPE_NAME_CONTEXT = "Context"
 
static const std::string GROUP_TYPE_NAME_BACKBONE = "Backbone"
 
static const std::string GROUP_TYPE_NAME_ITERATE = "Iterate"
 
static const std::string GROUP_TYPE_NAME_CONFIGURATION = "Configuration"
 
static const std::string GROUP_TYPE_NAME_UNKNOWN = "UNKNOWN"
 
static const std::string LAST_TABLE_GROUP_SAVE_PATH
 
static const std::string LAST_ACTIVATED_CONFIG_GROUP_FILE
 
static const std::string LAST_ACTIVATED_CONTEXT_GROUP_FILE
 
static const std::string LAST_ACTIVATED_BACKBONE_GROUP_FILE
 
static const std::string LAST_ACTIVATED_ITERATOR_GROUP_FILE
 
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_
 list of context members More...
 
static const std::set< std::string > backboneMemberNames_
 list of backbone members More...
 
static const std::set< std::string > iterateMemberNames_
 list of iterate members More...
 
static const std::string CONTEXT_SUBSYSTEM_OPTIONAL_TABLE
 
static const std::string UNKNOWN_INFO = "UNKNOWN"
 
static const std::string UNKNOWN_TIME = "0"
 

Protected Attributes

std::string mfSubject_
 

Friends

class ConfigurationManagerRW
 
class GatewaySupervisor
 

Detailed Description

Definition at line 21 of file ConfigurationManager.h.

Constructor & Destructor Documentation

◆ ConfigurationManager()

ConfigurationManager::ConfigurationManager ( bool  initForWriteAccess = false,
bool  initializeFromFhicl = false 
)

Construct/Destruct

Definition at line 103 of file ConfigurationManager.cc.

Member Function Documentation

◆ convertGroupTypeToName()

const std::string & ConfigurationManager::convertGroupTypeToName ( const ConfigurationManager::GroupType &  groupTypeId)
static

convertGroupTypeIdToName return translation: 0 for context 1 for backbone 2 for configuration (others)

Definition at line 596 of file ConfigurationManager.cc.

◆ copyTableGroupFromCache()

void ConfigurationManager::copyTableGroupFromCache ( const ConfigurationManager cacheConfigMgr,
const std::map< std::string, TableVersion > &  memberMap,
const std::string &  groupName = "",
const TableGroupKey groupKey = TableGroupKey(TableGroupKey::INVALID),
bool  doActivate = false,
bool  ignoreVersionTracking = false 
)

copyTableGroupFromCache() Used, for example, to copy tables from ConfigurationManager to another ConfigurationManager without making db requests

Definition at line 2164 of file ConfigurationManager.cc.

◆ destroyTableGroup()

void ConfigurationManager::destroyTableGroup ( const std::string &  theGroup = "",
bool  onlyDeactivate = false 
)

destroyTableGroup destroy all if theGroup == "" else destroy that group if onlyDeactivate, then don't delete, just deactivate view

Definition at line 464 of file ConfigurationManager.cc.

◆ dumpActiveConfiguration()

void ConfigurationManager::dumpActiveConfiguration ( const std::string &  filePath,
const std::string &  dumpType,
const std::string &  configurationAlias,
const std::string &  logEntry,
const std::string &  activeUsers,
std::ostream &  altOut = std::cout 
)

dumpActiveConfiguration if filePath == "", then output to cout

Definition at line 992 of file ConfigurationManager.cc.

◆ getActiveGroupAliases()

std::map< std::string, std::pair< std::string, TableGroupKey > > ConfigurationManager::getActiveGroupAliases ( void  )

Aliases are pulled from latest active Backbone group (i.e. the latest activated at the ConfigurationGUISupervisor)!

Definition at line 3263 of file ConfigurationManager.cc.

◆ getActiveTableGroups()

std::map< std::string, std::pair< std::string, TableGroupKey > > ConfigurationManager::getActiveTableGroups ( void  ) const

getActiveTableGroups get the active table groups map map<type, pair <groupName , TableGroupKey> >

Note: invalid TableGroupKey means no active group currently

Definition at line 2737 of file ConfigurationManager.cc.

◆ getChildren()

std::vector< std::pair< std::string, ConfigurationTree > > ConfigurationManager::getChildren ( std::map< std::string, TableVersion > *  memberMap = 0,
std::string *  accumulatedTreeErrors = 0 
) const

getChildren if memberMap is passed then only consider children in the map

if accumulatedTreeErrors is non null, check for disconnects occurs. check is 2 levels deep which should get to the links starting at tables.

Definition at line 2914 of file ConfigurationManager.cc.

◆ getChildrenMap()

std::map< std::string, ConfigurationTree > ConfigurationManager::getChildrenMap ( std::map< std::string, TableVersion > *  memberMap = 0,
std::string *  accumulatedTreeErrors = 0 
) const

getChildrenMap if memberMap is passed then only consider children in the map

if accumulatedTreeErrors is non null, check for disconnects occurs. check is 2 levels deep which should get to the links starting at tables.

Definition at line 3025 of file ConfigurationManager.cc.

◆ getFirstPathToNode()

std::string ConfigurationManager::getFirstPathToNode ( const ConfigurationTree node,
const std::string &  startPath = "/" 
) const

getFirstPathToNode

void ConfigurationManager::getFirstPathToNode(const ConfigurationTree &node, const ConfigurationTree &startNode) const

Definition at line 2899 of file ConfigurationManager.cc.

◆ getTable()

template<class T >
const T* ots::ConfigurationManager::getTable ( const std::string &  tableName) const
inline

getTable get configuration * with specific configuration type

Definition at line 165 of file ConfigurationManager.h.

◆ getTableByName()

const TableBase * ConfigurationManager::getTableByName ( const std::string &  tableName) const

getTableByName Get read-only pointer to configuration. If Read/Write access is needed use ConfigurationManagerWithWriteAccess (For general use, Write access should be avoided)

Definition at line 3133 of file ConfigurationManager.cc.

◆ getTableGroupFromAlias()

std::pair< std::string, TableGroupKey > ConfigurationManager::getTableGroupFromAlias ( std::string  systemAlias,
ProgressBar progressBar = 0 
)

Getters.

getTableGroupKey use backbone to determine default key for systemAlias.

  • runType translates to group key alias, which maps to a group name and key pair

NOTE: temporary special aliases are also allowed with the following format: GROUP:<name>:<key>

return INVALID on failure else, pair<group name , TableGroupKey>

Definition at line 3199 of file ConfigurationManager.cc.

◆ getTypeNameOfGroup()

const std::string & ConfigurationManager::getTypeNameOfGroup ( const std::map< std::string, TableVersion > &  memberMap)
static

getTypeNameOfGroup return string for group type

Definition at line 793 of file ConfigurationManager.cc.

◆ getTypeOfGroup()

ConfigurationManager::GroupType ConfigurationManager::getTypeOfGroup ( const std::map< std::string, TableVersion > &  memberMap)
static

getTypeOfGroup static return CONTEXT_TYPE for context BACKBONE_TYPE for backbone ITERATE_TYPE for iterate CONFIGURATION_TYPE for configuration (others)

Definition at line 618 of file ConfigurationManager.cc.

◆ getVersionAliases()

std::map< std::string, std::map< std::string, TableVersion > > ConfigurationManager::getVersionAliases ( void  ) const

Note: this ConfigurationManager::getVersionAliases is called internally and by ConfigurationManagerRW::getVersionAliases

getVersionAliases() get version aliases organized by table, for currently active backbone tables

Definition at line 3292 of file ConfigurationManager.cc.

◆ init()

void ConfigurationManager::init ( std::string *  accumulatedErrors = 0,
bool  initForWriteAccess = false,
std::string *  accumulatedWarnings = 0 
)

init if accumulatedErrors is not null.. fill it with errors else throw errors (but do not ask restoreActiveTableGroups to throw errors) Notes: Errors are handled separately from Warnings. Errors are used to monitor errors but do not allow, and warnings are used to allow warnings and monitor.

Definition at line 230 of file ConfigurationManager.cc.

◆ loadConfigurationBackbone()

TableGroupKey ConfigurationManager::loadConfigurationBackbone ( void  )

loadConfigurationBackbone loads the active backbone configuration group returns the active group key that was loaded

Definition at line 3171 of file ConfigurationManager.cc.

◆ loadGroupNameAndKey()

std::pair< std::string, TableGroupKey > ConfigurationManager::loadGroupNameAndKey ( const std::string &  fileName,
std::string &  returnedTimeString 
)
static

loadGroupNameAndKey static loads group name and key (and time) from specified file returns time string in returnedTimeString

Note: this is static so the GatewaySupervisor and WizardSupervisor can call it

Definition at line 4537 of file ConfigurationManager.cc.

◆ loadMemberMap()

void ConfigurationManager::loadMemberMap ( const std::map< std::string, TableVersion > &  memberMap,
std::string *  accumulatedWarnings = 0 
)

loadMemberMap loads tables given by name/version pairs in memberMap Note: does not activate them.

if accumulateWarnings, then put in string, do not throw

Definition at line 1223 of file ConfigurationManager.cc.

◆ loadTableGroup()

void ConfigurationManager::loadTableGroup ( const std::string &  groupName,
const TableGroupKey groupKey,
bool  doActivate = false,
std::map< std::string, TableVersion > *  groupMembers = 0,
ProgressBar progressBar = 0,
std::string *  accumulatedWarnings = 0,
std::string *  groupComment = 0,
std::string *  groupAuthor = 0,
std::string *  groupCreateTime = 0,
bool  doNotLoadMembers = false,
std::string *  groupTypeString = 0,
std::map< std::string, std::string > *  groupAliases = 0,
ConfigurationManager::LoadGroupType  onlyLoadIfBackboneOrContext = ConfigurationManager::LoadGroupType::ALL_TYPES,
bool  ignoreVersionTracking = false 
)

loadTableGroup load all members of configuration group if doActivate DOES set theConfigurationTableGroup_, theContextTableGroup_, or theBackboneTableGroup_ on success this also happens with ConfigurationManagerRW::activateTableGroup for each member configBase->init()

if progressBar != 0, then do step handling, for finer granularity

if(doNotLoadMembers) return memberMap; //this is useful if just getting group metadata

else NOTE: active views are changed! (when loading member map)

Regarding Member Table Aliases: alias names are tracked in the metadata table, however! The group member versions are decided at group save time (loadTableGroup should always return the same groupName -> memberMap translation). The group member versions do not undergo alias translation at load time (i.e. loadTableGroup). The alias map can be retrieved using the groupAliases parameter.

throws exception on failure. if accumulatedTreeErrors, then "ignore warnings"

Definition at line 1512 of file ConfigurationManager.cc.

◆ makeTheTableGroupKey()

std::shared_ptr< TableGroupKey > ConfigurationManager::makeTheTableGroupKey ( TableGroupKey  key)

Setters/Modifiers.

============================================================================== const DACStream& ConfigurationManager::getDACStream(std::string fecName)

Definition at line 3382 of file ConfigurationManager.cc.

◆ restoreActiveTableGroups()

void ConfigurationManager::restoreActiveTableGroups ( bool  throwErrors = false,
const std::string &  pathToActiveGroupsFile = "",
ConfigurationManager::LoadGroupType  onlyLoadIfBackboneOrContext = ConfigurationManager::LoadGroupType::ALL_TYPES,
std::string *  accumulatedWarnings = 0 
)

restoreActiveTableGroups load the active groups from file Note: this should be used by the Supervisor to maintain the same configurationGroups surviving software system restarts

Definition at line 281 of file ConfigurationManager.cc.

Friends And Related Function Documentation

◆ ConfigurationManagerRW

friend class ConfigurationManagerRW
friend

ConfigurationManagerRW is a "Friend" class of ConfigurationManager so has access to private members.

Definition at line 25 of file ConfigurationManager.h.

Member Data Documentation

◆ ACTIVE_GROUPS_FILENAME

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"

added env check for otsdaq_flatten_active_to_version to function

Definition at line 40 of file ConfigurationManager.h.

◆ backboneMemberNames_

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

list of backbone members

Definition at line 70 of file ConfigurationManager.h.

◆ CONTEXT_SUBSYSTEM_OPTIONAL_TABLE

const std::string ConfigurationManager::CONTEXT_SUBSYSTEM_OPTIONAL_TABLE
static
Initial value:
=
"SubsystemUserDataPathsTable"

Definition at line 75 of file ConfigurationManager.h.

◆ contextMemberNames_

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"}

list of context members

Definition at line 69 of file ConfigurationManager.h.

◆ iterateMemberNames_

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

list of iterate members

Definition at line 71 of file ConfigurationManager.h.

◆ LAST_ACTIVATED_BACKBONE_GROUP_FILE

const std::string ConfigurationManager::LAST_ACTIVATED_BACKBONE_GROUP_FILE
static
Initial value:
=
"CFGLastActivatedBackboneGroup.hist"

Definition at line 61 of file ConfigurationManager.h.

◆ LAST_ACTIVATED_CONFIG_GROUP_FILE

const std::string ConfigurationManager::LAST_ACTIVATED_CONFIG_GROUP_FILE
static
Initial value:
=
"CFGLastActivatedConfigGroup.hist"

Definition at line 59 of file ConfigurationManager.h.

◆ LAST_ACTIVATED_CONTEXT_GROUP_FILE

const std::string ConfigurationManager::LAST_ACTIVATED_CONTEXT_GROUP_FILE
static
Initial value:
=
"CFGLastActivatedContextGroup.hist"

Definition at line 60 of file ConfigurationManager.h.

◆ LAST_ACTIVATED_ITERATOR_GROUP_FILE

const std::string ConfigurationManager::LAST_ACTIVATED_ITERATOR_GROUP_FILE
static
Initial value:
=
"CFGLastActivatedIteratorGroup.hist"

Definition at line 62 of file ConfigurationManager.h.

◆ LAST_TABLE_GROUP_SAVE_PATH

const std::string ConfigurationManager::LAST_TABLE_GROUP_SAVE_PATH
static
Initial value:
=
((getenv("SERVICE_DATA_PATH") == ((void *)0) )
? (std::string(__ENV__("USER_DATA")) + "/ServiceData")
: (std::string(__ENV__("SERVICE_DATA_PATH")))) +
"/RunControlData/"

Definition at line 58 of file ConfigurationManager.h.

◆ PROCESSOR_COUNT

const unsigned int ConfigurationManager::PROCESSOR_COUNT
static
Initial value:
=
std::thread::hardware_concurrency()

Static members.

may return 0 when not able to detect number of processors

Definition at line 37 of file ConfigurationManager.h.

◆ startClockTime_

std::chrono::steady_clock::time_point ots::ConfigurationManager::startClockTime_

Getters

Definition at line 122 of file ConfigurationManager.h.

◆ VERSION_ALIASES_TABLE_NAME

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

Definition at line 48 of file ConfigurationManager.h.

◆ XDAQ_APP_PROPERTY_TABLE_NAME

const std::string ConfigurationManager::XDAQ_APP_PROPERTY_TABLE_NAME
static
Initial value:
=
"XDAQApplicationPropertyTable"

Definition at line 46 of file ConfigurationManager.h.

◆ XDAQ_APPLICATION_TABLE_NAME

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

Definition at line 45 of file ConfigurationManager.h.


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