diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-04 02:00:56 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-04 02:00:56 +0000 |
commit | a5da6d613f41ecf35c027e8744dd6d3a41e4010c (patch) | |
tree | dad6a3e159fcc21df62180f481a0024db97d5b0d /ipc | |
parent | e23ed5427d0892d07480781f45b4367adebc0c00 (diff) | |
download | chromium_src-a5da6d613f41ecf35c027e8744dd6d3a41e4010c.zip chromium_src-a5da6d613f41ecf35c027e8744dd6d3a41e4010c.tar.gz chromium_src-a5da6d613f41ecf35c027e8744dd6d3a41e4010c.tar.bz2 |
Cross-process Message Port implementation.
I'm sending this first, then I'll add support to workers in another changelist to avoid making this change larger.
TEST=running message port related layout tests in ui_tests
Review URL: http://codereview.chromium.org/159372
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22356 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_message_utils.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ipc/ipc_message_utils.h b/ipc/ipc_message_utils.h index 2b2ff91..f337814 100644 --- a/ipc/ipc_message_utils.h +++ b/ipc/ipc_message_utils.h @@ -517,6 +517,25 @@ struct ParamTraits<std::wstring> { } }; +template <class A, class B> +struct ParamTraits<std::pair<A, B> > { + typedef std::pair<A, B> param_type; + static void Write(Message* m, const param_type& p) { + WriteParam(m, p.first); + WriteParam(m, p.second); + } + static bool Read(const Message* m, void** iter, param_type* r) { + return ReadParam(m, iter, &r->first) && ReadParam(m, iter, &r->second); + } + static void Log(const param_type& p, std::wstring* l) { + l->append(L"("); + LogParam(p.first, l); + l->append(L", "); + LogParam(p.second, l); + l->append(L")"); + } +}; + // If WCHAR_T_IS_UTF16 is defined, then string16 is a std::wstring so we don't // need this trait. #if !defined(WCHAR_T_IS_UTF16) |