Index: mojo/public/platform/native/system_thunks.h |
diff --git a/mojo/public/platform/native/system_thunks.h b/mojo/public/platform/native/system_thunks.h |
deleted file mode 100644 |
index 4f5ad1ab53df550d0046b83beb66743a5eeb4c46..0000000000000000000000000000000000000000 |
--- a/mojo/public/platform/native/system_thunks.h |
+++ /dev/null |
@@ -1,208 +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. |
- |
-// Note: This header should be compilable as C. |
- |
-#ifndef MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_THUNKS_H_ |
-#define MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_THUNKS_H_ |
- |
-#include <mojo/result.h> |
-#include <mojo/system/buffer.h> |
-#include <mojo/system/data_pipe.h> |
-#include <mojo/system/handle.h> |
-#include <mojo/system/message_pipe.h> |
-#include <mojo/system/time.h> |
-#include <mojo/system/wait.h> |
-#include <mojo/system/wait_set.h> |
-#include <stddef.h> |
- |
-// The embedder needs to bind the basic Mojo Core functions of a DSO to those of |
-// the embedder when loading a DSO that is dependent on mojo_system. |
-// The typical usage would look like: |
-// base::ScopedNativeLibrary app_library( |
-// base::LoadNativeLibrary(app_path_, &error)); |
-// typedef MojoResult (*MojoSetSystemThunksFn)(MojoSystemThunks*); |
-// MojoSetSystemThunksFn mojo_set_system_thunks_fn = |
-// reinterpret_cast<MojoSetSystemThunksFn>(app_library.GetFunctionPointer( |
-// "MojoSetSystemThunks")); |
-// MojoSystemThunks system_thunks = MojoMakeSystemThunks(); |
-// size_t expected_size = mojo_set_system_thunks_fn(&system_thunks); |
-// if (expected_size > sizeof(MojoSystemThunks)) { |
-// LOG(ERROR) |
-// << "Invalid DSO. Expected MojoSystemThunks size: " |
-// << expected_size; |
-// break; |
-// } |
- |
-// Structure used to bind the basic Mojo Core functions of a DSO to those of |
-// the embedder. |
-// This is the ABI between the embedder and the DSO. It can only have new |
-// functions added to the end. No other changes are supported. |
-#pragma pack(push, 8) |
-struct MojoSystemThunks { |
- size_t size; // Should be set to sizeof(MojoSystemThunks). |
- MojoTimeTicks (*GetTimeTicksNow)(); |
- MojoResult (*Close)(MojoHandle handle); |
- MojoResult (*Wait)(MojoHandle handle, |
- MojoHandleSignals signals, |
- MojoDeadline deadline, |
- struct MojoHandleSignalsState* signals_state); |
- MojoResult (*WaitMany)(const MojoHandle* handles, |
- const MojoHandleSignals* signals, |
- uint32_t num_handles, |
- MojoDeadline deadline, |
- uint32_t* result_index, |
- struct MojoHandleSignalsState* signals_states); |
- MojoResult (*CreateMessagePipe)( |
- const struct MojoCreateMessagePipeOptions* options, |
- MojoHandle* message_pipe_handle0, |
- MojoHandle* message_pipe_handle1); |
- MojoResult (*WriteMessage)(MojoHandle message_pipe_handle, |
- const void* bytes, |
- uint32_t num_bytes, |
- const MojoHandle* handles, |
- uint32_t num_handles, |
- MojoWriteMessageFlags flags); |
- MojoResult (*ReadMessage)(MojoHandle message_pipe_handle, |
- void* bytes, |
- uint32_t* num_bytes, |
- MojoHandle* handles, |
- uint32_t* num_handles, |
- MojoReadMessageFlags flags); |
- MojoResult (*CreateDataPipe)(const struct MojoCreateDataPipeOptions* options, |
- MojoHandle* data_pipe_producer_handle, |
- MojoHandle* data_pipe_consumer_handle); |
- MojoResult (*WriteData)(MojoHandle data_pipe_producer_handle, |
- const void* elements, |
- uint32_t* num_elements, |
- MojoWriteDataFlags flags); |
- MojoResult (*BeginWriteData)(MojoHandle data_pipe_producer_handle, |
- void** buffer, |
- uint32_t* buffer_num_elements, |
- MojoWriteDataFlags flags); |
- MojoResult (*EndWriteData)(MojoHandle data_pipe_producer_handle, |
- uint32_t num_elements_written); |
- MojoResult (*ReadData)(MojoHandle data_pipe_consumer_handle, |
- void* elements, |
- uint32_t* num_elements, |
- MojoReadDataFlags flags); |
- MojoResult (*BeginReadData)(MojoHandle data_pipe_consumer_handle, |
- const void** buffer, |
- uint32_t* buffer_num_elements, |
- MojoReadDataFlags flags); |
- MojoResult (*EndReadData)(MojoHandle data_pipe_consumer_handle, |
- uint32_t num_elements_read); |
- MojoResult (*CreateSharedBuffer)( |
- const struct MojoCreateSharedBufferOptions* options, |
- uint64_t num_bytes, |
- MojoHandle* shared_buffer_handle); |
- MojoResult (*DuplicateBufferHandle)( |
- MojoHandle buffer_handle, |
- const struct MojoDuplicateBufferHandleOptions* options, |
- MojoHandle* new_buffer_handle); |
- MojoResult (*MapBuffer)(MojoHandle buffer_handle, |
- uint64_t offset, |
- uint64_t num_bytes, |
- void** buffer, |
- MojoMapBufferFlags flags); |
- MojoResult (*UnmapBuffer)(void* buffer); |
- // TODO(vtl): The next time an ABI-breaking change is made, re-order the |
- // following elements (to match the order in |Core|). |
- MojoResult (*GetBufferInformation)(MojoHandle buffer_handle, |
- struct MojoBufferInformation* info, |
- uint32_t info_num_bytes); |
- MojoResult (*SetDataPipeConsumerOptions)( |
- MojoHandle data_pipe_consumer_handle, |
- const struct MojoDataPipeConsumerOptions* options); |
- MojoResult (*GetDataPipeConsumerOptions)( |
- MojoHandle data_pipe_consumer_handle, |
- struct MojoDataPipeConsumerOptions* options, |
- uint32_t options_num_bytes); |
- MojoResult (*SetDataPipeProducerOptions)( |
- MojoHandle data_pipe_producer_handle, |
- const struct MojoDataPipeProducerOptions* options); |
- MojoResult (*GetDataPipeProducerOptions)( |
- MojoHandle data_pipe_producer_handle, |
- struct MojoDataPipeProducerOptions* options, |
- uint32_t options_num_bytes); |
- MojoResult (*GetRights)(MojoHandle handle, MojoHandleRights* rights); |
- MojoResult (*DuplicateHandleWithReducedRights)( |
- MojoHandle handle, |
- MojoHandleRights rights_to_remove, |
- MojoHandle* new_handle); |
- MojoResult (*DuplicateHandle)(MojoHandle handle, MojoHandle* new_handle); |
- MojoResult (*ReplaceHandleWithReducedRights)( |
- MojoHandle handle, |
- MojoHandleRights rights_to_remove, |
- MojoHandle* replacement_handle); |
- MojoResult (*CreateWaitSet)(const struct MojoCreateWaitSetOptions* options, |
- MojoHandle* handle); |
- MojoResult (*WaitSetAdd)(MojoHandle wait_set_handle, |
- MojoHandle handle, |
- MojoHandleSignals signals, |
- uint64_t cookie, |
- const struct MojoWaitSetAddOptions* options); |
- MojoResult (*WaitSetRemove)(MojoHandle wait_set_handle, uint64_t cookie); |
- MojoResult (*WaitSetWait)(MojoHandle wait_set_handle, |
- MojoDeadline deadline, |
- uint32_t* num_results, |
- struct MojoWaitSetResult* results, |
- uint32_t* max_results); |
-}; |
-#pragma pack(pop) |
- |
-#ifdef __cplusplus |
-// Intended to be called from the embedder. Returns a |MojoCore| initialized |
-// to contain pointers to each of the embedder's MojoCore functions. |
-inline MojoSystemThunks MojoMakeSystemThunks() { |
- MojoSystemThunks system_thunks = { |
- sizeof(MojoSystemThunks), |
- MojoGetTimeTicksNow, |
- MojoClose, |
- MojoWait, |
- MojoWaitMany, |
- MojoCreateMessagePipe, |
- MojoWriteMessage, |
- MojoReadMessage, |
- MojoCreateDataPipe, |
- MojoWriteData, |
- MojoBeginWriteData, |
- MojoEndWriteData, |
- MojoReadData, |
- MojoBeginReadData, |
- MojoEndReadData, |
- MojoCreateSharedBuffer, |
- MojoDuplicateBufferHandle, |
- MojoMapBuffer, |
- MojoUnmapBuffer, |
- MojoGetBufferInformation, |
- MojoSetDataPipeConsumerOptions, |
- MojoGetDataPipeConsumerOptions, |
- MojoSetDataPipeProducerOptions, |
- MojoGetDataPipeProducerOptions, |
- MojoGetRights, |
- MojoDuplicateHandleWithReducedRights, |
- MojoDuplicateHandle, |
- MojoReplaceHandleWithReducedRights, |
- MojoCreateWaitSet, |
- MojoWaitSetAdd, |
- MojoWaitSetRemove, |
- MojoWaitSetWait, |
- }; |
- return system_thunks; |
-} |
-#endif |
- |
- |
-// Use this type for the function found by dynamically discovering it in |
-// a DSO linked with mojo_system. For example: |
-// MojoSetSystemThunksFn mojo_set_system_thunks_fn = |
-// reinterpret_cast<MojoSetSystemThunksFn>(app_library.GetFunctionPointer( |
-// "MojoSetSystemThunks")); |
-// The expected size of |system_thunks} is returned. |
-// The contents of |system_thunks| are copied. |
-typedef size_t (*MojoSetSystemThunksFn)( |
- const struct MojoSystemThunks* system_thunks); |
- |
-#endif // MOJO_PUBLIC_PLATFORM_NATIVE_SYSTEM_THUNKS_H_ |