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

Side by Side Diff: mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl

Issue 703273002: Update mojo sdk to rev 04a510fb37db10642e156957f9b2c11c2f6442ac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix content/child -> mojo/common linking Created 6 years, 1 month 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 {%- import "interface_macros.tmpl" as interface_macros %} 1 {%- import "interface_macros.tmpl" as interface_macros %}
2 {%- set class_name = interface.name %} 2 {%- set class_name = interface.name %}
3 {%- set proxy_name = interface.name ~ "Proxy" %} 3 {%- set proxy_name = interface.name ~ "Proxy" %}
4 {%- set namespace_as_string = "%s"|format(namespace|replace(".","::")) %} 4 {%- set namespace_as_string = "%s"|format(namespace|replace(".","::")) %}
5 5
6 {%- macro alloc_params(parameters) %} 6 {%- macro alloc_params(parameters) %}
7 {%- for param in parameters %} 7 {%- for param in parameters %}
8 {%- if param.kind|is_object_kind %} 8 {%- if param.kind|is_object_kind %}
9 {{param.kind|cpp_result_type}} p{{loop.index}}; 9 {{param.kind|cpp_result_type}} p{{loop.index}};
10 Deserialize_(params->{{param.name}}.ptr, &p{{loop.index}}); 10 Deserialize_(params->{{param.name}}.ptr, &p{{loop.index}});
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 switch (message->header()->name) { 223 switch (message->header()->name) {
224 {%- for method in interface.methods %} 224 {%- for method in interface.methods %}
225 case internal::k{{class_name}}_{{method.name}}_Name: { 225 case internal::k{{class_name}}_{{method.name}}_Name: {
226 {%- if method.response_parameters == None %} 226 {%- if method.response_parameters == None %}
227 internal::{{class_name}}_{{method.name}}_Params_Data* params = 227 internal::{{class_name}}_{{method.name}}_Params_Data* params =
228 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data* >( 228 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data* >(
229 message->mutable_payload()); 229 message->mutable_payload());
230 230
231 params->DecodePointersAndHandles(message->mutable_handles()); 231 params->DecodePointersAndHandles(message->mutable_handles());
232 {{alloc_params(method.parameters)|indent(6)}} 232 {{alloc_params(method.parameters)|indent(6)}}
233 // A null |sink_| typically means there is a missing call to
234 // InterfacePtr::set_client().
235 assert(sink_);
233 sink_->{{method.name}}({{pass_params(method.parameters)}}); 236 sink_->{{method.name}}({{pass_params(method.parameters)}});
234 return true; 237 return true;
235 {%- else %} 238 {%- else %}
236 break; 239 break;
237 {%- endif %} 240 {%- endif %}
238 } 241 }
239 {%- endfor %} 242 {%- endfor %}
240 } 243 }
241 {%- endif %} 244 {%- endif %}
242 return false; 245 return false;
243 } 246 }
244 247
245 bool {{class_name}}Stub::AcceptWithResponder( 248 bool {{class_name}}Stub::AcceptWithResponder(
246 mojo::Message* message, mojo::MessageReceiver* responder) { 249 mojo::Message* message, mojo::MessageReceiver* responder) {
247 {%- if interface.methods %} 250 {%- if interface.methods %}
248 switch (message->header()->name) { 251 switch (message->header()->name) {
249 {%- for method in interface.methods %} 252 {%- for method in interface.methods %}
250 case internal::k{{class_name}}_{{method.name}}_Name: { 253 case internal::k{{class_name}}_{{method.name}}_Name: {
251 {%- if method.response_parameters != None %} 254 {%- if method.response_parameters != None %}
252 internal::{{class_name}}_{{method.name}}_Params_Data* params = 255 internal::{{class_name}}_{{method.name}}_Params_Data* params =
253 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data* >( 256 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data* >(
254 message->mutable_payload()); 257 message->mutable_payload());
255 258
256 params->DecodePointersAndHandles(message->mutable_handles()); 259 params->DecodePointersAndHandles(message->mutable_handles());
257 {{interface_macros.declare_callback(method)}}::Runnable* runnable = 260 {{interface_macros.declare_callback(method)}}::Runnable* runnable =
258 new {{class_name}}_{{method.name}}_ProxyToResponder( 261 new {{class_name}}_{{method.name}}_ProxyToResponder(
259 message->request_id(), responder); 262 message->request_id(), responder);
260 {{interface_macros.declare_callback(method)}} callback(runnable); 263 {{interface_macros.declare_callback(method)}} callback(runnable);
261 {{alloc_params(method.parameters)|indent(6)}} 264 {{alloc_params(method.parameters)|indent(6)}}
265 // A null |sink_| typically means there is a missing call to
266 // InterfacePtr::set_client().
267 assert(sink_);
262 sink_->{{method.name}}( 268 sink_->{{method.name}}(
263 {%- if method.parameters -%}{{pass_params(method.parameters)}}, {% endif -%}call back); 269 {%- if method.parameters -%}{{pass_params(method.parameters)}}, {% endif -%}call back);
264 return true; 270 return true;
265 {%- else %} 271 {%- else %}
266 break; 272 break;
267 {%- endif %} 273 {%- endif %}
268 } 274 }
269 {%- endfor %} 275 {%- endfor %}
270 } 276 }
271 {%- endif %} 277 {%- endif %}
(...skipping 26 matching lines...) Expand all
298 if (!internal::{{class_name}}_{{method.name}}_Params_Data::Validate( 304 if (!internal::{{class_name}}_{{method.name}}_Params_Data::Validate(
299 message->payload(), &bounds_checker)) { 305 message->payload(), &bounds_checker)) {
300 return false; 306 return false;
301 } 307 }
302 break; 308 break;
303 } 309 }
304 {%- endfor %} 310 {%- endfor %}
305 } 311 }
306 {%- endif %} 312 {%- endif %}
307 313
314 // A null |sink_| typically means there is a missing call to
315 // InterfacePtr::set_client().
316 assert(sink_);
308 return sink_->Accept(message); 317 return sink_->Accept(message);
309 } 318 }
310 319
311 {#--- Response validator definitions #} 320 {#--- Response validator definitions #}
312 {% if interface|has_callbacks %} 321 {% if interface|has_callbacks %}
313 {{class_name}}ResponseValidator::{{class_name}}ResponseValidator( 322 {{class_name}}ResponseValidator::{{class_name}}ResponseValidator(
314 mojo::MessageReceiver* sink) : MessageFilter(sink) { 323 mojo::MessageReceiver* sink) : MessageFilter(sink) {
315 } 324 }
316 325
317 bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) { 326 bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) {
318 {%- if interface.methods %} 327 {%- if interface.methods %}
319 switch (message->header()->name) { 328 switch (message->header()->name) {
320 {%- for method in interface.methods if method.response_parameters != None %} 329 {%- for method in interface.methods if method.response_parameters != None %}
321 case internal::k{{class_name}}_{{method.name}}_Name: { 330 case internal::k{{class_name}}_{{method.name}}_Name: {
322 if (!message->has_flag(mojo::internal::kMessageIsResponse)) 331 if (!message->has_flag(mojo::internal::kMessageIsResponse))
323 break; 332 break;
324 mojo::internal::BoundsChecker bounds_checker( 333 mojo::internal::BoundsChecker bounds_checker(
325 message->payload(), message->payload_num_bytes(), 334 message->payload(), message->payload_num_bytes(),
326 message->handles()->size()); 335 message->handles()->size());
327 if (!internal::{{class_name}}_{{method.name}}_ResponseParams_Data::Validat e( 336 if (!internal::{{class_name}}_{{method.name}}_ResponseParams_Data::Validat e(
328 message->payload(), &bounds_checker)) { 337 message->payload(), &bounds_checker)) {
329 return false; 338 return false;
330 } 339 }
331 break; 340 break;
332 } 341 }
333 {%- endfor %} 342 {%- endfor %}
334 } 343 }
335 {%- endif %} 344 {%- endif %}
336 345
346 // A null |sink_| typically means there is a missing call to
347 // InterfacePtr::set_client().
348 assert(sink_);
337 return sink_->Accept(message); 349 return sink_->Accept(message);
338 } 350 }
339 {%- endif -%} 351 {%- endif -%}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698