X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fmetadata.h;h=5333f8a9d07470265bd57dcd5580b5bb6166ce8d;hb=32cb9d0828828da3068259c9e0a3c0f5da170439;hp=f923e6ff034312fb4ebb89e0192dd1af8dc0a154;hpb=921151d97a2fb2238ab514324fb95e2732248b96;p=dragonfireclient.git diff --git a/src/metadata.h b/src/metadata.h index f923e6ff0..5333f8a9d 100644 --- a/src/metadata.h +++ b/src/metadata.h @@ -26,8 +26,9 @@ with this program; if not, write to the Free Software Foundation, Inc., class Metadata { + bool m_modified = false; public: - virtual ~Metadata() {} + virtual ~Metadata() = default; virtual void clear(); virtual bool empty() const; @@ -45,14 +46,18 @@ class Metadata size_t size() const; bool contains(const std::string &name) const; const std::string &getString(const std::string &name, u16 recursion = 0) const; + bool getStringToRef(const std::string &name, std::string &str, u16 recursion = 0) const; virtual bool setString(const std::string &name, const std::string &var); + inline bool removeString(const std::string &name) { return setString(name, ""); } const StringMap &getStrings() const { return m_stringvars; } // Add support for variable names in values const std::string &resolveString(const std::string &str, u16 recursion = 0) const; + + inline bool isModified() const { return m_modified; } + inline void setModified(bool v) { m_modified = v; } protected: StringMap m_stringvars; - };