OLD | NEW |
| (Empty) |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "ipc/mojo/ipc_mojo_param_traits.h" | |
6 | |
7 #include "ipc/ipc_message_utils.h" | |
8 #include "ipc/mojo/ipc_mojo_message_helper.h" | |
9 | |
10 namespace IPC { | |
11 | |
12 void ParamTraits<mojo::MessagePipeHandle>::Write(Message* m, | |
13 const param_type& p) { | |
14 WriteParam(m, p.is_valid()); | |
15 if (p.is_valid()) | |
16 MojoMessageHelper::WriteMessagePipeTo(m, mojo::ScopedMessagePipeHandle(p)); | |
17 } | |
18 | |
19 bool ParamTraits<mojo::MessagePipeHandle>::Read(const Message* m, | |
20 PickleIterator* iter, | |
21 param_type* r) { | |
22 bool is_valid; | |
23 if (!ReadParam(m, iter, &is_valid)) | |
24 return false; | |
25 if (!is_valid) | |
26 return true; | |
27 | |
28 mojo::ScopedMessagePipeHandle handle; | |
29 if (!MojoMessageHelper::ReadMessagePipeFrom(m, iter, &handle)) | |
30 return false; | |
31 *r = handle.release(); | |
32 return true; | |
33 } | |
34 | |
35 void ParamTraits<mojo::MessagePipeHandle>::Log(const param_type& p, | |
36 std::string* l) { | |
37 l->append("mojo::MessagePipeHandle("); | |
38 LogParam(p.value(), l); | |
39 l->append(")"); | |
40 } | |
41 | |
42 } // namespace IPC | |
OLD | NEW |