diff options
author | tsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-30 21:15:57 +0000 |
---|---|---|
committer | tsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-30 21:15:57 +0000 |
commit | c410e02b297c491b5ad1cf49606679edaf018dba (patch) | |
tree | 7887c4e7ac1819f78c8d02030b16366997c38448 /ipc/ipc_message_utils.cc | |
parent | 1c6a905fc512c9276e619af5c9fb7ad11369bc3b (diff) | |
download | chromium_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.cc | 43 |
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()); } |