summaryrefslogtreecommitdiffstats
path: root/mojo/edk/system/shared_buffer_dispatcher.h
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/edk/system/shared_buffer_dispatcher.h')
-rw-r--r--mojo/edk/system/shared_buffer_dispatcher.h103
1 files changed, 0 insertions, 103 deletions
diff --git a/mojo/edk/system/shared_buffer_dispatcher.h b/mojo/edk/system/shared_buffer_dispatcher.h
deleted file mode 100644
index db04d2a..0000000
--- a/mojo/edk/system/shared_buffer_dispatcher.h
+++ /dev/null
@@ -1,103 +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_EDK_SYSTEM_SHARED_BUFFER_DISPATCHER_H_
-#define MOJO_EDK_SYSTEM_SHARED_BUFFER_DISPATCHER_H_
-
-#include "base/macros.h"
-#include "mojo/edk/embedder/platform_shared_buffer.h"
-#include "mojo/edk/system/memory.h"
-#include "mojo/edk/system/simple_dispatcher.h"
-#include "mojo/edk/system/system_impl_export.h"
-
-namespace mojo {
-
-namespace embedder {
-class PlatformSupport;
-}
-
-namespace system {
-
-// TODO(vtl): We derive from SimpleDispatcher, even though we don't currently
-// have anything that's waitable. I want to add a "transferrable" wait flag
-// (which would entail overriding |GetHandleSignalsStateImplNoLock()|, etc.).
-class MOJO_SYSTEM_IMPL_EXPORT SharedBufferDispatcher : public SimpleDispatcher {
- public:
- // The default options to use for |MojoCreateSharedBuffer()|. (Real uses
- // should obtain this via |ValidateCreateOptions()| with a null |in_options|;
- // this is exposed directly for testing convenience.)
- static const MojoCreateSharedBufferOptions kDefaultCreateOptions;
-
- // Validates and/or sets default options for |MojoCreateSharedBufferOptions|.
- // If non-null, |in_options| must point to a struct of at least
- // |in_options->struct_size| bytes. |out_options| must point to a (current)
- // |MojoCreateSharedBufferOptions| and will be entirely overwritten on success
- // (it may be partly overwritten on failure).
- static MojoResult ValidateCreateOptions(
- UserPointer<const MojoCreateSharedBufferOptions> in_options,
- MojoCreateSharedBufferOptions* out_options);
-
- // Static factory method: |validated_options| must be validated (obviously).
- // On failure, |*result| will be left as-is.
- static MojoResult Create(
- embedder::PlatformSupport* platform_support,
- const MojoCreateSharedBufferOptions& validated_options,
- uint64_t num_bytes,
- scoped_refptr<SharedBufferDispatcher>* result);
-
- // |Dispatcher| public methods:
- Type GetType() const override;
-
- // The "opposite" of |SerializeAndClose()|. (Typically this is called by
- // |Dispatcher::Deserialize()|.)
- static scoped_refptr<SharedBufferDispatcher> Deserialize(
- Channel* channel,
- const void* source,
- size_t size,
- embedder::PlatformHandleVector* platform_handles);
-
- private:
- explicit SharedBufferDispatcher(
- scoped_refptr<embedder::PlatformSharedBuffer> shared_buffer_);
- ~SharedBufferDispatcher() override;
-
- // Validates and/or sets default options for
- // |MojoDuplicateBufferHandleOptions|. If non-null, |in_options| must point to
- // a struct of at least |in_options->struct_size| bytes. |out_options| must
- // point to a (current) |MojoDuplicateBufferHandleOptions| and will be
- // entirely overwritten on success (it may be partly overwritten on failure).
- static MojoResult ValidateDuplicateOptions(
- UserPointer<const MojoDuplicateBufferHandleOptions> in_options,
- MojoDuplicateBufferHandleOptions* out_options);
-
- // |Dispatcher| protected methods:
- void CloseImplNoLock() override;
- scoped_refptr<Dispatcher> CreateEquivalentDispatcherAndCloseImplNoLock()
- override;
- MojoResult DuplicateBufferHandleImplNoLock(
- UserPointer<const MojoDuplicateBufferHandleOptions> options,
- scoped_refptr<Dispatcher>* new_dispatcher) override;
- MojoResult MapBufferImplNoLock(
- uint64_t offset,
- uint64_t num_bytes,
- MojoMapBufferFlags flags,
- scoped_ptr<embedder::PlatformSharedBufferMapping>* mapping) override;
- void StartSerializeImplNoLock(Channel* channel,
- size_t* max_size,
- size_t* max_platform_handles) override;
- bool EndSerializeAndCloseImplNoLock(
- Channel* channel,
- void* destination,
- size_t* actual_size,
- embedder::PlatformHandleVector* platform_handles) override;
-
- scoped_refptr<embedder::PlatformSharedBuffer> shared_buffer_;
-
- DISALLOW_COPY_AND_ASSIGN(SharedBufferDispatcher);
-};
-
-} // namespace system
-} // namespace mojo
-
-#endif // MOJO_EDK_SYSTEM_SHARED_BUFFER_DISPATCHER_H_