CSettingAddon/Path: implement Clone()
authormontellese <montellese@xbmc.org>
Thu, 24 Oct 2013 11:08:26 +0000 (13:08 +0200)
committermontellese <montellese@xbmc.org>
Sat, 9 Nov 2013 14:40:39 +0000 (15:40 +0100)
xbmc/settings/SettingAddon.cpp
xbmc/settings/SettingAddon.h
xbmc/settings/SettingPath.cpp
xbmc/settings/SettingPath.h

index e77a517..24bda86 100644 (file)
@@ -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);
index edb561f..2aecde6 100644 (file)
@@ -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; }
index eab1ebb..9a23ace 100644 (file)
@@ -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);
index 9300b93..bfc95ea 100644 (file)
@@ -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);