Add an extension override bubble and warning box for proxy extensions. (2nd attempt...
[chromium-blink-merge.git] / mojo / system / entrypoints.cc
blob7f217ae71bdf68fe141409544c779cf191680f17
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "mojo/system/entrypoints.h"
7 #include "mojo/public/c/system/buffer.h"
8 #include "mojo/public/c/system/data_pipe.h"
9 #include "mojo/public/c/system/functions.h"
10 #include "mojo/public/c/system/message_pipe.h"
11 #include "mojo/system/core.h"
13 static mojo::system::Core* g_core = NULL;
15 namespace mojo {
16 namespace system {
17 namespace entrypoints {
19 void SetCore(Core* core) {
20 g_core = core;
23 Core* GetCore() {
24 return g_core;
27 } // namespace entrypoints
28 } // namepace system
29 } // namespace mojo
31 // Definitions of the system functions.
32 extern "C" {
34 MojoTimeTicks MojoGetTimeTicksNow() {
35 return g_core->GetTimeTicksNow();
38 MojoResult MojoClose(MojoHandle handle) {
39 return g_core->Close(handle);
42 MojoResult MojoWait(MojoHandle handle,
43 MojoWaitFlags flags,
44 MojoDeadline deadline) {
45 return g_core->Wait(handle, flags, deadline);
48 MojoResult MojoWaitMany(const MojoHandle* handles,
49 const MojoWaitFlags* flags,
50 uint32_t num_handles,
51 MojoDeadline deadline) {
52 return g_core->WaitMany(handles, flags, num_handles, deadline);
55 MojoResult MojoCreateMessagePipe(MojoHandle* message_pipe_handle0,
56 MojoHandle* message_pipe_handle1) {
57 return g_core->CreateMessagePipe(message_pipe_handle0, message_pipe_handle1);
60 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle,
61 const void* bytes,
62 uint32_t num_bytes,
63 const MojoHandle* handles,
64 uint32_t num_handles,
65 MojoWriteMessageFlags flags) {
66 return g_core->WriteMessage(
67 message_pipe_handle, bytes, num_bytes, handles, num_handles, flags);
70 MojoResult MojoReadMessage(MojoHandle message_pipe_handle,
71 void* bytes,
72 uint32_t* num_bytes,
73 MojoHandle* handles,
74 uint32_t* num_handles,
75 MojoReadMessageFlags flags) {
76 return g_core->ReadMessage(
77 message_pipe_handle, bytes, num_bytes, handles, num_handles, flags);
80 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options,
81 MojoHandle* data_pipe_producer_handle,
82 MojoHandle* data_pipe_consumer_handle) {
83 return g_core->CreateDataPipe(
84 options, data_pipe_producer_handle, data_pipe_consumer_handle);
87 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle,
88 const void* elements,
89 uint32_t* num_elements,
90 MojoWriteDataFlags flags) {
91 return g_core->WriteData(
92 data_pipe_producer_handle, elements, num_elements, flags);
95 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle,
96 void** buffer,
97 uint32_t* buffer_num_elements,
98 MojoWriteDataFlags flags) {
99 return g_core->BeginWriteData(
100 data_pipe_producer_handle, buffer, buffer_num_elements, flags);
103 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle,
104 uint32_t num_elements_written) {
105 return g_core->EndWriteData(data_pipe_producer_handle, num_elements_written);
108 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle,
109 void* elements,
110 uint32_t* num_elements,
111 MojoReadDataFlags flags) {
112 return g_core->ReadData(
113 data_pipe_consumer_handle, elements, num_elements, flags);
116 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle,
117 const void** buffer,
118 uint32_t* buffer_num_elements,
119 MojoReadDataFlags flags) {
120 return g_core->BeginReadData(
121 data_pipe_consumer_handle, buffer, buffer_num_elements, flags);
124 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle,
125 uint32_t num_elements_read) {
126 return g_core->EndReadData(data_pipe_consumer_handle, num_elements_read);
129 MojoResult MojoCreateSharedBuffer(
130 const struct MojoCreateSharedBufferOptions* options,
131 uint64_t num_bytes,
132 MojoHandle* shared_buffer_handle) {
133 return g_core->CreateSharedBuffer(options, num_bytes, shared_buffer_handle);
136 MojoResult MojoDuplicateBufferHandle(
137 MojoHandle buffer_handle,
138 const struct MojoDuplicateBufferHandleOptions* options,
139 MojoHandle* new_buffer_handle) {
140 return g_core->DuplicateBufferHandle(
141 buffer_handle, options, new_buffer_handle);
144 MojoResult MojoMapBuffer(MojoHandle buffer_handle,
145 uint64_t offset,
146 uint64_t num_bytes,
147 void** buffer,
148 MojoMapBufferFlags flags) {
149 return g_core->MapBuffer(buffer_handle, offset, num_bytes, buffer, flags);
152 MojoResult MojoUnmapBuffer(void* buffer) {
153 return g_core->UnmapBuffer(buffer);
156 } // extern "C"