xref: /aosp_15_r20/external/libchrome/ipc/message_view.cc (revision 635a864187cb8b6c713ff48b7e790a6b21769273)
1*635a8641SAndroid Build Coastguard Worker // Copyright 2018 The Chromium Authors. All rights reserved.
2*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file.
4*635a8641SAndroid Build Coastguard Worker 
5*635a8641SAndroid Build Coastguard Worker #include "ipc/message_view.h"
6*635a8641SAndroid Build Coastguard Worker 
7*635a8641SAndroid Build Coastguard Worker namespace IPC {
8*635a8641SAndroid Build Coastguard Worker 
9*635a8641SAndroid Build Coastguard Worker MessageView::MessageView() = default;
10*635a8641SAndroid Build Coastguard Worker 
MessageView(const Message & message,base::Optional<std::vector<mojo::native::SerializedHandlePtr>> handles)11*635a8641SAndroid Build Coastguard Worker MessageView::MessageView(
12*635a8641SAndroid Build Coastguard Worker     const Message& message,
13*635a8641SAndroid Build Coastguard Worker     base::Optional<std::vector<mojo::native::SerializedHandlePtr>> handles)
14*635a8641SAndroid Build Coastguard Worker     : buffer_view_(base::make_span<const uint8_t>(
15*635a8641SAndroid Build Coastguard Worker           static_cast<const uint8_t*>(message.data()),
16*635a8641SAndroid Build Coastguard Worker           message.size())),
17*635a8641SAndroid Build Coastguard Worker       handles_(std::move(handles)) {}
18*635a8641SAndroid Build Coastguard Worker 
MessageView(mojo_base::BigBufferView buffer_view,base::Optional<std::vector<mojo::native::SerializedHandlePtr>> handles)19*635a8641SAndroid Build Coastguard Worker MessageView::MessageView(
20*635a8641SAndroid Build Coastguard Worker     mojo_base::BigBufferView buffer_view,
21*635a8641SAndroid Build Coastguard Worker     base::Optional<std::vector<mojo::native::SerializedHandlePtr>> handles)
22*635a8641SAndroid Build Coastguard Worker     : buffer_view_(std::move(buffer_view)), handles_(std::move(handles)) {}
23*635a8641SAndroid Build Coastguard Worker 
24*635a8641SAndroid Build Coastguard Worker MessageView::MessageView(MessageView&&) = default;
25*635a8641SAndroid Build Coastguard Worker 
26*635a8641SAndroid Build Coastguard Worker MessageView::~MessageView() = default;
27*635a8641SAndroid Build Coastguard Worker 
28*635a8641SAndroid Build Coastguard Worker MessageView& MessageView::operator=(MessageView&&) = default;
29*635a8641SAndroid Build Coastguard Worker 
30*635a8641SAndroid Build Coastguard Worker }  // namespace IPC
31