From 183f3fdbfb7dd9b5901935e0616ef55c967bc0da Mon Sep 17 00:00:00 2001 From: montellese Date: Thu, 24 Oct 2013 13:08:26 +0200 Subject: [PATCH] CSettingAddon/Path: implement Clone() --- xbmc/settings/SettingAddon.cpp | 5 +++++ xbmc/settings/SettingAddon.h | 2 ++ xbmc/settings/SettingPath.cpp | 5 +++++ xbmc/settings/SettingPath.h | 2 ++ 4 files changed, 14 insertions(+) diff --git a/xbmc/settings/SettingAddon.cpp b/xbmc/settings/SettingAddon.cpp index e77a517..24bda86 100644 --- a/xbmc/settings/SettingAddon.cpp +++ b/xbmc/settings/SettingAddon.cpp @@ -38,6 +38,11 @@ CSettingAddon::CSettingAddon(const std::string &id, const CSettingAddon &setting copy(setting); } +CSetting* CSettingAddon::Clone(const std::string &id) const +{ + return new CSettingAddon(id, *this); +} + bool CSettingAddon::Deserialize(const TiXmlNode *node, bool update /* = false */) { CExclusiveLock lock(m_critical); diff --git a/xbmc/settings/SettingAddon.h b/xbmc/settings/SettingAddon.h index edb561f..2aecde6 100644 --- a/xbmc/settings/SettingAddon.h +++ b/xbmc/settings/SettingAddon.h @@ -29,6 +29,8 @@ public: CSettingAddon(const std::string &id, const CSettingAddon &setting); virtual ~CSettingAddon() { } + virtual CSetting* Clone(const std::string &id) const; + virtual bool Deserialize(const TiXmlNode *node, bool update = false); ADDON::TYPE GetAddonType() const { return m_addonType; } diff --git a/xbmc/settings/SettingPath.cpp b/xbmc/settings/SettingPath.cpp index eab1ebb..9a23ace 100644 --- a/xbmc/settings/SettingPath.cpp +++ b/xbmc/settings/SettingPath.cpp @@ -39,6 +39,11 @@ CSettingPath::CSettingPath(const std::string &id, const CSettingPath &setting) copy(setting); } +CSetting* CSettingPath::Clone(const std::string &id) const +{ + return new CSettingPath(id, *this); +} + bool CSettingPath::Deserialize(const TiXmlNode *node, bool update /* = false */) { CExclusiveLock lock(m_critical); diff --git a/xbmc/settings/SettingPath.h b/xbmc/settings/SettingPath.h index 9300b93..bfc95ea 100644 --- a/xbmc/settings/SettingPath.h +++ b/xbmc/settings/SettingPath.h @@ -30,6 +30,8 @@ public: CSettingPath(const std::string &id, const CSettingPath &setting); virtual ~CSettingPath() { } + virtual CSetting* Clone(const std::string &id) const; + virtual bool Deserialize(const TiXmlNode *node, bool update = false); virtual bool SetValue(const std::string &value); -- 2.7.4