| OLD | NEW |
| 1 {%- set class_name = interface.name %} | 1 {%- set class_name = interface.name %} |
| 2 {%- set proxy_name = interface.name ~ "Proxy" %} | 2 {%- set proxy_name = interface.name ~ "Proxy" %} |
| 3 | 3 |
| 4 {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiver* receiver) | 4 {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiver* receiver) |
| 5 : receiver_(receiver) { | 5 : receiver_(receiver) { |
| 6 } | 6 } |
| 7 | 7 |
| 8 {#--- Proxy definitions #} | 8 {#--- Proxy definitions #} |
| 9 {%- macro params_list(method) %} | 9 {%- macro params_list(method) %} |
| 10 {%- for param in method.parameters -%} | 10 {%- for param in method.parameters -%} |
| 11 {{param.kind|cpp_const_wrapper_type}} {{param.name}} | 11 {{param.kind|cpp_const_wrapper_type}} in_{{param.name}} |
| 12 {%- if not loop.last %}, {% endif %} | 12 {%- if not loop.last %}, {% endif %} |
| 13 {%- endfor %} | 13 {%- endfor %} |
| 14 {%- endmacro %} | 14 {%- endmacro %} |
| 15 | 15 |
| 16 {%- for method in interface.methods %} | 16 {%- for method in interface.methods %} |
| 17 {%- set name = "internal::k%s_%s_Name"|format(interface.name, method.name) %} | 17 {%- set name = "internal::k%s_%s_Name"|format(interface.name, method.name) %} |
| 18 {%- set params_name = | 18 {%- set params_name = |
| 19 "internal::%s_%s_Params_Data"|format(interface.name, method.name) %} | 19 "internal::%s_%s_Params_Data"|format(interface.name, method.name) %} |
| 20 void {{proxy_name}}::{{method.name}}({{params_list(method)}}) { | 20 void {{proxy_name}}::{{method.name}}({{params_list(method)}}) { |
| 21 size_t payload_size = | 21 size_t payload_size = |
| 22 mojo::internal::Align(sizeof({{params_name}})); | 22 mojo::internal::Align(sizeof({{params_name}})); |
| 23 {#--- Computes #} | 23 {#--- Computes #} |
| 24 {%- for param in method.parameters %} | 24 {%- for param in method.parameters %} |
| 25 {%- if param.kind|is_object_kind %} | 25 {%- if param.kind|is_object_kind %} |
| 26 if (!{{param.name}}.is_null()) | 26 if (!in_{{param.name}}.is_null()) |
| 27 payload_size += mojo::internal::Unwrap({{param.name}})->ComputeSize(); | 27 payload_size += mojo::internal::Unwrap(in_{{param.name}})->ComputeSize(); |
| 28 {%- endif %} | 28 {%- endif %} |
| 29 {%- endfor %} | 29 {%- endfor %} |
| 30 | 30 |
| 31 mojo::internal::MessageBuilder builder({{name}}, payload_size); | 31 mojo::internal::MessageBuilder builder({{name}}, payload_size); |
| 32 | 32 |
| 33 {{params_name}}* params = | 33 {{params_name}}* params = |
| 34 {{params_name}}::New(builder.buffer()); | 34 {{params_name}}::New(builder.buffer()); |
| 35 | 35 |
| 36 {#--- Sets #} | 36 {#--- Sets #} |
| 37 {% for param in method.parameters %} | 37 {% for param in method.parameters %} |
| 38 {%- if param.kind|is_object_kind %} | 38 {%- if param.kind|is_object_kind %} |
| 39 if (!{{param.name}}.is_null()) | 39 if (!in_{{param.name}}.is_null()) |
| 40 params->set_{{param.name}}( | 40 params->set_{{param.name}}( |
| 41 mojo::internal::Unwrap({{param.name}})->Clone(builder.buffer())); | 41 mojo::internal::Unwrap(in_{{param.name}})->Clone(builder.buffer())); |
| 42 {%- elif param.kind|is_handle_kind %} | 42 {%- elif param.kind|is_handle_kind %} |
| 43 params->set_{{param.name}}({{param.name}}.release()); | 43 params->set_{{param.name}}(in_{{param.name}}.release()); |
| 44 {%- else %} | 44 {%- else %} |
| 45 params->set_{{param.name}}({{param.name}}); | 45 params->set_{{param.name}}(in_{{param.name}}); |
| 46 {%- endif %} | 46 {%- endif %} |
| 47 {%- endfor %} | 47 {%- endfor %} |
| 48 | 48 |
| 49 mojo::Message message; | 49 mojo::Message message; |
| 50 params->EncodePointersAndHandles(&message.handles); | 50 params->EncodePointersAndHandles(&message.handles); |
| 51 | 51 |
| 52 message.data = builder.Finish(); | 52 message.data = builder.Finish(); |
| 53 | 53 |
| 54 receiver_->Accept(&message); | 54 receiver_->Accept(&message); |
| 55 } | 55 } |
| (...skipping 28 matching lines...) Expand all Loading... |
| 84 if (!params->DecodePointersAndHandles(message)) | 84 if (!params->DecodePointersAndHandles(message)) |
| 85 return false; | 85 return false; |
| 86 sink_->{{method.name}}({{params(method)}}); | 86 sink_->{{method.name}}({{params(method)}}); |
| 87 params->CloseHandles(); | 87 params->CloseHandles(); |
| 88 break; | 88 break; |
| 89 } | 89 } |
| 90 {%- endfor %} | 90 {%- endfor %} |
| 91 } | 91 } |
| 92 return true; | 92 return true; |
| 93 } | 93 } |
| OLD | NEW |