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

Side by Side Diff: mojo/system/dispatcher.h

Issue 219023010: Mojo: RawSharedBuffer::Mapping -> RawSharedBufferMapping. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: win 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
« no previous file with comments | « mojo/system/core_impl.cc ('k') | mojo/system/dispatcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #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
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
16 #include "base/synchronization/lock.h" 16 #include "base/synchronization/lock.h"
17 #include "mojo/public/c/system/core.h" 17 #include "mojo/public/c/system/core.h"
18 // TODO(vtl): We need this since we can't forward declare
19 // |RawSharedBuffer::Mapping|. Maybe fix this.
20 #include "mojo/system/raw_shared_buffer.h"
21 #include "mojo/system/system_impl_export.h" 18 #include "mojo/system/system_impl_export.h"
22 19
23 namespace mojo { 20 namespace mojo {
24 namespace system { 21 namespace system {
25 22
26 class Channel; 23 class Channel;
27 class CoreImpl; 24 class CoreImpl;
28 class Dispatcher; 25 class Dispatcher;
29 class DispatcherTransport; 26 class DispatcherTransport;
30 class HandleTable; 27 class HandleTable;
31 class LocalMessagePipeEndpoint; 28 class LocalMessagePipeEndpoint;
32 class MessageInTransit; 29 class MessageInTransit;
33 class ProxyMessagePipeEndpoint; 30 class ProxyMessagePipeEndpoint;
31 class RawSharedBufferMapping;
34 class Waiter; 32 class Waiter;
35 33
36 namespace test { 34 namespace test {
37 35
38 // Test helper. We need to declare it here so we can friend it. 36 // Test helper. We need to declare it here so we can friend it.
39 MOJO_SYSTEM_IMPL_EXPORT DispatcherTransport DispatcherTryStartTransport( 37 MOJO_SYSTEM_IMPL_EXPORT DispatcherTransport DispatcherTryStartTransport(
40 Dispatcher* dispatcher); 38 Dispatcher* dispatcher);
41 39
42 } // namespace test 40 } // namespace test
43 41
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 MojoResult EndReadData(uint32_t num_bytes_read); 98 MojoResult EndReadData(uint32_t num_bytes_read);
101 // |options| may be null. |new_dispatcher| must not be null, but 99 // |options| may be null. |new_dispatcher| must not be null, but
102 // |*new_dispatcher| should be null (and will contain the dispatcher for the 100 // |*new_dispatcher| should be null (and will contain the dispatcher for the
103 // new handle on success). 101 // new handle on success).
104 MojoResult DuplicateBufferHandle( 102 MojoResult DuplicateBufferHandle(
105 const MojoDuplicateBufferHandleOptions* options, 103 const MojoDuplicateBufferHandleOptions* options,
106 scoped_refptr<Dispatcher>* new_dispatcher); 104 scoped_refptr<Dispatcher>* new_dispatcher);
107 MojoResult MapBuffer(uint64_t offset, 105 MojoResult MapBuffer(uint64_t offset,
108 uint64_t num_bytes, 106 uint64_t num_bytes,
109 MojoMapBufferFlags flags, 107 MojoMapBufferFlags flags,
110 scoped_ptr<RawSharedBuffer::Mapping>* mapping); 108 scoped_ptr<RawSharedBufferMapping>* mapping);
111 109
112 // Adds a waiter to this dispatcher. The waiter will be woken up when this 110 // Adds a waiter to this dispatcher. The waiter will be woken up when this
113 // object changes state to satisfy |flags| with result |wake_result| (which 111 // object changes state to satisfy |flags| with result |wake_result| (which
114 // must be >= 0, i.e., a success status). It will also be woken up when it 112 // must be >= 0, i.e., a success status). It will also be woken up when it
115 // becomes impossible for the object to ever satisfy |flags| with a suitable 113 // becomes impossible for the object to ever satisfy |flags| with a suitable
116 // error status. 114 // error status.
117 // 115 //
118 // Returns: 116 // Returns:
119 // - |MOJO_RESULT_OK| if the waiter was added; 117 // - |MOJO_RESULT_OK| if the waiter was added;
120 // - |MOJO_RESULT_ALREADY_EXISTS| if |flags| is already satisfied; 118 // - |MOJO_RESULT_ALREADY_EXISTS| if |flags| is already satisfied;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 uint32_t* buffer_num_bytes, 220 uint32_t* buffer_num_bytes,
223 MojoReadDataFlags flags); 221 MojoReadDataFlags flags);
224 virtual MojoResult EndReadDataImplNoLock(uint32_t num_bytes_read); 222 virtual MojoResult EndReadDataImplNoLock(uint32_t num_bytes_read);
225 virtual MojoResult DuplicateBufferHandleImplNoLock( 223 virtual MojoResult DuplicateBufferHandleImplNoLock(
226 const MojoDuplicateBufferHandleOptions* options, 224 const MojoDuplicateBufferHandleOptions* options,
227 scoped_refptr<Dispatcher>* new_dispatcher); 225 scoped_refptr<Dispatcher>* new_dispatcher);
228 virtual MojoResult MapBufferImplNoLock( 226 virtual MojoResult MapBufferImplNoLock(
229 uint64_t offset, 227 uint64_t offset,
230 uint64_t num_bytes, 228 uint64_t num_bytes,
231 MojoMapBufferFlags flags, 229 MojoMapBufferFlags flags,
232 scoped_ptr<RawSharedBuffer::Mapping>* mapping); 230 scoped_ptr<RawSharedBufferMapping>* mapping);
233 virtual MojoResult AddWaiterImplNoLock(Waiter* waiter, 231 virtual MojoResult AddWaiterImplNoLock(Waiter* waiter,
234 MojoWaitFlags flags, 232 MojoWaitFlags flags,
235 MojoResult wake_result); 233 MojoResult wake_result);
236 virtual void RemoveWaiterImplNoLock(Waiter* waiter); 234 virtual void RemoveWaiterImplNoLock(Waiter* waiter);
237 235
238 // These implement the API used to serialize dispatchers to a |Channel| 236 // These implement the API used to serialize dispatchers to a |Channel|
239 // (described below). They will only be called on a dispatcher that's attached 237 // (described below). They will only be called on a dispatcher that's attached
240 // to and "owned" by a |MessageInTransit|. See the non-"impl" versions for 238 // to and "owned" by a |MessageInTransit|. See the non-"impl" versions for
241 // more information. 239 // more information.
242 // TODO(vtl): Consider making these pure virtual once most things support 240 // TODO(vtl): Consider making these pure virtual once most things support
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 331
334 Dispatcher* dispatcher_; 332 Dispatcher* dispatcher_;
335 333
336 // Copy and assign allowed. 334 // Copy and assign allowed.
337 }; 335 };
338 336
339 } // namespace system 337 } // namespace system
340 } // namespace mojo 338 } // namespace mojo
341 339
342 #endif // MOJO_SYSTEM_DISPATCHER_H_ 340 #endif // MOJO_SYSTEM_DISPATCHER_H_
OLDNEW
« no previous file with comments | « mojo/system/core_impl.cc ('k') | mojo/system/dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698