]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/metadata.h
Mods: Combine mod loading checks and deprection logging (#11503)
[dragonfireclient.git] / src / metadata.h
index f923e6ff034312fb4ebb89e0192dd1af8dc0a154..5333f8a9d07470265bd57dcd5580b5bb6166ce8d 100644 (file)
@@ -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;
-
 };