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

Side by Side Diff: mojo/public/cpp/bindings/interface_request.h

Issue 2589663003: mojo:: Rename mojo::GetProxy() to mojo::MakeRequest() (Closed)
Patch Set: Rebase Created 3 years, 12 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
OLDNEW
1 // Copyright 2014 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 #ifndef MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_REQUEST_H_ 5 #ifndef MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_REQUEST_H_
6 #define MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_REQUEST_H_ 6 #define MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_REQUEST_H_
7 7
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 // Given the following interface: 113 // Given the following interface:
114 // 114 //
115 // interface Database { 115 // interface Database {
116 // OpenTable(Table& table); 116 // OpenTable(Table& table);
117 // } 117 // }
118 // 118 //
119 // The client would have code similar to the following: 119 // The client would have code similar to the following:
120 // 120 //
121 // DatabasePtr database = ...; // Connect to database. 121 // DatabasePtr database = ...; // Connect to database.
122 // TablePtr table; 122 // TablePtr table;
123 // database->OpenTable(GetProxy(&table)); 123 // database->OpenTable(MakeRequest(&table));
124 // 124 //
125 // Upon return from GetProxy, |table| is ready to have methods called on it. 125 // Upon return from MakeRequest, |table| is ready to have methods called on it.
126 // 126 //
127 // Example #2: Registering a local implementation with a remote service. 127 // Example #2: Registering a local implementation with a remote service.
128 // ===================================================================== 128 // =====================================================================
129 // 129 //
130 // Given the following interface 130 // Given the following interface
131 // interface Collector { 131 // interface Collector {
132 // RegisterSource(Source source); 132 // RegisterSource(Source source);
133 // } 133 // }
134 // 134 //
135 // The client would have code similar to the following: 135 // The client would have code similar to the following:
136 // 136 //
137 // CollectorPtr collector = ...; // Connect to Collector. 137 // CollectorPtr collector = ...; // Connect to Collector.
138 // SourcePtr source; 138 // SourcePtr source;
139 // InterfaceRequest<Source> source_request = GetProxy(&source); 139 // InterfaceRequest<Source> source_request = MakeRequest(&source);
140 // collector->RegisterSource(std::move(source)); 140 // collector->RegisterSource(std::move(source));
141 // CreateSource(std::move(source_request)); // Create implementation locally. 141 // CreateSource(std::move(source_request)); // Create implementation locally.
142 // 142 //
143 template <typename Interface> 143 template <typename Interface>
144 InterfaceRequest<Interface> GetProxy( 144 InterfaceRequest<Interface> MakeRequest(
145 InterfacePtr<Interface>* ptr, 145 InterfacePtr<Interface>* ptr,
146 scoped_refptr<base::SingleThreadTaskRunner> runner = 146 scoped_refptr<base::SingleThreadTaskRunner> runner =
147 base::ThreadTaskRunnerHandle::Get()) { 147 base::ThreadTaskRunnerHandle::Get()) {
148 MessagePipe pipe; 148 MessagePipe pipe;
149 ptr->Bind(InterfacePtrInfo<Interface>(std::move(pipe.handle0), 0u), 149 ptr->Bind(InterfacePtrInfo<Interface>(std::move(pipe.handle0), 0u),
150 std::move(runner)); 150 std::move(runner));
151 return MakeRequest<Interface>(std::move(pipe.handle1)); 151 return MakeRequest<Interface>(std::move(pipe.handle1));
152 } 152 }
153 153
154 // Fuses an InterfaceRequest<T> endpoint with an InterfacePtrInfo<T> endpoint. 154 // Fuses an InterfaceRequest<T> endpoint with an InterfacePtrInfo<T> endpoint.
155 // Returns |true| on success or |false| on failure. 155 // Returns |true| on success or |false| on failure.
156 template <typename Interface> 156 template <typename Interface>
157 bool FuseInterface(InterfaceRequest<Interface> request, 157 bool FuseInterface(InterfaceRequest<Interface> request,
158 InterfacePtrInfo<Interface> proxy_info) { 158 InterfacePtrInfo<Interface> proxy_info) {
159 MojoResult result = FuseMessagePipes(request.PassMessagePipe(), 159 MojoResult result = FuseMessagePipes(request.PassMessagePipe(),
160 proxy_info.PassHandle()); 160 proxy_info.PassHandle());
161 return result == MOJO_RESULT_OK; 161 return result == MOJO_RESULT_OK;
162 } 162 }
163 163
164 } // namespace mojo 164 } // namespace mojo
165 165
166 #endif // MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_REQUEST_H_ 166 #endif // MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_REQUEST_H_
OLDNEW
« no previous file with comments | « mojo/public/cpp/bindings/binding_set.h ('k') | mojo/public/cpp/bindings/tests/associated_interface_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698