20 #ifndef OPENDAVINCI_CORE_BASE_KEYVALUECONFIGURATION_H_
21 #define OPENDAVINCI_CORE_BASE_KEYVALUECONFIGURATION_H_
34 #include "opendavinci/generated/odcore/data/LogMessage.h"
79 virtual int32_t getID()
const;
80 virtual const string getShortName()
const;
81 virtual const string getLongName()
const;
82 virtual const string toString()
const;
84 virtual ostream& operator<<(ostream &out)
const;
85 virtual istream& operator>>(istream &in);
94 ostream& writeTo(ostream &out)
const;
103 istream& readFrom(istream &in);
119 inline T
getValue(
const string &key)
const throw (exceptions::ValueForKeyNotFoundException) {
120 string stringValue(getValueFor(key));
121 if (stringValue ==
"") {
123 s <<
"Value for key '" << key <<
"' not found.";
127 stringstream s(stringValue);
148 string stringValue(getValueFor(key));
149 if (stringValue ==
"") {
153 s <<
"Value for optional key '" << key <<
"' not found.";
154 odcore::data::LogMessage lm(
"odcore::base::KeyValueConfiguration", odcore::data::LogMessage::LogLevel::INFO, s.str());
155 #pragma GCC diagnostic push
156 #pragma GCC diagnostic ignored "-Wuninitialized"
158 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
161 #pragma GCC diagnostic pop
164 stringstream s(stringValue);
194 const vector<string> getListOfKeys()
const;
197 map<string, string, odcore::strings::StringComparator> m_keyValueConfiguration;
206 string getValueFor(
string key)
const;
T getValue(const string &key) const
Definition: KeyValueConfiguration.h:119
T getOptionalValue(const string &key, bool &isFound) const
Definition: KeyValueConfiguration.h:147
#define OPENDAVINCI_API
Definition: opendavinci.h:67
Definition: SerializableData.h:36
#define OPENDAVINCI_CORE_THROW_EXCEPTION(ExceptionClass, ExceptionMessage)
Definition: opendavinci.h:209
Definition: KeyValueConfiguration.h:58