1#if !defined(ConfigParse_hxx)
27 const char*
name() const noexcept
override {
return "ConfigParse::Exception"; }
80 const Data& s = it->second;
81 for(
const auto kv : dict) {
88 std::cerr <<
"Invalid value for " << name <<
": " << s;
Wraps your platform's implementation of hash_map, hash_multimap, and hash_set.
The abstract base-class for all exceptions thrown by resip code.
const char * name() const noexcept override
Exception(const Data &msg, const Data &file, const int line)
virtual void printHelpText(int argc, char **argv)
unsigned short getConfigUnsignedShort(const resip::Data &name, int defaultValue) const
ConfigValuesMap mConfigValues
bool AddBasePathIfRequired(Data &filename) const
virtual void parseConfig(int argc, char **argv, const resip::Data &defaultConfigFilename)
void insertConfigValue(const resip::Data &name, const resip::Data &value)
HashMultiMap< resip::Data, resip::Data > ConfigValuesMap
resip::Data mConfigBasePath
ConfigValuesMap mCmdLineConfigValues
virtual void printHelpText(int argc, char **argv)=0
virtual void parseCommandLine(int argc, char **argv, int skipCount=0)
int getConfigInt(const resip::Data &name, int defaultValue) const
virtual void parseConfigFile(const resip::Data &filename)
NestedConfigMap getConfigNested(const resip::Data &mapsPrefix) const
resip::Data removePath(const resip::Data &fileAndPath) const
bool translateConfigValue(const std::map< T, resip::Data > dict, const resip::Data &name, T &value) const
void getConfigIndexKeys(const resip::Data &indexName, std::set< resip::Data > &keys) const
resip::Data getConfigData(const resip::Data &name, const resip::Data &defaultValue, bool useDefaultIfEmpty=false) const
resip::Data mCmdLineConfigFilename
HashMap< int, NestedConfigParse > NestedConfigMap
bool getConfigValue(const resip::Data &name, resip::Data &value) const
unsigned long getConfigUnsignedLong(const resip::Data &name, unsigned long defaultValue) const
ConfigValuesMap mFileConfigValues
bool getConfigBool(const resip::Data &name, bool defaultValue) const
friend EncodeStream & operator<<(EncodeStream &strm, const ConfigParse &config)
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Data & lowercase()
Converts this Data to lowercase.
size_type find(const Data &match, size_type start=0) const
Finds a specified sequence of bytes in this Data.
dcm! – add UnusedChecking(_enum) below;
bool isEqualNoCase(const Data &left, const Data &right)
EncodeStream & operator<<(EncodeStream &strm, const BaseException &e)