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

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: some review comments 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)
15 /*
14 16
15 // Definitions of the system functions. 17 // Definitions of the system functions.
16 extern "C" { 18 extern "C" {
17 MojoTimeTicks MojoGetTimeTicksNow() { 19 MojoTimeTicks MojoGetTimeTicksNow() {
18 return g_core->GetTimeTicksNow(); 20 return g_core->GetTimeTicksNow();
19 } 21 }
20 22
21 MojoResult MojoClose(MojoHandle handle) { 23 MojoResult MojoClose(MojoHandle handle) {
22 return g_core->Close(handle); 24 return g_core->Close(handle);
23 } 25 }
24 26
25 MojoResult MojoWait(MojoHandle handle, 27 MojoResult MojoWait(MojoHandle handle,
26 MojoHandleSignals signals, 28 MojoHandleSignals signals,
27 MojoDeadline deadline, 29 MojoDeadline deadline,
28 MojoHandleSignalsState* signals_state) { 30 MojoHandleSignalsState* signals_state) {
29 return g_core->Wait(handle, signals, deadline, 31 return g_core->Wait(handle, signals, deadline signals_state);
30 MakeUserPointer(signals_state));
31 } 32 }
32 33
33 MojoResult MojoWaitMany(const MojoHandle* handles, 34 MojoResult MojoWaitMany(const MojoHandle* handles,
34 const MojoHandleSignals* signals, 35 const MojoHandleSignals* signals,
35 uint32_t num_handles, 36 uint32_t num_handles,
36 MojoDeadline deadline, 37 MojoDeadline deadline,
37 uint32_t* result_index, 38 uint32_t* result_index,
38 MojoHandleSignalsState* signals_states) { 39 MojoHandleSignalsState* signals_states) {
39 return g_core->WaitMany(MakeUserPointer(handles), MakeUserPointer(signals), 40 return g_core->WaitMany(handles, signals, num_handles, deadline, result_index,
40 num_handles, deadline, MakeUserPointer(result_index), 41 signals_states);
41 MakeUserPointer(signals_states));
42 } 42 }
43 43
44 MojoResult MojoCreateMessagePipe(const MojoCreateMessagePipeOptions* options, 44 MojoResult MojoCreateMessagePipe(const MojoCreateMessagePipeOptions* options,
45 MojoHandle* message_pipe_handle0, 45 MojoHandle* message_pipe_handle0,
46 MojoHandle* message_pipe_handle1) { 46 MojoHandle* message_pipe_handle1) {
47 return g_core->CreateMessagePipe(MakeUserPointer(options), 47 return g_core->CreateMessagePipe(options, message_pipe_handle0,
48 MakeUserPointer(message_pipe_handle0), 48 message_pipe_handle1);
49 MakeUserPointer(message_pipe_handle1));
50 } 49 }
51 50
52 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle, 51 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle,
53 const void* bytes, 52 const void* bytes,
54 uint32_t num_bytes, 53 uint32_t num_bytes,
55 const MojoHandle* handles, 54 const MojoHandle* handles,
56 uint32_t num_handles, 55 uint32_t num_handles,
57 MojoWriteMessageFlags flags) { 56 MojoWriteMessageFlags flags) {
58 return g_core->WriteMessage(message_pipe_handle, MakeUserPointer(bytes), 57 return g_core->WriteMessage(message_pipe_handle, bytes, num_bytes, handles,
59 num_bytes, MakeUserPointer(handles), num_handles, 58 num_handles, flags);
60 flags);
61 } 59 }
62 60
63 MojoResult MojoReadMessage(MojoHandle message_pipe_handle, 61 MojoResult MojoReadMessage(MojoHandle message_pipe_handle,
64 void* bytes, 62 void* bytes,
65 uint32_t* num_bytes, 63 uint32_t* num_bytes,
66 MojoHandle* handles, 64 MojoHandle* handles,
67 uint32_t* num_handles, 65 uint32_t* num_handles,
68 MojoReadMessageFlags flags) { 66 MojoReadMessageFlags flags) {
69 return g_core->ReadMessage( 67 return g_core->ReadMessage(
70 message_pipe_handle, MakeUserPointer(bytes), MakeUserPointer(num_bytes), 68 message_pipe_handle, bytes, num_bytes, handles, num_handles, flags);
71 MakeUserPointer(handles), MakeUserPointer(num_handles), flags);
72 } 69 }
73 70
74 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options, 71 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options,
75 MojoHandle* data_pipe_producer_handle, 72 MojoHandle* data_pipe_producer_handle,
76 MojoHandle* data_pipe_consumer_handle) { 73 MojoHandle* data_pipe_consumer_handle) {
77 return g_core->CreateDataPipe(MakeUserPointer(options), 74 return g_core->CreateDataPipe(options, data_pipe_producer_handle,
78 MakeUserPointer(data_pipe_producer_handle), 75 data_pipe_consumer_handle);
79 MakeUserPointer(data_pipe_consumer_handle));
80 } 76 }
81 77
82 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle, 78 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle,
83 const void* elements, 79 const void* elements,
84 uint32_t* num_elements, 80 uint32_t* num_elements,
85 MojoWriteDataFlags flags) { 81 MojoWriteDataFlags flags) {
86 return g_core->WriteData(data_pipe_producer_handle, MakeUserPointer(elements), 82 return g_core->WriteData(data_pipe_producer_handle, elements num_elements,
87 MakeUserPointer(num_elements), flags); 83 flags);
88 } 84 }
89 85
90 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle, 86 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle,
91 void** buffer, 87 void** buffer,
92 uint32_t* buffer_num_elements, 88 uint32_t* buffer_num_elements,
93 MojoWriteDataFlags flags) { 89 MojoWriteDataFlags flags) {
94 return g_core->BeginWriteData(data_pipe_producer_handle, 90 return g_core->BeginWriteData(data_pipe_producer_handle, buffer,
95 MakeUserPointer(buffer), 91 buffer_num_elements, flags);
96 MakeUserPointer(buffer_num_elements), flags);
97 } 92 }
98 93
99 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle, 94 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle,
100 uint32_t num_elements_written) { 95 uint32_t num_elements_written) {
101 return g_core->EndWriteData(data_pipe_producer_handle, num_elements_written); 96 return g_core->EndWriteData(data_pipe_producer_handle, num_elements_written);
102 } 97 }
103 98
104 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle, 99 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle,
105 void* elements, 100 void* elements,
106 uint32_t* num_elements, 101 uint32_t* num_elements,
107 MojoReadDataFlags flags) { 102 MojoReadDataFlags flags) {
108 return g_core->ReadData(data_pipe_consumer_handle, MakeUserPointer(elements), 103 return g_core->ReadData(data_pipe_consumer_handle, elements, num_elements,
109 MakeUserPointer(num_elements), flags); 104 flags);
110 } 105 }
111 106
112 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle, 107 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle,
113 const void** buffer, 108 const void** buffer,
114 uint32_t* buffer_num_elements, 109 uint32_t* buffer_num_elements,
115 MojoReadDataFlags flags) { 110 MojoReadDataFlags flags) {
116 return g_core->BeginReadData(data_pipe_consumer_handle, 111 return g_core->BeginReadData(data_pipe_consumer_handle, buffer,
117 MakeUserPointer(buffer), 112 buffer_num_elements, flags);
118 MakeUserPointer(buffer_num_elements), flags);
119 } 113 }
120 114
121 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle, 115 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle,
122 uint32_t num_elements_read) { 116 uint32_t num_elements_read) {
123 return g_core->EndReadData(data_pipe_consumer_handle, num_elements_read); 117 return g_core->EndReadData(data_pipe_consumer_handle, num_elements_read);
124 } 118 }
125 119
126 MojoResult MojoCreateSharedBuffer( 120 MojoResult MojoCreateSharedBuffer(
127 const struct MojoCreateSharedBufferOptions* options, 121 const struct MojoCreateSharedBufferOptions* options,
128 uint64_t num_bytes, 122 uint64_t num_bytes,
129 MojoHandle* shared_buffer_handle) { 123 MojoHandle* shared_buffer_handle) {
130 return g_core->CreateSharedBuffer(MakeUserPointer(options), num_bytes, 124 return g_core->CreateSharedBuffer(options, num_bytes, shared_buffer_handle);
131 MakeUserPointer(shared_buffer_handle));
132 } 125 }
133 126
134 MojoResult MojoDuplicateBufferHandle( 127 MojoResult MojoDuplicateBufferHandle(
135 MojoHandle buffer_handle, 128 MojoHandle buffer_handle,
136 const struct MojoDuplicateBufferHandleOptions* options, 129 const struct MojoDuplicateBufferHandleOptions* options,
137 MojoHandle* new_buffer_handle) { 130 MojoHandle* new_buffer_handle) {
138 return g_core->DuplicateBufferHandle(buffer_handle, MakeUserPointer(options), 131 return g_core->DuplicateBufferHandle(buffer_handle, options,
139 MakeUserPointer(new_buffer_handle)); 132 new_buffer_handle);
140 } 133 }
141 134
142 MojoResult MojoMapBuffer(MojoHandle buffer_handle, 135 MojoResult MojoMapBuffer(MojoHandle buffer_handle,
143 uint64_t offset, 136 uint64_t offset,
144 uint64_t num_bytes, 137 uint64_t num_bytes,
145 void** buffer, 138 void** buffer,
146 MojoMapBufferFlags flags) { 139 MojoMapBufferFlags flags) {
147 return g_core->MapBuffer(buffer_handle, offset, num_bytes, 140 return g_core->MapBuffer(buffer_handle, offset, num_bytes, buffer, flags);
148 MakeUserPointer(buffer), flags);
149 } 141 }
150 142
151 MojoResult MojoUnmapBuffer(void* buffer) { 143 MojoResult MojoUnmapBuffer(void* buffer) {
152 return g_core->UnmapBuffer(MakeUserPointer(buffer)); 144 return g_core->UnmapBuffer(buffer);
153 } 145 }
154 146
155 } // extern "C" 147 } // extern "C"
148 */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698