summaryrefslogtreecommitdiff
path: root/orkbasecxx/serializers/Serializer.h
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2007-04-05 18:31:51 +0000
committerHenri Herscher <henri@oreka.org>2007-04-05 18:31:51 +0000
commit99f1724a10f8a892cb354d827fff7d21050eb8f3 (patch)
treec35eb053dfd1572a43132c3e237588b48badadbd /orkbasecxx/serializers/Serializer.h
parenta8610d8f625bc68dd37757128345265b9f49bdd4 (diff)
Added csv map serialization/deserialization capability.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@435 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasecxx/serializers/Serializer.h')
-rw-r--r--orkbasecxx/serializers/Serializer.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/orkbasecxx/serializers/Serializer.h b/orkbasecxx/serializers/Serializer.h
index 9c281f3..c8c3a43 100644
--- a/orkbasecxx/serializers/Serializer.h
+++ b/orkbasecxx/serializers/Serializer.h
@@ -46,6 +46,7 @@ public:
void EnumValue(const char* key, int& value, StringToEnumFunction, EnumToStringFunction, bool required = false);
virtual void ObjectValue(const char* key, Object& value, bool required = false) = 0;
void CsvValue(const char* key, std::list<CStdString>& value, bool required = false);
+ void CsvMapValue(const char* key, std::map<CStdString, CStdString>& value, bool required = false);
void DateValue(const char* key, time_t& value, bool required = false);
virtual void ListValue(const char* key, std::list<ObjectRef>& value, Object& model, bool required = false) = 0;
@@ -54,6 +55,7 @@ public:
void AddBool(const char* key, bool value);
void AddEnum(const char* key, int value, EnumToStringFunction);
void AddCsv(const char* key, std::list<CStdString>& value);
+ void AddCsvMap(const char* key, std::map<CStdString, CStdString>& value);
void AddDate(const char* key, time_t value);
virtual void AddString(const char* key, CStdString& value) = 0;
@@ -62,9 +64,15 @@ public:
void GetBool(const char* key, bool& value, bool required = false);
void GetEnum(const char* key, int& value, StringToEnumFunction, bool required = false);
void GetCsv(const char* key, std::list<CStdString>& value, bool required = false);
+ void GetCsvMap(const char* key, std::map<CStdString, CStdString>& value, bool required = false);
void GetDate(const char* key, time_t& value, bool required = false);
virtual void GetString(const char* key, CStdString& value, bool required = false) = 0;
+ void Serializer::EscapeCsv(CStdString& in, CStdString& out);
+ void Serializer::UnEscapeCsv(CStdString& in, CStdString& out);
+ void Serializer::EscapePair(CStdString& in, CStdString& out);
+ void Serializer::UnEscapePair(CStdString& in, CStdString& out);
+
protected:
Object* m_object;