// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "ipc/message_mojom_traits.h" namespace mojo { // static base::span StructTraits::bytes( IPC::MessageView& view) { return view.bytes(); } // static std::optional> StructTraits::handles( IPC::MessageView& view) { return view.TakeHandles(); } // static bool StructTraits::Read( IPC::mojom::MessageDataView data, IPC::MessageView* out) { mojo::ArrayDataView bytes; data.GetBytesDataView(&bytes); std::optional> handles; if (!data.ReadHandles(&handles)) return false; *out = IPC::MessageView(bytes, std::move(handles)); return true; } } // namespace mojo