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

Side by Side Diff: mojo/edk/system/core.h

Issue 1947083003: EDK: Replace HandleTable::GetDispatcher() with GetHandle(). (Closed) Base URL: https://github.com/domokit/mojo.git@work788_edk_handle_13.2
Patch Set: Created 4 years, 7 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
« no previous file with comments | « no previous file | mojo/edk/system/core.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_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>
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 45
46 // |*platform_support| must outlive this object. 46 // |*platform_support| must outlive this object.
47 explicit Core(embedder::PlatformSupport* platform_support); 47 explicit Core(embedder::PlatformSupport* platform_support);
48 virtual ~Core(); 48 virtual ~Core();
49 49
50 // Adds |handle| (which must have a dispatcher) to the handle table, returning 50 // Adds |handle| (which must have a dispatcher) to the handle table, returning
51 // the handle value for it. Returns |MOJO_HANDLE_INVALID| on failure, namely 51 // the handle value for it. Returns |MOJO_HANDLE_INVALID| on failure, namely
52 // if the handle table is full. 52 // if the handle table is full.
53 MojoHandle AddHandle(Handle&& handle); 53 MojoHandle AddHandle(Handle&& handle);
54 54
55 // Looks up the dispatcher for the given handle. On success, gets the 55 // Looks up the dispatcher for the given handle value. On success, gets the
56 // dispatcher for a given handle. On failure, returns an appropriate result 56 // dispatcher for a given handle value. On failure, returns an appropriate
57 // and leaves |dispatcher| alone), namely |MOJO_RESULT_INVALID_ARGUMENT| if 57 // result and leaves |dispatcher| alone), namely
58 // the handle is invalid or |MOJO_RESULT_BUSY| if the handle is marked as 58 // |MOJO_RESULT_INVALID_ARGUMENT| if the handle value is invalid or
59 // busy. 59 // |MOJO_RESULT_BUSY| if the handle is marked as busy.
60 MojoResult GetDispatcher(MojoHandle handle, 60 MojoResult GetDispatcher(MojoHandle handle_value,
61 util::RefPtr<Dispatcher>* dispatcher); 61 util::RefPtr<Dispatcher>* dispatcher);
62 62
63 // Like |GetDispatcher()|, but on success also removes the handle from the 63 // Like |GetDispatcher()|, but on success also removes the handle from the
64 // handle table. 64 // handle table.
65 MojoResult GetAndRemoveDispatcher(MojoHandle handle, 65 MojoResult GetAndRemoveDispatcher(MojoHandle handle_value,
66 util::RefPtr<Dispatcher>* dispatcher); 66 util::RefPtr<Dispatcher>* dispatcher);
67 67
68 // Watches on the given handle for the given signals, calling |callback| when 68 // Watches on the given handle for the given signals, calling |callback| when
69 // a signal is satisfied or when all signals become unsatisfiable. |callback| 69 // a signal is satisfied or when all signals become unsatisfiable. |callback|
70 // must satisfy stringent requirements -- see |Awakable::Awake()| in 70 // must satisfy stringent requirements -- see |Awakable::Awake()| in
71 // awakable.h. In particular, it must not call any Mojo system functions. 71 // awakable.h. In particular, it must not call any Mojo system functions.
72 MojoResult AsyncWait(MojoHandle handle, 72 MojoResult AsyncWait(MojoHandle handle,
73 MojoHandleSignals signals, 73 MojoHandleSignals signals,
74 const std::function<void(MojoResult)>& callback); 74 const std::function<void(MojoResult)>& callback);
75 75
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 util::Mutex mapping_table_mutex_; 211 util::Mutex mapping_table_mutex_;
212 MappingTable mapping_table_ MOJO_GUARDED_BY(mapping_table_mutex_); 212 MappingTable mapping_table_ MOJO_GUARDED_BY(mapping_table_mutex_);
213 213
214 MOJO_DISALLOW_COPY_AND_ASSIGN(Core); 214 MOJO_DISALLOW_COPY_AND_ASSIGN(Core);
215 }; 215 };
216 216
217 } // namespace system 217 } // namespace system
218 } // namespace mojo 218 } // namespace mojo
219 219
220 #endif // MOJO_EDK_SYSTEM_CORE_H_ 220 #endif // MOJO_EDK_SYSTEM_CORE_H_
OLDNEW
« no previous file with comments | « no previous file | mojo/edk/system/core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698