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

Side by Side Diff: mojo/system/entrypoints.cc

Issue 231353002: Make mojo_system static and mojo_system_impl a component, never use both (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix accidental change to .gitmodules Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/public/system/core_private.h" 5 #include "mojo/system/core.h"
6 6
7 #include <assert.h> 7 // Definitions of the system functions.
8 #include <stddef.h>
9
10 static mojo::Core* g_core = NULL;
11
12 extern "C" { 8 extern "C" {
13 9
14 MojoTimeTicks MojoGetTimeTicksNow() { 10 MojoTimeTicks MojoGetTimeTicksNow() {
15 assert(g_core); 11 return mojo::system::Core::GetInstance()->GetTimeTicksNow();
16 return g_core->GetTimeTicksNow();
17 } 12 }
18 13
19 MojoResult MojoClose(MojoHandle handle) { 14 MojoResult MojoClose(MojoHandle handle) {
20 assert(g_core); 15 return mojo::system::Core::GetInstance()->Close(handle);
21 return g_core->Close(handle);
22 } 16 }
23 17
24 MojoResult MojoWait(MojoHandle handle, 18 MojoResult MojoWait(MojoHandle handle,
25 MojoWaitFlags flags, 19 MojoWaitFlags flags,
26 MojoDeadline deadline) { 20 MojoDeadline deadline) {
27 assert(g_core); 21 return mojo::system::Core::GetInstance()->Wait(handle, flags, deadline);
28 return g_core->Wait(handle, flags, deadline);
29 } 22 }
30 23
31 MojoResult MojoWaitMany(const MojoHandle* handles, 24 MojoResult MojoWaitMany(const MojoHandle* handles,
32 const MojoWaitFlags* flags, 25 const MojoWaitFlags* flags,
33 uint32_t num_handles, 26 uint32_t num_handles,
34 MojoDeadline deadline) { 27 MojoDeadline deadline) {
35 assert(g_core); 28 return mojo::system::Core::GetInstance()->WaitMany(
36 return g_core->WaitMany(handles, flags, num_handles, deadline); 29 handles, flags, num_handles, deadline);
37 } 30 }
38 31
39 MojoResult MojoCreateMessagePipe(MojoHandle* message_pipe_handle0, 32 MojoResult MojoCreateMessagePipe(MojoHandle* message_pipe_handle0,
40 MojoHandle* message_pipe_handle1) { 33 MojoHandle* message_pipe_handle1) {
41 assert(g_core); 34 return mojo::system::Core::GetInstance()->CreateMessagePipe(
42 return g_core->CreateMessagePipe(message_pipe_handle0, message_pipe_handle1); 35 message_pipe_handle0, message_pipe_handle1);
43 } 36 }
44 37
45 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle, 38 MojoResult MojoWriteMessage(MojoHandle message_pipe_handle,
46 const void* bytes, 39 const void* bytes,
47 uint32_t num_bytes, 40 uint32_t num_bytes,
48 const MojoHandle* handles, 41 const MojoHandle* handles,
49 uint32_t num_handles, 42 uint32_t num_handles,
50 MojoWriteMessageFlags flags) { 43 MojoWriteMessageFlags flags) {
51 assert(g_core); 44 return mojo::system::Core::GetInstance()->WriteMessage(
52 return g_core->WriteMessage(message_pipe_handle, bytes, num_bytes, handles, 45 message_pipe_handle, bytes, num_bytes, handles, num_handles, flags);
53 num_handles, flags);
54 } 46 }
55 47
56 MojoResult MojoReadMessage(MojoHandle message_pipe_handle, 48 MojoResult MojoReadMessage(MojoHandle message_pipe_handle,
57 void* bytes, 49 void* bytes,
58 uint32_t* num_bytes, 50 uint32_t* num_bytes,
59 MojoHandle* handles, 51 MojoHandle* handles,
60 uint32_t* num_handles, 52 uint32_t* num_handles,
61 MojoReadMessageFlags flags) { 53 MojoReadMessageFlags flags) {
62 assert(g_core); 54 return mojo::system::Core::GetInstance()->ReadMessage(
63 return g_core->ReadMessage(message_pipe_handle, bytes, num_bytes, handles, 55 message_pipe_handle, bytes, num_bytes, handles, num_handles, flags);
64 num_handles, flags);
65 } 56 }
66 57
67 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options, 58 MojoResult MojoCreateDataPipe(const MojoCreateDataPipeOptions* options,
68 MojoHandle* data_pipe_producer_handle, 59 MojoHandle* data_pipe_producer_handle,
69 MojoHandle* data_pipe_consumer_handle) { 60 MojoHandle* data_pipe_consumer_handle) {
70 assert(g_core); 61 return mojo::system::Core::GetInstance()->CreateDataPipe(
71 return g_core->CreateDataPipe(options, data_pipe_producer_handle, 62 options, data_pipe_producer_handle, data_pipe_consumer_handle);
72 data_pipe_consumer_handle);
73 } 63 }
74 64
75 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle, 65 MojoResult MojoWriteData(MojoHandle data_pipe_producer_handle,
76 const void* elements, 66 const void* elements,
77 uint32_t* num_elements, 67 uint32_t* num_elements,
78 MojoWriteDataFlags flags) { 68 MojoWriteDataFlags flags) {
79 assert(g_core); 69 return mojo::system::Core::GetInstance()->WriteData(
80 return g_core->WriteData(data_pipe_producer_handle, elements, num_elements, 70 data_pipe_producer_handle, elements, num_elements, flags);
81 flags);
82 } 71 }
83 72
84 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle, 73 MojoResult MojoBeginWriteData(MojoHandle data_pipe_producer_handle,
85 void** buffer, 74 void** buffer,
86 uint32_t* buffer_num_elements, 75 uint32_t* buffer_num_elements,
87 MojoWriteDataFlags flags) { 76 MojoWriteDataFlags flags) {
88 assert(g_core); 77 return mojo::system::Core::GetInstance()->BeginWriteData(
89 return g_core->BeginWriteData(data_pipe_producer_handle, buffer, 78 data_pipe_producer_handle, buffer, buffer_num_elements, flags);
90 buffer_num_elements, flags);
91 } 79 }
92 80
93 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle, 81 MojoResult MojoEndWriteData(MojoHandle data_pipe_producer_handle,
94 uint32_t num_elements_written) { 82 uint32_t num_elements_written) {
95 assert(g_core); 83 return mojo::system::Core::GetInstance()->EndWriteData(
96 return g_core->EndWriteData(data_pipe_producer_handle, num_elements_written); 84 data_pipe_producer_handle, num_elements_written);
97 } 85 }
98 86
99 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle, 87 MojoResult MojoReadData(MojoHandle data_pipe_consumer_handle,
100 void* elements, 88 void* elements,
101 uint32_t* num_elements, 89 uint32_t* num_elements,
102 MojoReadDataFlags flags) { 90 MojoReadDataFlags flags) {
103 assert(g_core); 91 return mojo::system::Core::GetInstance()->ReadData(
104 return g_core->ReadData(data_pipe_consumer_handle, elements, num_elements, 92 data_pipe_consumer_handle, elements, num_elements, flags);
105 flags);
106 } 93 }
107 94
108 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle, 95 MojoResult MojoBeginReadData(MojoHandle data_pipe_consumer_handle,
109 const void** buffer, 96 const void** buffer,
110 uint32_t* buffer_num_elements, 97 uint32_t* buffer_num_elements,
111 MojoReadDataFlags flags) { 98 MojoReadDataFlags flags) {
112 assert(g_core); 99 return mojo::system::Core::GetInstance()->BeginReadData(
113 return g_core->BeginReadData(data_pipe_consumer_handle, buffer, 100 data_pipe_consumer_handle, buffer, buffer_num_elements, flags);
114 buffer_num_elements, flags);
115 } 101 }
116 102
117 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle, 103 MojoResult MojoEndReadData(MojoHandle data_pipe_consumer_handle,
118 uint32_t num_elements_read) { 104 uint32_t num_elements_read) {
119 assert(g_core); 105 return mojo::system::Core::GetInstance()->EndReadData(
120 return g_core->EndReadData(data_pipe_consumer_handle, num_elements_read); 106 data_pipe_consumer_handle, num_elements_read);
121 } 107 }
122 108
123 MojoResult MojoCreateSharedBuffer( 109 MojoResult MojoCreateSharedBuffer(
124 const struct MojoCreateSharedBufferOptions* options, 110 const struct MojoCreateSharedBufferOptions* options,
125 uint64_t num_bytes, 111 uint64_t num_bytes,
126 MojoHandle* shared_buffer_handle) { 112 MojoHandle* shared_buffer_handle) {
127 assert(g_core); 113 return mojo::system::Core::GetInstance()->CreateSharedBuffer(
128 return g_core->CreateSharedBuffer(options, num_bytes, shared_buffer_handle); 114 options, num_bytes, shared_buffer_handle);
129 } 115 }
130 116
131 MojoResult MojoDuplicateBufferHandle( 117 MojoResult MojoDuplicateBufferHandle(
132 MojoHandle buffer_handle, 118 MojoHandle buffer_handle,
133 const struct MojoDuplicateBufferHandleOptions* options, 119 const struct MojoDuplicateBufferHandleOptions* options,
134 MojoHandle* new_buffer_handle) { 120 MojoHandle* new_buffer_handle) {
135 assert(g_core); 121 return mojo::system::Core::GetInstance()->DuplicateBufferHandle(
136 return g_core->DuplicateBufferHandle(buffer_handle, options, 122 buffer_handle, options, new_buffer_handle);
137 new_buffer_handle);
138 } 123 }
139 124
140 MojoResult MojoMapBuffer(MojoHandle buffer_handle, 125 MojoResult MojoMapBuffer(MojoHandle buffer_handle,
141 uint64_t offset, 126 uint64_t offset,
142 uint64_t num_bytes, 127 uint64_t num_bytes,
143 void** buffer, 128 void** buffer,
144 MojoMapBufferFlags flags) { 129 MojoMapBufferFlags flags) {
145 assert(g_core); 130 return mojo::system::Core::GetInstance()->MapBuffer(
146 return g_core->MapBuffer(buffer_handle, offset, num_bytes, buffer, flags); 131 buffer_handle, offset, num_bytes, buffer, flags);
147 } 132 }
148 133
149 MojoResult MojoUnmapBuffer(void* buffer) { 134 MojoResult MojoUnmapBuffer(void* buffer) {
150 assert(g_core); 135 return mojo::system::Core::GetInstance()->UnmapBuffer(buffer);
151 return g_core->UnmapBuffer(buffer);
152 } 136 }
153 137
154 } // extern "C" 138 } // extern "C"
155
156 namespace mojo {
157
158 Core::~Core() {
159 }
160
161 // static
162 void Core::Init(Core* core) {
163 assert(!g_core);
164 g_core = core;
165 }
166
167 // static
168 Core* Core::Get() {
169 return g_core;
170 }
171
172 // static
173 void Core::Reset() {
174 g_core = NULL;
175 }
176
177 } // namespace mojo
OLDNEW
« mojo/system/core.cc ('K') | « mojo/system/dispatcher.h ('k') | mojo/system/handle_table.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698