From 3ea07245f55a5cc473d080630c50a5d9a1f74c60 Mon Sep 17 00:00:00 2001 From: Sunwook Bae Date: Wed, 31 Jul 2013 19:28:58 +0900 Subject: [PATCH] Add an ArrayList to the IPC paramtraits Change-Id: I9401ce8164d9fae74ad06954d72b2135c27c60df Signed-off-by: Sunwook Bae --- src/io/inc/FIo_IpcCommonParamTraits.h | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/io/inc/FIo_IpcCommonParamTraits.h b/src/io/inc/FIo_IpcCommonParamTraits.h index 6525176..babed4e 100644 --- a/src/io/inc/FIo_IpcCommonParamTraits.h +++ b/src/io/inc/FIo_IpcCommonParamTraits.h @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include "FIo_IpcCommonDataTypes.h" @@ -196,6 +197,54 @@ struct ParamTraits }; template<> +struct ParamTraits > +{ + typedef Tizen::Base::Collection::ArrayListT param_type; + + static void Write(Message* m, const param_type& p) + { + int count = p.GetCount(); + Tizen::Base::String str; + + WriteParam(m, count); + + for (int i = 0; i < count; i++) + { + p.GetAt(i, str); + WriteParam(m, str); + } + } + + static bool Read(const Message* m, void** iter, param_type* r) + { + Tizen::Base::String str; + int count = 0; + + if (!m->ReadLength(iter, &count)) + { + return false; + } + + r->Construct(count); + + for (int i = 0; i < count; i++) + { + if (!ReadParam(m, iter, &str)) + { + return false; + } + r->Add(str); + } + + return true; + } + + static void Log(const param_type& p, std::string* l) + { + } +}; + +template<> struct ParamTraits { typedef Tizen::Base::Collection::HashMap param_type; -- 2.7.4