// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This file provides a C++ wrapping around the Mojo C API for shared buffers, // replacing the prefix of "Mojo" with a "mojo" namespace, and using more // strongly-typed representations of |MojoHandle|s. // // Please see "mojo/public/c/system/buffer.h" for complete documentation of the // API. #ifndef MOJO_PUBLIC_CPP_SYSTEM_BUFFER_H_ #define MOJO_PUBLIC_CPP_SYSTEM_BUFFER_H_ #include <stdint.h> #include <memory> #include "base/check_op.h" #include "base/compiler_specific.h" #include "mojo/public/c/system/buffer.h" #include "mojo/public/cpp/system/handle.h" #include "mojo/public/cpp/system/system_export.h" namespace mojo { namespace internal { struct Unmapper { … }; } // namespace internal ScopedSharedBufferMapping; class SharedBufferHandle; ScopedSharedBufferHandle; // A strongly-typed representation of a |MojoHandle| referring to a shared // buffer. class MOJO_CPP_SYSTEM_EXPORT SharedBufferHandle : public Handle { … }; static_assert …; static_assert …; } // namespace mojo #endif // MOJO_PUBLIC_CPP_SYSTEM_BUFFER_H_