diff --git a/src/framework/core/configs.cpp b/src/framework/core/configs.cpp new file mode 100644 index 00000000..b871055f --- /dev/null +++ b/src/framework/core/configs.cpp @@ -0,0 +1,35 @@ +#include "configs.h" +#include "resourcemanager.h" + +#include + +Configs g_configs; + +bool Configs::load(const std::string& fileName) +{ + m_fileName = fileName; + + if(!g_resources.fileExists(fileName)) + return false; + + try { + OTMLDocumentPtr doc = OTMLDocument::parse(fileName); + for(const OTMLNodePtr& child : doc->childNodes()) + m_confsMap[child->tag()] = child->value(); + } catch(std::exception& e) { + logError("ERROR: could not load configurations: ", e.what()); + return false; + } + + return true; +} + +bool Configs::save() +{ + if(!m_fileName.empty()) { + OTMLDocumentPtr doc = OTMLDocument::create(); + doc->write(m_confsMap); + return doc->save(m_fileName); + } + return false; +} diff --git a/src/framework/core/configs.h b/src/framework/core/configs.h new file mode 100644 index 00000000..097741f3 --- /dev/null +++ b/src/framework/core/configs.h @@ -0,0 +1,22 @@ +#ifndef CONFIGMANAGER_H +#define CONFIGMANAGER_H + +#include "declarations.h" + +class Configs +{ +public: + bool load(const std::string& fileName); + bool save(); + + void set(const std::string& key, const std::string& value) { m_confsMap[key] = value; } + std::string get(const std::string& key) { return m_confsMap[key]; } + +private: + std::string m_fileName; + std::map m_confsMap; +}; + +extern Configs g_configs; + +#endif diff --git a/src/otclient/core/.spritemanager.cpp.kate-swp b/src/otclient/core/.spritemanager.cpp.kate-swp new file mode 100644 index 00000000..29acdc97 Binary files /dev/null and b/src/otclient/core/.spritemanager.cpp.kate-swp differ