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

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

Issue 293983026: Mojo cpp bindings: remove redundant validation in Decode*(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 {%- 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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 private: 93 private:
94 {{interface_macros.declare_callback(method)}} callback_; 94 {{interface_macros.declare_callback(method)}} callback_;
95 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback ); 95 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback );
96 }; 96 };
97 bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept( 97 bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept(
98 mojo::Message* message) { 98 mojo::Message* message) {
99 internal::{{class_name}}_{{method.name}}_ResponseParams_Data* params = 99 internal::{{class_name}}_{{method.name}}_ResponseParams_Data* params =
100 reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_D ata*>( 100 reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_D ata*>(
101 message->mutable_payload()); 101 message->mutable_payload());
102 102
103 if (!params->DecodePointersAndHandles(message)) 103 params->DecodePointersAndHandles(message->mutable_handles());
104 return false;
105 {{alloc_params(method.response_parameters)|indent(2)}} 104 {{alloc_params(method.response_parameters)|indent(2)}}
106 callback_.Run({{pass_params(method.response_parameters)}}); 105 callback_.Run({{pass_params(method.response_parameters)}});
107 return true; 106 return true;
108 } 107 }
109 {%- endif %} 108 {%- endif %}
110 {%- endfor %} 109 {%- endfor %}
111 110
112 {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiverWithResponder* receiver) 111 {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiverWithResponder* receiver)
113 : receiver_(receiver) { 112 : receiver_(receiver) {
114 } 113 }
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 bool {{class_name}}Stub::Accept(mojo::Message* message) { 197 bool {{class_name}}Stub::Accept(mojo::Message* message) {
199 {%- if interface.methods %} 198 {%- if interface.methods %}
200 switch (message->header()->name) { 199 switch (message->header()->name) {
201 {%- for method in interface.methods %} 200 {%- for method in interface.methods %}
202 case internal::k{{class_name}}_{{method.name}}_Name: { 201 case internal::k{{class_name}}_{{method.name}}_Name: {
203 {%- if method.response_parameters == None %} 202 {%- if method.response_parameters == None %}
204 internal::{{class_name}}_{{method.name}}_Params_Data* params = 203 internal::{{class_name}}_{{method.name}}_Params_Data* params =
205 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data* >( 204 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data* >(
206 message->mutable_payload()); 205 message->mutable_payload());
207 206
208 if (!params->DecodePointersAndHandles(message)) 207 params->DecodePointersAndHandles(message->mutable_handles());
209 return false;
210 {{alloc_params(method.parameters)|indent(6)}} 208 {{alloc_params(method.parameters)|indent(6)}}
211 sink_->{{method.name}}({{pass_params(method.parameters)}}); 209 sink_->{{method.name}}({{pass_params(method.parameters)}});
212 return true; 210 return true;
213 {%- else %} 211 {%- else %}
214 break; 212 break;
215 {%- endif %} 213 {%- endif %}
216 } 214 }
217 {%- endfor %} 215 {%- endfor %}
218 } 216 }
219 {%- endif %} 217 {%- endif %}
220 return false; 218 return false;
221 } 219 }
222 220
223 bool {{class_name}}Stub::AcceptWithResponder( 221 bool {{class_name}}Stub::AcceptWithResponder(
224 mojo::Message* message, mojo::MessageReceiver* responder) { 222 mojo::Message* message, mojo::MessageReceiver* responder) {
225 {%- if interface.methods %} 223 {%- if interface.methods %}
226 switch (message->header()->name) { 224 switch (message->header()->name) {
227 {%- for method in interface.methods %} 225 {%- for method in interface.methods %}
228 case internal::k{{class_name}}_{{method.name}}_Name: { 226 case internal::k{{class_name}}_{{method.name}}_Name: {
229 {%- if method.response_parameters != None %} 227 {%- if method.response_parameters != None %}
230 internal::{{class_name}}_{{method.name}}_Params_Data* params = 228 internal::{{class_name}}_{{method.name}}_Params_Data* params =
231 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data* >( 229 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data* >(
232 message->mutable_payload()); 230 message->mutable_payload());
233 231
234 if (!params->DecodePointersAndHandles(message)) 232 params->DecodePointersAndHandles(message->mutable_handles());
235 return false;
236 {{interface_macros.declare_callback(method)}}::Runnable* runnable = 233 {{interface_macros.declare_callback(method)}}::Runnable* runnable =
237 new {{class_name}}_{{method.name}}_ProxyToResponder( 234 new {{class_name}}_{{method.name}}_ProxyToResponder(
238 message->request_id(), responder); 235 message->request_id(), responder);
239 {{interface_macros.declare_callback(method)}} callback(runnable); 236 {{interface_macros.declare_callback(method)}} callback(runnable);
240 {{alloc_params(method.parameters)|indent(6)}} 237 {{alloc_params(method.parameters)|indent(6)}}
241 sink_->{{method.name}}( 238 sink_->{{method.name}}(
242 {%- if method.parameters -%}{{pass_params(method.parameters)}}, {% endif -%}call back); 239 {%- if method.parameters -%}{{pass_params(method.parameters)}}, {% endif -%}call back);
243 return true; 240 return true;
244 {%- else %} 241 {%- else %}
245 break; 242 break;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 } 306 }
310 break; 307 break;
311 } 308 }
312 {%- endfor %} 309 {%- endfor %}
313 } 310 }
314 {%- endif %} 311 {%- endif %}
315 312
316 return sink_->Accept(message); 313 return sink_->Accept(message);
317 } 314 }
318 {%- endif -%} 315 {%- endif -%}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698