| OLD | NEW |
| 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 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 return false; | 244 return false; |
| 245 } | 245 } |
| 246 | 246 |
| 247 {#--- Request validator definitions #} | 247 {#--- Request validator definitions #} |
| 248 | 248 |
| 249 {{class_name}}RequestValidator::{{class_name}}RequestValidator( | 249 {{class_name}}RequestValidator::{{class_name}}RequestValidator( |
| 250 mojo::MessageReceiver* sink) : MessageFilter(sink) { | 250 mojo::MessageReceiver* sink) : MessageFilter(sink) { |
| 251 } | 251 } |
| 252 | 252 |
| 253 bool {{class_name}}RequestValidator::Accept(mojo::Message* message) { | 253 bool {{class_name}}RequestValidator::Accept(mojo::Message* message) { |
| 254 // TODO(yzshen): implement validation logic. | 254 {%- if interface.methods %} |
| 255 switch (message->header()->name) { |
| 256 {%- for method in interface.methods %} |
| 257 case internal::k{{class_name}}_{{method.name}}_Name: { |
| 258 {%- if method.response_parameters != None %} |
| 259 if (!message->has_flag(mojo::internal::kMessageExpectsResponse)) |
| 260 return false; |
| 261 {%- else %} |
| 262 if (message->has_flag(mojo::internal::kMessageExpectsResponse) || |
| 263 message->has_flag(mojo::internal::kMessageIsResponse)) { |
| 264 return false; |
| 265 } |
| 266 {%- endif %} |
| 267 mojo::internal::BoundsChecker bounds_checker( |
| 268 message->payload(), message->payload_num_bytes(), |
| 269 message->handles()->size()); |
| 270 if (!internal::{{class_name}}_{{method.name}}_Params_Data::Validate( |
| 271 message->payload(), &bounds_checker)) { |
| 272 return false; |
| 273 } |
| 274 break; |
| 275 } |
| 276 {%- endfor %} |
| 277 } |
| 278 {%- endif %} |
| 279 |
| 255 return sink_->Accept(message); | 280 return sink_->Accept(message); |
| 256 } | 281 } |
| 257 | 282 |
| 258 {#--- Response validator definitions #} | 283 {#--- Response validator definitions #} |
| 259 {% if interface|has_callbacks %} | 284 {% if interface|has_callbacks %} |
| 260 {{class_name}}ResponseValidator::{{class_name}}ResponseValidator( | 285 {{class_name}}ResponseValidator::{{class_name}}ResponseValidator( |
| 261 mojo::MessageReceiver* sink) : MessageFilter(sink) { | 286 mojo::MessageReceiver* sink) : MessageFilter(sink) { |
| 262 } | 287 } |
| 263 | 288 |
| 264 bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) { | 289 bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) { |
| 265 // TODO(yzshen): implement validation logic. | 290 {%- if interface.methods %} |
| 291 switch (message->header()->name) { |
| 292 {%- for method in interface.methods if method.response_parameters != None %} |
| 293 case internal::k{{class_name}}_{{method.name}}_Name: { |
| 294 if (!message->has_flag(mojo::internal::kMessageIsResponse)) |
| 295 return false; |
| 296 mojo::internal::BoundsChecker bounds_checker( |
| 297 message->payload(), message->payload_num_bytes(), |
| 298 message->handles()->size()); |
| 299 if (!internal::{{class_name}}_{{method.name}}_ResponseParams_Data::Validat
e( |
| 300 message->payload(), &bounds_checker)) { |
| 301 return false; |
| 302 } |
| 303 break; |
| 304 } |
| 305 {%- endfor %} |
| 306 } |
| 307 {%- endif %} |
| 308 |
| 266 return sink_->Accept(message); | 309 return sink_->Accept(message); |
| 267 } | 310 } |
| 268 {%- endif -%} | 311 {%- endif -%} |
| OLD | NEW |