Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: third_party/mojo/src/mojo/public/cpp/system/buffer.h

Issue 883843002: Update mojo sdk to rev 126532ce21c5c3c55a1e1693731411cb60169efd (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Response to review Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/mojo/src/mojo/public/cpp/system/buffer.h
diff --git a/third_party/mojo/src/mojo/public/cpp/system/buffer.h b/third_party/mojo/src/mojo/public/cpp/system/buffer.h
index 68172973ca93a2c1355001d835c8cb3a7b3ec668..9458c0aec7bd804f7027a5c1c897f206b0a2daa4 100644
--- a/third_party/mojo/src/mojo/public/cpp/system/buffer.h
+++ b/third_party/mojo/src/mojo/public/cpp/system/buffer.h
@@ -2,6 +2,13 @@
// 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_
@@ -13,8 +20,8 @@
namespace mojo {
-// SharedBufferHandle ----------------------------------------------------------
-
+// A strongly-typed representation of a |MojoHandle| referring to a shared
+// buffer.
class SharedBufferHandle : public Handle {
public:
SharedBufferHandle() {}
@@ -30,6 +37,8 @@ typedef ScopedHandleBase<SharedBufferHandle> ScopedSharedBufferHandle;
static_assert(sizeof(ScopedSharedBufferHandle) == sizeof(SharedBufferHandle),
"Bad size for C++ ScopedSharedBufferHandle");
+// Creates a shared buffer. See |MojoCreateSharedBuffer()| for complete
+// documentation.
inline MojoResult CreateSharedBuffer(
const MojoCreateSharedBufferOptions* options,
uint64_t num_bytes,
@@ -44,10 +53,17 @@ inline MojoResult CreateSharedBuffer(
return rv;
}
+// Duplicates a handle to a buffer, most commonly so that the buffer can be
+// shared with other applications. See |MojoDuplicateBufferHandle()| for
+// complete documentation.
+//
+// TODO(ggowan): Rename this to DuplicateBufferHandle since it is making another
+// handle to the same buffer, not duplicating the buffer itself.
+//
// 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.)
+// manually. (The template enforces that the in and out handles be of the same
+// type.)
template <class BufferHandleType>
inline MojoResult DuplicateBuffer(
BufferHandleType buffer,
@@ -63,6 +79,8 @@ inline MojoResult DuplicateBuffer(
return rv;
}
+// Maps a part of a buffer (specified by |buffer|, |offset|, and |num_bytes|)
+// into memory. See |MojoMapBuffer()| for complete documentation.
template <class BufferHandleType>
inline MojoResult MapBuffer(BufferHandleType buffer,
uint64_t offset,
@@ -73,6 +91,8 @@ inline MojoResult MapBuffer(BufferHandleType buffer,
return MojoMapBuffer(buffer.value(), offset, num_bytes, pointer, flags);
}
+// Unmaps a part of a buffer that was previously mapped with |MapBuffer()|.
+// See |MojoUnmapBuffer()| for complete documentation.
inline MojoResult UnmapBuffer(void* pointer) {
assert(pointer);
return MojoUnmapBuffer(pointer);

Powered by Google App Engine
This is Rietveld 408576698