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

Side by Side Diff: mojo/edk/embedder/entrypoints.cc

Issue 1350023003: Add a Mojo EDK for Chrome that uses one OS pipe per message pipe. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more cleanup Created 5 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/edk/embedder/embedder_internal.h"
6 #include "mojo/edk/system/core.h"
5 #include "mojo/public/c/system/buffer.h" 7 #include "mojo/public/c/system/buffer.h"
6 #include "mojo/public/c/system/data_pipe.h" 8 #include "mojo/public/c/system/data_pipe.h"
7 #include "mojo/public/c/system/functions.h" 9 #include "mojo/public/c/system/functions.h"
8 #include "mojo/public/c/system/message_pipe.h" 10 #include "mojo/public/c/system/message_pipe.h"
9 #include "third_party/mojo/src/mojo/edk/embedder/embedder_internal.h"
10 #include "third_party/mojo/src/mojo/edk/system/core.h"
11 11
12 using mojo::embedder::internal::g_core; 12 using mojo::edk::internal::g_core;
13 using mojo::system::MakeUserPointer; 13
14 // TODO(use_chrome_edk): commented out since for now we use the entrypoints in
15 // third_party and that checks the command line to redirect here.
16 /*
14 17
15 // Definitions of the system functions. 18 // Definitions of the system functions.
16 extern "C" { 19 extern "C" {
17 MojoTimeTicks MojoGetTimeTicksNow() { 20 MojoTimeTicks MojoGetTimeTicksNow() {
18 return g_core->GetTimeTicksNow(); 21 return g_core->GetTimeTicksNow();
19 } 22 }
20 23
21 MojoResult MojoClose(MojoHandle handle) { 24 MojoResult MojoClose(MojoHandle handle) {
22 return g_core->Close(handle); 25 return g_core->Close(handle);
23 } 26 }
24 27
25 MojoResult MojoWait(MojoHandle handle, 28 MojoResult MojoWait(MojoHandle handle,
26 MojoHandleSignals signals, 29 MojoHandleSignals signals,
27 MojoDeadline deadline, 30 MojoDeadline deadline,
28 MojoHandleSignalsState* signals_state) { 31 MojoHandleSignalsState* signals_state) {
29 return g_core->Wait(handle, signals, deadline, 32 return g_core->Wait(handle, signals, deadline, signals_state);
30 MakeUserPointer(signals_state));
31 } 33 }
32 34
33 MojoResult MojoWaitMany(const MojoHandle* handles, 35 MojoResult MojoWaitMany(const MojoHandle* handles,
34 const MojoHandleSignals* signals, 36 const MojoHandleSignals* signals,
35 uint32_t num_handles, 37 uint32_t num_handles,
36 MojoDeadline deadline, 38 MojoDeadline deadline,
37 uint32_t* result_index, 39 uint32_t* result_index,
38 MojoHandleSignalsState* signals_states) { 40 MojoHandleSignalsState* signals_states) {
39 return g_core->WaitMany(MakeUserPointer(handles), MakeUserPointer(signals), 41 return g_core->WaitMany(handles, signals, num_handles, deadline, result_index,
40 num_handles, deadline, MakeUserPointer(result_index), 42 signals_states);
41 MakeUserPointer(signals_states));
42 } 43 }
43 44
44 MojoResult MojoCreateMessagePipe(const MojoCreateMessagePipeOptions* options, 45 MojoResult MojoCreateMessagePipe(const MojoCreateMessagePipeOptions* options,
45 MojoHandle* message_pipe_handle0, 46 MojoHandle* message_pipe_handle0,
46 MojoHandle* message_pipe_handle1) { 47 MojoHandle* message_pipe_handle1) {
47 return g_core->CreateMessagePipe(MakeUserPointer(options), 48 return g_core->CreateMessagePipe(options, message_pipe_handle0,
48 MakeUserPointer(message_pipe_handle0), 49 message_pipe_handle1);
49 MakeUserPointer(message_pipe_handle1));
50 } 50 }
51 51
52 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle, 52 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle,
53 const void* bytes, 53 const void* bytes,
54 uint32_t num_bytes, 54 uint32_t num_bytes,
55 const MojoHandle* handles, 55 const MojoHandle* handles,
56 uint32_t num_handles, 56 uint32_t num_handles,
57 MojoWriteMessageFlags flags) { 57 MojoWriteMessageFlags flags) {
58 return g_core->WriteMessage(message_pipe_handle, MakeUserPointer(bytes), 58 return g_core->WriteMessage(message_pipe_handle, bytes, num_bytes, handles,
59 num_bytes, MakeUserPointer(handles), num_handles, 59 num_handles, flags);
60 flags);
61 } 60 }
62 61
63 MojoResult MojoReadMessage(MojoHandle message_pipe_handle, 62 MojoResult MojoReadMessage(MojoHandle message_pipe_handle,
64 void* bytes, 63 void* bytes,
65 uint32_t* num_bytes, 64 uint32_t* num_bytes,
66 MojoHandle* handles, 65 MojoHandle* handles,
67 uint32_t* num_handles, 66 uint32_t* num_handles,
68 MojoReadMessageFlags flags) { 67 MojoReadMessageFlags flags) {
69 return g_core->ReadMessage( 68 return g_core->ReadMessage(
70 message_pipe_handle, MakeUserPointer(bytes), MakeUserPointer(num_bytes), 69 message_pipe_handle, bytes, num_bytes, handles, num_handles, flags);
71 MakeUserPointer(handles), MakeUserPointer(num_handles), flags);
72 } 70 }
73 71
74 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options, 72 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options,
75 MojoHandle* data_pipe_producer_handle, 73 MojoHandle* data_pipe_producer_handle,
76 MojoHandle* data_pipe_consumer_handle) { 74 MojoHandle* data_pipe_consumer_handle) {
77 return g_core->CreateDataPipe(MakeUserPointer(options), 75 return g_core->CreateDataPipe(options, data_pipe_producer_handle,
78 MakeUserPointer(data_pipe_producer_handle), 76 data_pipe_consumer_handle);
79 MakeUserPointer(data_pipe_consumer_handle));
80 } 77 }
81 78
82 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle, 79 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle,
83 const void* elements, 80 const void* elements,
84 uint32_t* num_elements, 81 uint32_t* num_elements,
85 MojoWriteDataFlags flags) { 82 MojoWriteDataFlags flags) {
86 return g_core->WriteData(data_pipe_producer_handle, MakeUserPointer(elements), 83 return g_core->WriteData(data_pipe_producer_handle, elements, num_elements,
87 MakeUserPointer(num_elements), flags); 84 flags);
88 } 85 }
89 86
90 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle, 87 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle,
91 void** buffer, 88 void** buffer,
92 uint32_t* buffer_num_elements, 89 uint32_t* buffer_num_elements,
93 MojoWriteDataFlags flags) { 90 MojoWriteDataFlags flags) {
94 return g_core->BeginWriteData(data_pipe_producer_handle, 91 return g_core->BeginWriteData(data_pipe_producer_handle, buffer,
95 MakeUserPointer(buffer), 92 buffer_num_elements, flags);
96 MakeUserPointer(buffer_num_elements), flags);
97 } 93 }
98 94
99 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle, 95 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle,
100 uint32_t num_elements_written) { 96 uint32_t num_elements_written) {
101 return g_core->EndWriteData(data_pipe_producer_handle, num_elements_written); 97 return g_core->EndWriteData(data_pipe_producer_handle, num_elements_written);
102 } 98 }
103 99
104 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle, 100 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle,
105 void* elements, 101 void* elements,
106 uint32_t* num_elements, 102 uint32_t* num_elements,
107 MojoReadDataFlags flags) { 103 MojoReadDataFlags flags) {
108 return g_core->ReadData(data_pipe_consumer_handle, MakeUserPointer(elements), 104 return g_core->ReadData(data_pipe_consumer_handle, elements, num_elements,
109 MakeUserPointer(num_elements), flags); 105 flags);
110 } 106 }
111 107
112 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle, 108 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle,
113 const void** buffer, 109 const void** buffer,
114 uint32_t* buffer_num_elements, 110 uint32_t* buffer_num_elements,
115 MojoReadDataFlags flags) { 111 MojoReadDataFlags flags) {
116 return g_core->BeginReadData(data_pipe_consumer_handle, 112 return g_core->BeginReadData(data_pipe_consumer_handle, buffer,
117 MakeUserPointer(buffer), 113 buffer_num_elements, flags);
118 MakeUserPointer(buffer_num_elements), flags);
119 } 114 }
120 115
121 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle, 116 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle,
122 uint32_t num_elements_read) { 117 uint32_t num_elements_read) {
123 return g_core->EndReadData(data_pipe_consumer_handle, num_elements_read); 118 return g_core->EndReadData(data_pipe_consumer_handle, num_elements_read);
124 } 119 }
125 120
126 MojoResult MojoCreateSharedBuffer( 121 MojoResult MojoCreateSharedBuffer(
127 const struct MojoCreateSharedBufferOptions* options, 122 const struct MojoCreateSharedBufferOptions* options,
128 uint64_t num_bytes, 123 uint64_t num_bytes,
129 MojoHandle* shared_buffer_handle) { 124 MojoHandle* shared_buffer_handle) {
130 return g_core->CreateSharedBuffer(MakeUserPointer(options), num_bytes, 125 return g_core->CreateSharedBuffer(options, num_bytes, shared_buffer_handle);
131 MakeUserPointer(shared_buffer_handle));
132 } 126 }
133 127
134 MojoResult MojoDuplicateBufferHandle( 128 MojoResult MojoDuplicateBufferHandle(
135 MojoHandle buffer_handle, 129 MojoHandle buffer_handle,
136 const struct MojoDuplicateBufferHandleOptions* options, 130 const struct MojoDuplicateBufferHandleOptions* options,
137 MojoHandle* new_buffer_handle) { 131 MojoHandle* new_buffer_handle) {
138 return g_core->DuplicateBufferHandle(buffer_handle, MakeUserPointer(options), 132 return g_core->DuplicateBufferHandle(buffer_handle, options,
139 MakeUserPointer(new_buffer_handle)); 133 new_buffer_handle);
140 } 134 }
141 135
142 MojoResult MojoMapBuffer(MojoHandle buffer_handle, 136 MojoResult MojoMapBuffer(MojoHandle buffer_handle,
143 uint64_t offset, 137 uint64_t offset,
144 uint64_t num_bytes, 138 uint64_t num_bytes,
145 void** buffer, 139 void** buffer,
146 MojoMapBufferFlags flags) { 140 MojoMapBufferFlags flags) {
147 return g_core->MapBuffer(buffer_handle, offset, num_bytes, 141 return g_core->MapBuffer(buffer_handle, offset, num_bytes, buffer, flags);
148 MakeUserPointer(buffer), flags);
149 } 142 }
150 143
151 MojoResult MojoUnmapBuffer(void* buffer) { 144 MojoResult MojoUnmapBuffer(void* buffer) {
152 return g_core->UnmapBuffer(MakeUserPointer(buffer)); 145 return g_core->UnmapBuffer(buffer);
153 } 146 }
154 147
155 } // extern "C" 148 } // extern "C"
149 */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698