OLD | NEW |
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 #ifndef MOJO_EDK_SYSTEM_CORE_H_ | 5 #ifndef MOJO_EDK_SYSTEM_CORE_H_ |
6 #define MOJO_EDK_SYSTEM_CORE_H_ | 6 #define MOJO_EDK_SYSTEM_CORE_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <functional> | 10 #include <functional> |
11 | 11 |
12 #include "mojo/edk/system/handle_table.h" | 12 #include "mojo/edk/system/handle_table.h" |
13 #include "mojo/edk/system/mapping_table.h" | 13 #include "mojo/edk/system/mapping_table.h" |
14 #include "mojo/edk/system/memory.h" | 14 #include "mojo/edk/system/memory.h" |
15 #include "mojo/edk/util/mutex.h" | 15 #include "mojo/edk/util/mutex.h" |
16 #include "mojo/edk/util/ref_ptr.h" | 16 #include "mojo/edk/util/ref_ptr.h" |
17 #include "mojo/edk/util/thread_annotations.h" | 17 #include "mojo/edk/util/thread_annotations.h" |
18 #include "mojo/public/c/system/buffer.h" | 18 #include "mojo/public/c/system/buffer.h" |
19 #include "mojo/public/c/system/data_pipe.h" | 19 #include "mojo/public/c/system/data_pipe.h" |
20 #include "mojo/public/c/system/handle.h" | 20 #include "mojo/public/c/system/handle.h" |
21 #include "mojo/public/c/system/message_pipe.h" | 21 #include "mojo/public/c/system/message_pipe.h" |
22 #include "mojo/public/c/system/result.h" | 22 #include "mojo/public/c/system/result.h" |
23 #include "mojo/public/c/system/types.h" | 23 #include "mojo/public/c/system/time.h" |
24 #include "mojo/public/cpp/system/macros.h" | 24 #include "mojo/public/cpp/system/macros.h" |
25 | 25 |
26 namespace mojo { | 26 namespace mojo { |
27 | 27 |
28 namespace embedder { | 28 namespace embedder { |
29 class PlatformSupport; | 29 class PlatformSupport; |
30 } | 30 } |
31 | 31 |
32 namespace system { | 32 namespace system { |
33 | 33 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 } | 76 } |
77 | 77 |
78 // --------------------------------------------------------------------------- | 78 // --------------------------------------------------------------------------- |
79 | 79 |
80 // The following methods are essentially implementations of the Mojo Core | 80 // The following methods are essentially implementations of the Mojo Core |
81 // functions of the Mojo API, with the C interface translated to C++ by | 81 // functions of the Mojo API, with the C interface translated to C++ by |
82 // "mojo/edk/embedder/entrypoints.cc". The best way to understand the contract | 82 // "mojo/edk/embedder/entrypoints.cc". The best way to understand the contract |
83 // of these methods is to look at the header files defining the corresponding | 83 // of these methods is to look at the header files defining the corresponding |
84 // API functions, referenced below. | 84 // API functions, referenced below. |
85 | 85 |
| 86 // This method corresponds to the API function defined in |
| 87 // "mojo/public/c/system/time.h": |
| 88 |
| 89 MojoTimeTicks GetTimeTicksNow(); |
| 90 |
| 91 // This method corresponds to the API function defined in |
| 92 // "mojo/public/c/system/handle.h": |
| 93 MojoResult Close(MojoHandle handle); |
| 94 |
86 // These methods correspond to the API functions defined in | 95 // These methods correspond to the API functions defined in |
87 // "mojo/public/c/system/functions.h": | 96 // "mojo/public/c/system/wait.h": |
88 MojoTimeTicks GetTimeTicksNow(); | |
89 MojoResult Close(MojoHandle handle); | |
90 MojoResult Wait(MojoHandle handle, | 97 MojoResult Wait(MojoHandle handle, |
91 MojoHandleSignals signals, | 98 MojoHandleSignals signals, |
92 MojoDeadline deadline, | 99 MojoDeadline deadline, |
93 UserPointer<MojoHandleSignalsState> signals_state); | 100 UserPointer<MojoHandleSignalsState> signals_state); |
94 MojoResult WaitMany(UserPointer<const MojoHandle> handles, | 101 MojoResult WaitMany(UserPointer<const MojoHandle> handles, |
95 UserPointer<const MojoHandleSignals> signals, | 102 UserPointer<const MojoHandleSignals> signals, |
96 uint32_t num_handles, | 103 uint32_t num_handles, |
97 MojoDeadline deadline, | 104 MojoDeadline deadline, |
98 UserPointer<uint32_t> result_index, | 105 UserPointer<uint32_t> result_index, |
99 UserPointer<MojoHandleSignalsState> signals_states); | 106 UserPointer<MojoHandleSignalsState> signals_states); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 util::Mutex mapping_table_mutex_; | 195 util::Mutex mapping_table_mutex_; |
189 MappingTable mapping_table_ MOJO_GUARDED_BY(mapping_table_mutex_); | 196 MappingTable mapping_table_ MOJO_GUARDED_BY(mapping_table_mutex_); |
190 | 197 |
191 MOJO_DISALLOW_COPY_AND_ASSIGN(Core); | 198 MOJO_DISALLOW_COPY_AND_ASSIGN(Core); |
192 }; | 199 }; |
193 | 200 |
194 } // namespace system | 201 } // namespace system |
195 } // namespace mojo | 202 } // namespace mojo |
196 | 203 |
197 #endif // MOJO_EDK_SYSTEM_CORE_H_ | 204 #endif // MOJO_EDK_SYSTEM_CORE_H_ |
OLD | NEW |