chromium/mojo/core/ipcz_driver/shared_buffer.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef MOJO_CORE_IPCZ_DRIVER_SHARED_BUFFER_H_
#define MOJO_CORE_IPCZ_DRIVER_SHARED_BUFFER_H_

#include <cstdint>

#include "base/containers/span.h"
#include "base/memory/platform_shared_memory_region.h"
#include "base/memory/scoped_refptr.h"
#include "mojo/core/ipcz_driver/object.h"
#include "mojo/core/system_impl_export.h"
#include "mojo/public/cpp/platform/platform_handle.h"

namespace mojo::core::ipcz_driver {

// A SharedBuffer operates like Mojo Core's shared buffer object, as a weird
// thin wrapper around base's shared memory APIs. This exists to allow those
// objects to be boxed and transmitted through ipcz portals.
class MOJO_SYSTEM_IMPL_EXPORT SharedBuffer : public Object<SharedBuffer> {};

}  // namespace mojo::core::ipcz_driver

#endif  // MOJO_CORE_IPCZ_DRIVER_SHARED_BUFFER_H_