Index: mojo/public/cpp/system/buffer.h |
diff --git a/mojo/public/cpp/system/buffer.h b/mojo/public/cpp/system/buffer.h |
deleted file mode 100644 |
index 68172973ca93a2c1355001d835c8cb3a7b3ec668..0000000000000000000000000000000000000000 |
--- a/mojo/public/cpp/system/buffer.h |
+++ /dev/null |
@@ -1,112 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef MOJO_PUBLIC_CPP_SYSTEM_BUFFER_H_ |
-#define MOJO_PUBLIC_CPP_SYSTEM_BUFFER_H_ |
- |
-#include <assert.h> |
- |
-#include "mojo/public/c/system/buffer.h" |
-#include "mojo/public/cpp/system/handle.h" |
-#include "mojo/public/cpp/system/macros.h" |
- |
-namespace mojo { |
- |
-// SharedBufferHandle ---------------------------------------------------------- |
- |
-class SharedBufferHandle : public Handle { |
- public: |
- SharedBufferHandle() {} |
- explicit SharedBufferHandle(MojoHandle value) : Handle(value) {} |
- |
- // Copying and assignment allowed. |
-}; |
- |
-static_assert(sizeof(SharedBufferHandle) == sizeof(Handle), |
- "Bad size for C++ SharedBufferHandle"); |
- |
-typedef ScopedHandleBase<SharedBufferHandle> ScopedSharedBufferHandle; |
-static_assert(sizeof(ScopedSharedBufferHandle) == sizeof(SharedBufferHandle), |
- "Bad size for C++ ScopedSharedBufferHandle"); |
- |
-inline MojoResult CreateSharedBuffer( |
- const MojoCreateSharedBufferOptions* options, |
- uint64_t num_bytes, |
- ScopedSharedBufferHandle* shared_buffer) { |
- assert(shared_buffer); |
- SharedBufferHandle handle; |
- MojoResult rv = |
- MojoCreateSharedBuffer(options, num_bytes, handle.mutable_value()); |
- // Reset even on failure (reduces the chances that a "stale"/incorrect handle |
- // will be used). |
- shared_buffer->reset(handle); |
- return rv; |
-} |
- |
-// TODO(vtl): This (and also the functions below) are templatized to allow for |
-// future/other buffer types. A bit "safer" would be to overload this function |
-// manually. (The template enforces that the in and out handles to be of the |
-// same type.) |
-template <class BufferHandleType> |
-inline MojoResult DuplicateBuffer( |
- BufferHandleType buffer, |
- const MojoDuplicateBufferHandleOptions* options, |
- ScopedHandleBase<BufferHandleType>* new_buffer) { |
- assert(new_buffer); |
- BufferHandleType handle; |
- MojoResult rv = MojoDuplicateBufferHandle( |
- buffer.value(), options, handle.mutable_value()); |
- // Reset even on failure (reduces the chances that a "stale"/incorrect handle |
- // will be used). |
- new_buffer->reset(handle); |
- return rv; |
-} |
- |
-template <class BufferHandleType> |
-inline MojoResult MapBuffer(BufferHandleType buffer, |
- uint64_t offset, |
- uint64_t num_bytes, |
- void** pointer, |
- MojoMapBufferFlags flags) { |
- assert(buffer.is_valid()); |
- return MojoMapBuffer(buffer.value(), offset, num_bytes, pointer, flags); |
-} |
- |
-inline MojoResult UnmapBuffer(void* pointer) { |
- assert(pointer); |
- return MojoUnmapBuffer(pointer); |
-} |
- |
-// A wrapper class that automatically creates a shared buffer and owns the |
-// handle. |
-class SharedBuffer { |
- public: |
- explicit SharedBuffer(uint64_t num_bytes); |
- SharedBuffer(uint64_t num_bytes, |
- const MojoCreateSharedBufferOptions& options); |
- ~SharedBuffer(); |
- |
- ScopedSharedBufferHandle handle; |
-}; |
- |
-inline SharedBuffer::SharedBuffer(uint64_t num_bytes) { |
- MojoResult result = CreateSharedBuffer(nullptr, num_bytes, &handle); |
- MOJO_ALLOW_UNUSED_LOCAL(result); |
- assert(result == MOJO_RESULT_OK); |
-} |
- |
-inline SharedBuffer::SharedBuffer( |
- uint64_t num_bytes, |
- const MojoCreateSharedBufferOptions& options) { |
- MojoResult result = CreateSharedBuffer(&options, num_bytes, &handle); |
- MOJO_ALLOW_UNUSED_LOCAL(result); |
- assert(result == MOJO_RESULT_OK); |
-} |
- |
-inline SharedBuffer::~SharedBuffer() { |
-} |
- |
-} // namespace mojo |
- |
-#endif // MOJO_PUBLIC_CPP_SYSTEM_BUFFER_H_ |