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_SYSTEM_DISPATCHER_H_ | 5 #ifndef MOJO_SYSTEM_DISPATCHER_H_ |
6 #define MOJO_SYSTEM_DISPATCHER_H_ | 6 #define MOJO_SYSTEM_DISPATCHER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 // written; not that |this| must not be in |transports|. On success, all the | 80 // written; not that |this| must not be in |transports|. On success, all the |
81 // dispatchers in |transports| must have been moved to a closed state; on | 81 // dispatchers in |transports| must have been moved to a closed state; on |
82 // failure, they should remain in their original state. | 82 // failure, they should remain in their original state. |
83 MojoResult WriteMessage(const void* bytes, | 83 MojoResult WriteMessage(const void* bytes, |
84 uint32_t num_bytes, | 84 uint32_t num_bytes, |
85 std::vector<DispatcherTransport>* transports, | 85 std::vector<DispatcherTransport>* transports, |
86 MojoWriteMessageFlags flags); | 86 MojoWriteMessageFlags flags); |
87 // |dispatchers| must be non-null but empty, if |num_dispatchers| is non-null | 87 // |dispatchers| must be non-null but empty, if |num_dispatchers| is non-null |
88 // and nonzero. On success, it will be set to the dispatchers to be received | 88 // and nonzero. On success, it will be set to the dispatchers to be received |
89 // (and assigned handles) as part of the message. | 89 // (and assigned handles) as part of the message. |
90 MojoResult ReadMessage(void* bytes, | 90 MojoResult ReadMessage(UserPointer<void> bytes, |
91 uint32_t* num_bytes, | 91 UserPointer<uint32_t> num_bytes, |
92 DispatcherVector* dispatchers, | 92 DispatcherVector* dispatchers, |
93 uint32_t* num_dispatchers, | 93 uint32_t* num_dispatchers, |
94 MojoReadMessageFlags flags); | 94 MojoReadMessageFlags flags); |
95 MojoResult WriteData(const void* elements, | 95 MojoResult WriteData(const void* elements, |
96 uint32_t* elements_num_bytes, | 96 uint32_t* elements_num_bytes, |
97 MojoWriteDataFlags flags); | 97 MojoWriteDataFlags flags); |
98 MojoResult BeginWriteData(UserPointer<void*> buffer, | 98 MojoResult BeginWriteData(UserPointer<void*> buffer, |
99 UserPointer<uint32_t> buffer_num_bytes, | 99 UserPointer<uint32_t> buffer_num_bytes, |
100 MojoWriteDataFlags flags); | 100 MojoWriteDataFlags flags); |
101 MojoResult EndWriteData(uint32_t num_bytes_written); | 101 MojoResult EndWriteData(uint32_t num_bytes_written); |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 | 210 |
211 // These are to be overridden by subclasses (if necessary). They are never | 211 // These are to be overridden by subclasses (if necessary). They are never |
212 // called after the dispatcher has been closed. They are called under |lock_|. | 212 // called after the dispatcher has been closed. They are called under |lock_|. |
213 // See the descriptions of the methods without the "ImplNoLock" for more | 213 // See the descriptions of the methods without the "ImplNoLock" for more |
214 // information. | 214 // information. |
215 virtual MojoResult WriteMessageImplNoLock( | 215 virtual MojoResult WriteMessageImplNoLock( |
216 const void* bytes, | 216 const void* bytes, |
217 uint32_t num_bytes, | 217 uint32_t num_bytes, |
218 std::vector<DispatcherTransport>* transports, | 218 std::vector<DispatcherTransport>* transports, |
219 MojoWriteMessageFlags flags); | 219 MojoWriteMessageFlags flags); |
220 virtual MojoResult ReadMessageImplNoLock(void* bytes, | 220 virtual MojoResult ReadMessageImplNoLock(UserPointer<void> bytes, |
221 uint32_t* num_bytes, | 221 UserPointer<uint32_t> num_bytes, |
222 DispatcherVector* dispatchers, | 222 DispatcherVector* dispatchers, |
223 uint32_t* num_dispatchers, | 223 uint32_t* num_dispatchers, |
224 MojoReadMessageFlags flags); | 224 MojoReadMessageFlags flags); |
225 virtual MojoResult WriteDataImplNoLock(const void* elements, | 225 virtual MojoResult WriteDataImplNoLock(const void* elements, |
226 uint32_t* num_bytes, | 226 uint32_t* num_bytes, |
227 MojoWriteDataFlags flags); | 227 MojoWriteDataFlags flags); |
228 virtual MojoResult BeginWriteDataImplNoLock( | 228 virtual MojoResult BeginWriteDataImplNoLock( |
229 UserPointer<void*> buffer, | 229 UserPointer<void*> buffer, |
230 UserPointer<uint32_t> buffer_num_bytes, | 230 UserPointer<uint32_t> buffer_num_bytes, |
231 MojoWriteDataFlags flags); | 231 MojoWriteDataFlags flags); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 | 373 |
374 Dispatcher* dispatcher_; | 374 Dispatcher* dispatcher_; |
375 | 375 |
376 // Copy and assign allowed. | 376 // Copy and assign allowed. |
377 }; | 377 }; |
378 | 378 |
379 } // namespace system | 379 } // namespace system |
380 } // namespace mojo | 380 } // namespace mojo |
381 | 381 |
382 #endif // MOJO_SYSTEM_DISPATCHER_H_ | 382 #endif // MOJO_SYSTEM_DISPATCHER_H_ |
OLD | NEW |