Chromium Code Reviews| Index: ipc/mojo/ipc_mojo_param_traits.cc |
| diff --git a/ipc/mojo/ipc_mojo_param_traits.cc b/ipc/mojo/ipc_mojo_param_traits.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8b5b7216c6bae70fd023c35f94a6b5460dc3d0a0 |
| --- /dev/null |
| +++ b/ipc/mojo/ipc_mojo_param_traits.cc |
| @@ -0,0 +1,40 @@ |
| +// Copyright (c) 2015 The Chromium Authors. All rights reserved. |
|
viettrungluu
2015/03/31 22:35:52
"
Hajime Morrita
2015/03/31 22:45:07
Done.
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "ipc/mojo/ipc_mojo_param_traits.h" |
| + |
| +#include "ipc/ipc_message_utils.h" |
| +#include "ipc/mojo/ipc_mojo_message_helper.h" |
| + |
| +namespace IPC { |
| + |
| +void ParamTraits<mojo::MessagePipeHandle>::Write(Message* m, |
| + const param_type& p) { |
| + ParamTraits<bool>::Write(m, p.is_valid()); |
| + if (p.is_valid()) |
| + MojoMessageHelper::WriteMessagePipeTo(m, mojo::ScopedMessagePipeHandle(p)); |
| +} |
| + |
| +bool ParamTraits<mojo::MessagePipeHandle>::Read(const Message* m, |
| + PickleIterator* iter, |
| + param_type* r) { |
| + bool is_valid; |
| + if (!ParamTraits<bool>::Read(m, iter, &is_valid)) |
| + return false; |
| + if (!is_valid) |
| + return true; |
| + |
| + mojo::ScopedMessagePipeHandle handle; |
| + if (!MojoMessageHelper::ReadMessagePipeFrom(m, iter, &handle)) |
| + return false; |
| + *r = handle.release(); |
| + return true; |
| +} |
| + |
| +void ParamTraits<mojo::MessagePipeHandle>::Log(const param_type& p, |
| + std::string* l) { |
| + l->append("MojoMessageHelper()"); |
|
viettrungluu
2015/03/31 22:35:52
Shouldn't you log something like mojo::MessagePipe
Hajime Morrita
2015/03/31 22:45:07
Oops...
|
| +} |
| + |
| +} // namespace IPC |