1 #ifndef _fwk_CentralConfig_h_
2 #define _fwk_CentralConfig_h_
4 #include <utl/AugerException.h>
12 #include <boost/iterator/transform_iterator.hpp>
13 #include <boost/program_options.hpp>
57 operator()(
const std::pair<std::string, ConfigLink>& pair)
const
58 {
return pair.first; }
69 const bool fingerprintFatal =
false,
70 const bool validate =
true);
91 typedef boost::transform_iterator<InternalIdFunctor,
108 static void Reset(
const std::string& bootstrapFileName,
109 const bool fingerprintFatal =
false,
110 const bool validate =
true);
125 void ReadConfig(
const std::string& bootstrapFile);
133 const int indent = 0,
const int indentIncrement = 2);
std::list< std::string > fMismatchedMd5List
const std::string & GetInstallPath() const
IdIterator IdsEnd()
Id's end.
static bool fgIsInitialized
void FillConfigTimeFingerMap()
void DescendAndReplace(utl::Branch replacement, utl::Branch &original)
void CheckFingerprints(const bool fingerprintFatal)
container for a file, file type id, and corresponding utl::Reader
std::string GetFileType() const
boost::transform_iterator< InternalIdFunctor, InternalConfigIterator, std::string > IdIterator
IdIterator returns a pointer to a config link Id.
std::string GetConfig()
Get configuration in a string.
void FillMap(const utl::Branch &branch)
static void Reset(const std::string &bootstrapFileName, const bool fingerprintFatal=false, const bool validate=true)
std::map< std::string, ConfigLink > fConfigMap
std::list< std::string > fNoMd5List
std::set< std::string > fUsedConfigs
static CentralConfig * fgInstance
utl::Branch Find(std::string path)
const char * GetLibraryPath()
Utility for parsing XML files.
Class representing a document branch.
void AbortParse(const std::string &s="")
std::multimap< std::string, std::string > fConfigTimeFingerMap
std::map< std::string, ConfigLink >::iterator InternalConfigIterator
void ReplaceParameters(const utl::Branch &)
void ReadConfig(const std::string &bootstrapFile)
utl::Reader * GetReader() const
std::string AsString(const utl::Branch &branch, const int indent=0, const int indentIncrement=2)
const utl::Reader * GetReader(const std::string &id)
Get the Reader for moduleConfigLink with given id (XML files)
std::string GetBootstrapUri()
utl::Reader * fBootstrapReader
std::set< std::string > fMd5Excludes
std::stringstream fConfigInfo
std::string operator()(const std::pair< std::string, ConfigLink > &pair) const
static CentralConfig * GetInstance()
Use this the first time you get an instance of central configuration.
std::string GetLink() const
Main configuration utility.
void WriteConfig(const std::string &fileName="")
Get the link name for moduleConfigLink with given id (any)
IdIterator IdsBegin()
Id's begin.
utl::Branch GetTopBranch(const std::string &id)
Get top branch for moduleConfigLink with given id (XML files)