summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_message_utils.cc
diff options
context:
space:
mode:
authortsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 21:15:57 +0000
committertsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-30 21:15:57 +0000
commitc410e02b297c491b5ad1cf49606679edaf018dba (patch)
tree7887c4e7ac1819f78c8d02030b16366997c38448 /ipc/ipc_message_utils.cc
parent1c6a905fc512c9276e619af5c9fb7ad11369bc3b (diff)
downloadchromium_src-c410e02b297c491b5ad1cf49606679edaf018dba.zip
chromium_src-c410e02b297c491b5ad1cf49606679edaf018dba.tar.gz
chromium_src-c410e02b297c491b5ad1cf49606679edaf018dba.tar.bz2
Move ParamTraits<base::PlatformFileInfo> and <base::PlatformFileError>.
Move thse to ipc/ from content/common so that they may be used in directories parallel to content/. Pre-requisite for fixing the associated bug. BUG=127624 Review URL: https://chromiumcodereview.appspot.com/10442072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139636 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_message_utils.cc')
-rw-r--r--ipc/ipc_message_utils.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/ipc/ipc_message_utils.cc b/ipc/ipc_message_utils.cc
index 8f27c52..3caf2a4 100644
--- a/ipc/ipc_message_utils.cc
+++ b/ipc/ipc_message_utils.cc
@@ -251,6 +251,49 @@ void ParamTraits<unsigned short>::Log(const param_type& p, std::string* l) {
l->append(base::UintToString(p));
}
+void ParamTraits<base::PlatformFileInfo>::Write(
+ Message* m, const param_type& p) {
+ WriteParam(m, p.size);
+ WriteParam(m, p.is_directory);
+ WriteParam(m, p.last_modified.ToDoubleT());
+ WriteParam(m, p.last_accessed.ToDoubleT());
+ WriteParam(m, p.creation_time.ToDoubleT());
+}
+
+bool ParamTraits<base::PlatformFileInfo>::Read(
+ const Message* m, PickleIterator* iter, param_type* p) {
+ double last_modified;
+ double last_accessed;
+ double creation_time;
+ bool result =
+ ReadParam(m, iter, &p->size) &&
+ ReadParam(m, iter, &p->is_directory) &&
+ ReadParam(m, iter, &last_modified) &&
+ ReadParam(m, iter, &last_accessed) &&
+ ReadParam(m, iter, &creation_time);
+ if (result) {
+ p->last_modified = base::Time::FromDoubleT(last_modified);
+ p->last_accessed = base::Time::FromDoubleT(last_accessed);
+ p->creation_time = base::Time::FromDoubleT(creation_time);
+ }
+ return result;
+}
+
+void ParamTraits<base::PlatformFileInfo>::Log(
+ const param_type& p, std::string* l) {
+ l->append("(");
+ LogParam(p.size, l);
+ l->append(",");
+ LogParam(p.is_directory, l);
+ l->append(",");
+ LogParam(p.last_modified.ToDoubleT(), l);
+ l->append(",");
+ LogParam(p.last_accessed.ToDoubleT(), l);
+ l->append(",");
+ LogParam(p.creation_time.ToDoubleT(), l);
+ l->append(")");
+}
+
void ParamTraits<base::Time>::Write(Message* m, const param_type& p) {
ParamTraits<int64>::Write(m, p.ToInternalValue());
}