27 #ifndef NIDAS_CORE_PROJECTCONFIGS_H
28 #define NIDAS_CORE_PROJECTCONFIGS_H
38 #include <xercesc/dom/DOMElement.hpp>
39 #include <xercesc/dom/DOMException.hpp>
44 namespace nidas {
namespace core {
97 throw(nidas::util::InvalidParameterException);
101 throw(xercesc::DOMException);
105 throw(xercesc::DOMException);
145 const ProjectConfig* getConfig(
const std::string& name)
const
148 const std::list<const ProjectConfig*>& getConfigs()
const;
173 void parseXML(
const std::string& xmlFileName)
177 void writeXML(
const std::string& xmlFileName)
185 throw(xercesc::DOMException);
189 throw(xercesc::DOMException);
std::string _xmlName
Definition: ProjectConfigs.h:111
void initProject(Project &project) const
Definition: ProjectConfigs.cc:50
Definition: ProjectConfigs.h:48
A class for parsing, formatting and doing operations on time, based on Unix time conventions, where leap seconds are ignored, so that there are always 60 seconds in a minute, 3600 seconds in an hour and 86400 seconds in a day.
Definition: UTime.h:76
void setEndTime(const nidas::util::UTime &val)
Definition: ProjectConfigs.h:68
nidas::util::UTime _endTime
Definition: ProjectConfigs.h:115
void setXMLName(const std::string &val)
Definition: ProjectConfigs.h:60
Exception which can be built from an xerces::XMLException, xercesc::SAXException, or xercesc::DOMExce...
Definition: XMLException.h:43
void setName(const std::string &val)
Definition: ProjectConfigs.h:56
std::string _name
Definition: ProjectConfigs.h:109
const nidas::util::UTime & getBeginTime() const
Definition: ProjectConfigs.h:62
std::list< const ProjectConfig * > _constConfigs
Definition: ProjectConfigs.h:196
void fromDOMElement(const xercesc::DOMElement *)
Definition: ProjectConfigs.cc:341
std::map< std::string, std::string > _envVars
Definition: ProjectConfigs.h:117
Definition: ProjectConfigs.h:137
xercesc::DOMElement * toDOMElement(xercesc::DOMElement *node) const
Definition: ProjectConfigs.cc:432
const std::string & getName() const
Definition: ProjectConfigs.h:54
const nidas::util::UTime & getEndTime() const
Definition: ProjectConfigs.h:66
std::string _xmlName
Definition: ProjectConfigs.h:194
Sample time tag comparator.
Definition: ProjectConfigs.h:124
void setBeginTime(const nidas::util::UTime &val)
Definition: ProjectConfigs.h:64
Definition: IOException.h:37
std::list< ProjectConfig * > _configs
Definition: ProjectConfigs.h:198
std::map< std::string, std::string > getEnvironmentVariables() const
Definition: ProjectConfigs.h:79
xercesc::DOMElement * toDOMParent(xercesc::DOMElement *parent) const
Definition: ProjectConfigs.cc:421
ProjectConfig()
Definition: ProjectConfigs.cc:43
void addEnvironmentVariable(const std::string &name, const std::string &value)
Add an environment variable to this ProjectConfig.
Definition: ProjectConfigs.cc:324
nidas::util::UTime _beginTime
Definition: ProjectConfigs.h:113
void putenv() const
Update the process environment with the current list of environment variables in the ProjectConfig...
Definition: ProjectConfigs.cc:329
const std::string & getXMLName() const
Definition: ProjectConfigs.h:58
Definition: InvalidParameterException.h:35