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

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: rebase onto the InterfacePtr change 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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 return true; 229 return true;
230 {%- else %} 230 {%- else %}
231 break; 231 break;
232 {%- endif %} 232 {%- endif %}
233 } 233 }
234 {%- endfor %} 234 {%- endfor %}
235 } 235 }
236 {%- endif %} 236 {%- endif %}
237 return false; 237 return false;
238 } 238 }
239
240 {#--- Request validator definitions #}
241
242 {{class_name}}RequestValidator::{{class_name}}RequestValidator(
243 mojo::MessageReceiver* next) : MessageValidator(next) {
244 }
245
246 bool {{class_name}}RequestValidator::Accept(mojo::Message* message) {
247 // TODO(yzshen): implement validation logic.
248 return next_->Accept(message);
249 }
250
251 {#--- Response validator definitions #}
252 {% if interface|has_callbacks %}
253 {{class_name}}ResponseValidator::{{class_name}}ResponseValidator(
254 mojo::MessageReceiver* next) : MessageValidator(next) {
255 }
256
257 bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) {
258 // TODO(yzshen): implement validation logic.
259 return next_->Accept(message);
260 }
261 {%- endif -%}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698