aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Arrskog <topfs2@xbmc.org>2011-05-17 20:45:41 +0200
committerTobias Arrskog <topfs2@xbmc.org>2011-05-20 13:53:36 +0200
commited993c30c498f689e16304acb1716cd36220c21f (patch)
treefe0e08cef5f739ffb723d514c16a82f67077304b
parentcca7425fc132362dfd9d310d3ee62a4ee014b243 (diff)
Added c_str and have size of variant work with strings
-rw-r--r--xbmc/utils/Variant.cpp10
-rw-r--r--xbmc/utils/Variant.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/xbmc/utils/Variant.cpp b/xbmc/utils/Variant.cpp
index c9c3ca55e9..c49cf232ed 100644
--- a/xbmc/utils/Variant.cpp
+++ b/xbmc/utils/Variant.cpp
@@ -405,6 +405,14 @@ void CVariant::append(CVariant variant)
push_back(variant);
}
+const char *CVariant::c_str() const
+{
+ if (m_type == VariantTypeString)
+ return m_data.string->c_str();
+ else
+ return NULL;
+}
+
void CVariant::swap(CVariant &rhs)
{
VariantType temp_type = m_type;
@@ -487,6 +495,8 @@ unsigned int CVariant::size() const
return m_data.map->size();
else if (m_type == VariantTypeArray)
return m_data.array->size();
+ else if (m_type == VariantTypeString)
+ return m_data.string->size();
else
return 0;
}
diff --git a/xbmc/utils/Variant.h b/xbmc/utils/Variant.h
index b344d749ca..9c69e441af 100644
--- a/xbmc/utils/Variant.h
+++ b/xbmc/utils/Variant.h
@@ -89,6 +89,8 @@ public:
void push_back(CVariant variant);
void append(CVariant variant);
+ const char *c_str() const;
+
void swap(CVariant &rhs);
private: