20 #include <znc/zncconfig.h>
46 return m_ConfigEntries.begin();
49 return m_ConfigEntries.end();
53 return m_SubConfigs.begin();
56 return m_SubConfigs.end();
60 if (sName.empty() || sValue.empty()) {
64 m_ConfigEntries[sName].push_back(sValue);
69 SubConfig::const_iterator it = conf.find(sName);
71 if (it != conf.end()) {
80 EntryMap::iterator it = m_ConfigEntries.find(sName);
82 if (it == m_ConfigEntries.end())
87 m_ConfigEntries.erase(it);
94 EntryMap::iterator it = m_ConfigEntries.find(sName);
96 if (it == m_ConfigEntries.end() || it->second.empty())
98 sRes = it->second.front();
99 it->second.erase(it->second.begin());
100 if (it->second.empty())
101 m_ConfigEntries.erase(it);
146 SubConfigMap::iterator it = m_SubConfigs.find(sName);
147 if (it == m_SubConfigs.end()) {
154 m_SubConfigs.erase(it);
161 return m_ConfigEntries.empty() && m_SubConfigs.empty();
165 void Write(
CFile& file,
unsigned int iIndentation = 0);
bool FindBoolEntry(const CString &sName, bool &bRes, bool bDefault=false)
Definition: Config.h:105
bool FindStringEntry(const CString &sName, CString &sRes, const CString &sDefault="")
Definition: Config.h:93
CConfigEntry & operator=(const CConfigEntry &other)
std::map< CString, SubConfig > SubConfigMap
Definition: Config.h:40
EntryMap::const_iterator EntryMapIterator
Definition: Config.h:42
bool FindStringVector(const CString &sName, VCString &vsList, bool bErase=true)
Definition: Config.h:79
void AddKeyValuePair(const CString &sName, const CString &sValue)
Definition: Config.h:59
std::map< CString, CConfigEntry > SubConfig
Definition: Config.h:39
bool FindDoubleEntry(const CString &sName, double &fRes, double fDefault=0)
Definition: Config.h:135
std::map< CString, VCString > EntryMap
Definition: Config.h:38
CConfig * m_pSubConfig
Definition: Config.h:33
bool empty() const
Definition: Config.h:160
Definition: FileUtils.h:30
std::vector< CString > VCString
Definition: ZNCString.h:37
SubConfigMap::const_iterator SubConfigMapIterator
Definition: Config.h:43
String class that is used inside ZNC.
Definition: ZNCString.h:67
bool AddSubConfig(const CString &sTag, const CString &sName, CConfig Config)
Definition: Config.h:67
bool FindSubConfig(const CString &sName, SubConfig &Config, bool bErase=true)
Definition: Config.h:145
bool FindUIntEntry(const CString &sName, unsigned int &uRes, unsigned int uDefault=0)
Definition: Config.h:115
unsigned int ToUInt() const
SubConfigMapIterator BeginSubConfigs() const
Definition: Config.h:52
EntryMapIterator BeginEntries() const
Definition: Config.h:45
bool FindUShortEntry(const CString &sName, unsigned short &uRes, unsigned short uDefault=0)
Definition: Config.h:125
unsigned short ToUShort() const
void Write(CFile &file, unsigned int iIndentation=0)
SubConfigMapIterator EndSubConfigs() const
Definition: Config.h:55
bool Parse(CFile &file, CString &sErrorMsg)
EntryMapIterator EndEntries() const
Definition: Config.h:48