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

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

Powered by Google App Engine
This is Rietveld 408576698