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

Unified Diff: third_party/mojo/src/mojo/edk/system/core.h

Issue 1676913002: [mojo] Delete third_party/mojo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: let's try that again Created 4 years, 10 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/edk/system/core.h
diff --git a/third_party/mojo/src/mojo/edk/system/core.h b/third_party/mojo/src/mojo/edk/system/core.h
deleted file mode 100644
index 4d670d31214c25fd0914f76178479e556159427f..0000000000000000000000000000000000000000
--- a/third_party/mojo/src/mojo/edk/system/core.h
+++ /dev/null
@@ -1,198 +0,0 @@
-// Copyright 2013 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 THIRD_PARTY_MOJO_SRC_MOJO_EDK_SYSTEM_CORE_H_
-#define THIRD_PARTY_MOJO_SRC_MOJO_EDK_SYSTEM_CORE_H_
-
-#include <stdint.h>
-
-#include "base/callback.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_ptr.h"
-#include "mojo/public/c/system/buffer.h"
-#include "mojo/public/c/system/data_pipe.h"
-#include "mojo/public/c/system/message_pipe.h"
-#include "mojo/public/c/system/types.h"
-#include "mojo/public/cpp/system/macros.h"
-#include "third_party/mojo/src/mojo/edk/system/handle_table.h"
-#include "third_party/mojo/src/mojo/edk/system/mapping_table.h"
-#include "third_party/mojo/src/mojo/edk/system/memory.h"
-#include "third_party/mojo/src/mojo/edk/system/mutex.h"
-#include "third_party/mojo/src/mojo/edk/system/system_impl_export.h"
-
-namespace mojo {
-
-namespace embedder {
-class PlatformSupport;
-}
-
-namespace system {
-
-class Dispatcher;
-struct HandleSignalsState;
-
-// |Core| is an object that implements the Mojo system calls. All public methods
-// are thread-safe.
-class MOJO_SYSTEM_IMPL_EXPORT Core {
- public:
- // ---------------------------------------------------------------------------
-
- // These methods are only to be used by via the embedder API (and internally):
-
- // |*platform_support| must outlive this object.
- explicit Core(embedder::PlatformSupport* platform_support);
- virtual ~Core();
-
- // Adds |dispatcher| to the handle table, returning the handle for it. Returns
- // |MOJO_HANDLE_INVALID| on failure, namely if the handle table is full.
- MojoHandle AddDispatcher(const scoped_refptr<Dispatcher>& dispatcher);
-
- // Looks up the dispatcher for the given handle. Returns null if the handle is
- // invalid.
- scoped_refptr<Dispatcher> GetDispatcher(MojoHandle handle);
-
- // Watches on the given handle for the given signals, calling |callback| when
- // a signal is satisfied or when all signals become unsatisfiable. |callback|
- // must satisfy stringent requirements -- see |Awakable::Awake()| in
- // awakable.h. In particular, it must not call any Mojo system functions.
- MojoResult AsyncWait(MojoHandle handle,
- MojoHandleSignals signals,
- const base::Callback<void(MojoResult)>& callback);
-
- embedder::PlatformSupport* platform_support() const {
- return platform_support_;
- }
-
- // ---------------------------------------------------------------------------
-
- // The following methods are essentially implementations of the Mojo Core
- // functions of the Mojo API, with the C interface translated to C++ by
- // "mojo/edk/embedder/entrypoints.cc". The best way to understand the contract
- // of these methods is to look at the header files defining the corresponding
- // API functions, referenced below.
-
- // These methods correspond to the API functions defined in
- // "mojo/public/c/system/functions.h":
- MojoTimeTicks GetTimeTicksNow();
- MojoResult Close(MojoHandle handle);
- MojoResult Wait(MojoHandle handle,
- MojoHandleSignals signals,
- MojoDeadline deadline,
- UserPointer<MojoHandleSignalsState> signals_state);
- MojoResult WaitMany(UserPointer<const MojoHandle> handles,
- UserPointer<const MojoHandleSignals> signals,
- uint32_t num_handles,
- MojoDeadline deadline,
- UserPointer<uint32_t> result_index,
- UserPointer<MojoHandleSignalsState> signals_states);
-
- // These methods correspond to the API functions defined in
- // "mojo/public/c/system/wait_set.h":
- MojoResult CreateWaitSet(UserPointer<MojoHandle> wait_set_handle);
- MojoResult AddHandle(MojoHandle wait_set_handle,
- MojoHandle handle,
- MojoHandleSignals signals);
- MojoResult RemoveHandle(MojoHandle wait_set_handle,
- MojoHandle handle);
- MojoResult GetReadyHandles(
- MojoHandle wait_set_handle,
- UserPointer<uint32_t> count,
- UserPointer<MojoHandle> handles,
- UserPointer<MojoResult> results,
- UserPointer<MojoHandleSignalsState> signals_states);
-
- // These methods correspond to the API functions defined in
- // "mojo/public/c/system/message_pipe.h":
- MojoResult CreateMessagePipe(
- UserPointer<const MojoCreateMessagePipeOptions> options,
- UserPointer<MojoHandle> message_pipe_handle0,
- UserPointer<MojoHandle> message_pipe_handle1);
- MojoResult WriteMessage(MojoHandle message_pipe_handle,
- UserPointer<const void> bytes,
- uint32_t num_bytes,
- UserPointer<const MojoHandle> handles,
- uint32_t num_handles,
- MojoWriteMessageFlags flags);
- MojoResult ReadMessage(MojoHandle message_pipe_handle,
- UserPointer<void> bytes,
- UserPointer<uint32_t> num_bytes,
- UserPointer<MojoHandle> handles,
- UserPointer<uint32_t> num_handles,
- MojoReadMessageFlags flags);
-
- // These methods correspond to the API functions defined in
- // "mojo/public/c/system/data_pipe.h":
- MojoResult CreateDataPipe(
- UserPointer<const MojoCreateDataPipeOptions> options,
- UserPointer<MojoHandle> data_pipe_producer_handle,
- UserPointer<MojoHandle> data_pipe_consumer_handle);
- MojoResult WriteData(MojoHandle data_pipe_producer_handle,
- UserPointer<const void> elements,
- UserPointer<uint32_t> num_bytes,
- MojoWriteDataFlags flags);
- MojoResult BeginWriteData(MojoHandle data_pipe_producer_handle,
- UserPointer<void*> buffer,
- UserPointer<uint32_t> buffer_num_bytes,
- MojoWriteDataFlags flags);
- MojoResult EndWriteData(MojoHandle data_pipe_producer_handle,
- uint32_t num_bytes_written);
- MojoResult ReadData(MojoHandle data_pipe_consumer_handle,
- UserPointer<void> elements,
- UserPointer<uint32_t> num_bytes,
- MojoReadDataFlags flags);
- MojoResult BeginReadData(MojoHandle data_pipe_consumer_handle,
- UserPointer<const void*> buffer,
- UserPointer<uint32_t> buffer_num_bytes,
- MojoReadDataFlags flags);
- MojoResult EndReadData(MojoHandle data_pipe_consumer_handle,
- uint32_t num_bytes_read);
-
- // These methods correspond to the API functions defined in
- // "mojo/public/c/system/buffer.h":
- MojoResult CreateSharedBuffer(
- UserPointer<const MojoCreateSharedBufferOptions> options,
- uint64_t num_bytes,
- UserPointer<MojoHandle> shared_buffer_handle);
- MojoResult DuplicateBufferHandle(
- MojoHandle buffer_handle,
- UserPointer<const MojoDuplicateBufferHandleOptions> options,
- UserPointer<MojoHandle> new_buffer_handle);
- MojoResult MapBuffer(MojoHandle buffer_handle,
- uint64_t offset,
- uint64_t num_bytes,
- UserPointer<void*> buffer,
- MojoMapBufferFlags flags);
- MojoResult UnmapBuffer(UserPointer<void> buffer);
-
- private:
- friend bool internal::ShutdownCheckNoLeaks(Core*);
-
- // Internal implementation of |Wait()| and |WaitMany()|; doesn't do basic
- // validation of arguments. |*result_index| is only set if the result (whether
- // success or failure) applies to a specific handle, so its value should be
- // preinitialized to |static_cast<uint32_t>(-1)|.
- MojoResult WaitManyInternal(const MojoHandle* handles,
- const MojoHandleSignals* signals,
- uint32_t num_handles,
- MojoDeadline deadline,
- uint32_t* result_index,
- HandleSignalsState* signals_states);
-
- embedder::PlatformSupport* const platform_support_;
-
- // TODO(vtl): |handle_table_mutex_| should be a reader-writer lock (if only we
- // had them).
- Mutex handle_table_mutex_;
- HandleTable handle_table_ MOJO_GUARDED_BY(handle_table_mutex_);
-
- Mutex mapping_table_mutex_;
- MappingTable mapping_table_ MOJO_GUARDED_BY(mapping_table_mutex_);
-
- MOJO_DISALLOW_COPY_AND_ASSIGN(Core);
-};
-
-} // namespace system
-} // namespace mojo
-
-#endif // THIRD_PARTY_MOJO_SRC_MOJO_EDK_SYSTEM_CORE_H_
« no previous file with comments | « third_party/mojo/src/mojo/edk/system/connection_manager_unittest.cc ('k') | third_party/mojo/src/mojo/edk/system/core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698