From: montellese Date: Thu, 24 Oct 2013 11:08:26 +0000 (+0200) Subject: CSettingAddon/Path: implement Clone() X-Git-Tag: Gotham_alpha10~168^2~4 X-Git-Url: http://code.vuplus.com/gitweb/?a=commitdiff_plain;h=183f3fdbfb7dd9b5901935e0616ef55c967bc0da;p=vuplus_xbmc CSettingAddon/Path: implement Clone() --- 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);