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

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

Issue 273233002: Mojo cpp bindings: add support for validating incoming messages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync and rebase Created 6 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 | Annotate | Revision Log
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 4
5 {%- macro pass_params(parameters) %} 5 {%- macro pass_params(parameters) %}
6 {%- for param in parameters %} 6 {%- for param in parameters %}
7 {%- if param.kind|is_object_kind -%} 7 {%- if param.kind|is_object_kind -%}
8 mojo::internal::Wrap(params->{{param.name}}()) 8 mojo::internal::Wrap(params->{{param.name}}())
9 {%- elif param.kind|is_interface_kind -%} 9 {%- elif param.kind|is_interface_kind -%}
10 mojo::MakeProxy<{{param.kind.name}}>(mojo::MakePassable(params->{{param.name}}() ).Pass()) 10 mojo::MakeProxy<{{param.kind.name}}>(mojo::MakePassable(params->{{param.name}}() ).Pass())
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 return true; 236 return true;
237 {%- else %} 237 {%- else %}
238 break; 238 break;
239 {%- endif %} 239 {%- endif %}
240 } 240 }
241 {%- endfor %} 241 {%- endfor %}
242 } 242 }
243 {%- endif %} 243 {%- endif %}
244 return false; 244 return false;
245 } 245 }
246
247 {#--- Request validator definitions #}
248
249 {{class_name}}RequestValidator::{{class_name}}RequestValidator(
250 mojo::MessageReceiver* sink) : MessageFilter(sink) {
251 }
252
253 bool {{class_name}}RequestValidator::Accept(mojo::Message* message) {
254 // TODO(yzshen): implement validation logic.
255 return sink_->Accept(message);
256 }
257
258 {#--- Response validator definitions #}
259 {% if interface|has_callbacks %}
260 {{class_name}}ResponseValidator::{{class_name}}ResponseValidator(
261 mojo::MessageReceiver* sink) : MessageFilter(sink) {
262 }
263
264 bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) {
265 // TODO(yzshen): implement validation logic.
266 return sink_->Accept(message);
267 }
268 {%- endif -%}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698