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.
5 #include "ipc/mojo/ipc_mojo_param_traits.h"
7 #include "ipc/ipc_message_utils.h"
8 #include "ipc/mojo/ipc_mojo_message_helper.h"
12 void ParamTraits
<mojo::MessagePipeHandle
>::Write(Message
* m
,
13 const param_type
& p
) {
14 WriteParam(m
, p
.is_valid());
16 MojoMessageHelper::WriteMessagePipeTo(m
, mojo::ScopedMessagePipeHandle(p
));
19 bool ParamTraits
<mojo::MessagePipeHandle
>::Read(const Message
* m
,
20 base::PickleIterator
* iter
,
23 if (!ReadParam(m
, iter
, &is_valid
))
28 mojo::ScopedMessagePipeHandle handle
;
29 if (!MojoMessageHelper::ReadMessagePipeFrom(m
, iter
, &handle
))
31 DCHECK(handle
.is_valid());
32 *r
= handle
.release();
36 void ParamTraits
<mojo::MessagePipeHandle
>::Log(const param_type
& p
,
38 l
->append("mojo::MessagePipeHandle(");
39 LogParam(p
.value(), l
);