blob: 4a71b5c96cd4c53332a5be17586c305e02f362d5 [file] [log] [blame]
morrita81b17e02015-02-06 00:58:301// Copyright (c) 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
amistryd4aa70d2016-06-23 07:52:375#ifndef IPC_IPC_MOJO_MESSAGE_HELPER_H_
6#define IPC_IPC_MOJO_MESSAGE_HELPER_H_
morrita81b17e02015-02-06 00:58:307
8#include "ipc/ipc_export.h"
9#include "ipc/ipc_message.h"
rockot85dce0862015-11-13 01:33:5910#include "mojo/public/cpp/system/message_pipe.h"
morrita81b17e02015-02-06 00:58:3011
12namespace IPC {
13
14// Reads and writes |mojo::MessagePipe| from/to |Message|.
amistryd4aa70d2016-06-23 07:52:3715class IPC_EXPORT MojoMessageHelper {
morrita81b17e02015-02-06 00:58:3016 public:
rockot502c94f2016-02-03 20:20:1617 static bool WriteMessagePipeTo(base::Pickle* message,
morrita81b17e02015-02-06 00:58:3018 mojo::ScopedMessagePipeHandle handle);
rockot502c94f2016-02-03 20:20:1619 static bool ReadMessagePipeFrom(const base::Pickle* message,
brettw05cfd8ddb2015-06-02 07:02:4720 base::PickleIterator* iter,
morrita81b17e02015-02-06 00:58:3021 mojo::ScopedMessagePipeHandle* handle);
22
23 private:
24 MojoMessageHelper();
25};
26
27} // namespace IPC
28
amistryd4aa70d2016-06-23 07:52:3729#endif // IPC_IPC_MOJO_MESSAGE_HELPER_H_