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

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

Issue 611633002: mojom: Add associative arrays to the mojom language. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moved test classes to their own shared file. Created 6 years, 2 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 {%- 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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 {# TODO(yzshen): Consider refactoring to share code with 48 {# TODO(yzshen): Consider refactoring to share code with
49 struct_serialization_definition.tmpl #} 49 struct_serialization_definition.tmpl #}
50 {{params_name}}* params = 50 {{params_name}}* params =
51 {{params_name}}::New(builder.buffer()); 51 {{params_name}}::New(builder.buffer());
52 {#--- Sets #} 52 {#--- Sets #}
53 {% for param in parameters %} 53 {% for param in parameters %}
54 {%- if param.kind|is_object_kind %} 54 {%- if param.kind|is_object_kind %}
55 {%- if param.kind|is_any_array_kind %} 55 {%- if param.kind|is_any_array_kind %}
56 mojo::SerializeArray_<{{param.kind|get_array_validate_params|indent(24)}}>( 56 mojo::SerializeArray_<{{param.kind|get_array_validate_params|indent(24)}}>(
57 mojo::internal::Forward(in_{{param.name}}), builder.buffer(), &params->{{p aram.name}}.ptr); 57 mojo::internal::Forward(in_{{param.name}}), builder.buffer(), &params->{{p aram.name}}.ptr);
58 {%- elif param.kind|is_map_kind %}
59 mojo::SerializeMap_<{{param.kind.value_kind|get_map_validate_params|indent(24) }}>(
60 mojo::internal::Forward(in_{{param.name}}), builder.buffer(), &params->{{p aram.name}}.ptr);
58 {%- else %} 61 {%- else %}
59 Serialize_(mojo::internal::Forward(in_{{param.name}}), builder.buffer(), &para ms->{{param.name}}.ptr); 62 Serialize_(mojo::internal::Forward(in_{{param.name}}), builder.buffer(), &para ms->{{param.name}}.ptr);
60 {%- endif %} 63 {%- endif %}
61 {%- if not param.kind|is_nullable_kind %} 64 {%- if not param.kind|is_nullable_kind %}
62 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( 65 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
63 !params->{{param.name}}.ptr, 66 !params->{{param.name}}.ptr,
64 mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, 67 mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
65 "null {{param.name}} argument in {{params_description}}"); 68 "null {{param.name}} argument in {{params_description}}");
66 {%- endif %} 69 {%- endif %}
67 {%- elif param.kind|is_any_handle_kind %} 70 {%- elif param.kind|is_any_handle_kind %}
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 } 328 }
326 break; 329 break;
327 } 330 }
328 {%- endfor %} 331 {%- endfor %}
329 } 332 }
330 {%- endif %} 333 {%- endif %}
331 334
332 return sink_->Accept(message); 335 return sink_->Accept(message);
333 } 336 }
334 {%- endif -%} 337 {%- endif -%}
OLDNEW
« no previous file with comments | « mojo/public/mojo_public.gyp ('k') | mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698