| 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 {%- 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 const {{constant.kind|cpp_pod_type}} {{interface.name}}::{{constant.name}} = {{c
onstant|constant_value}}; | 97 const {{constant.kind|cpp_pod_type}} {{interface.name}}::{{constant.name}} = {{c
onstant|constant_value}}; |
| 98 {%- endfor %} | 98 {%- endfor %} |
| 99 | 99 |
| 100 {#--- ForwardToCallback definition #} | 100 {#--- ForwardToCallback definition #} |
| 101 {%- for method in interface.methods -%} | 101 {%- for method in interface.methods -%} |
| 102 {%- if method.response_parameters != None %} | 102 {%- if method.response_parameters != None %} |
| 103 class {{class_name}}_{{method.name}}_ForwardToCallback | 103 class {{class_name}}_{{method.name}}_ForwardToCallback |
| 104 : public mojo::MessageReceiver { | 104 : public mojo::MessageReceiver { |
| 105 public: | 105 public: |
| 106 {{class_name}}_{{method.name}}_ForwardToCallback( | 106 {{class_name}}_{{method.name}}_ForwardToCallback( |
| 107 const {{interface_macros.declare_callback(method)}}& callback) | 107 const {{class_name}}::{{method.name}}Callback& callback) |
| 108 : callback_(callback) { | 108 : callback_(callback) { |
| 109 } | 109 } |
| 110 virtual bool Accept(mojo::Message* message) override; | 110 virtual bool Accept(mojo::Message* message) override; |
| 111 private: | 111 private: |
| 112 {{interface_macros.declare_callback(method)}} callback_; | 112 {{class_name}}::{{method.name}}Callback callback_; |
| 113 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback
); | 113 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback
); |
| 114 }; | 114 }; |
| 115 bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept( | 115 bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept( |
| 116 mojo::Message* message) { | 116 mojo::Message* message) { |
| 117 internal::{{class_name}}_{{method.name}}_ResponseParams_Data* params = | 117 internal::{{class_name}}_{{method.name}}_ResponseParams_Data* params = |
| 118 reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_D
ata*>( | 118 reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_D
ata*>( |
| 119 message->mutable_payload()); | 119 message->mutable_payload()); |
| 120 | 120 |
| 121 params->DecodePointersAndHandles(message->mutable_handles()); | 121 params->DecodePointersAndHandles(message->mutable_handles()); |
| 122 {{alloc_params(method.response_parameters)|indent(2)}} | 122 {{alloc_params(method.response_parameters)|indent(2)}} |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 {#--- ProxyToResponder definition #} | 168 {#--- ProxyToResponder definition #} |
| 169 {%- for method in interface.methods -%} | 169 {%- for method in interface.methods -%} |
| 170 {%- if method.response_parameters != None %} | 170 {%- if method.response_parameters != None %} |
| 171 {%- set message_name = | 171 {%- set message_name = |
| 172 "internal::k%s_%s_Name"|format(interface.name, method.name) %} | 172 "internal::k%s_%s_Name"|format(interface.name, method.name) %} |
| 173 {%- set params_name = | 173 {%- set params_name = |
| 174 "internal::%s_%s_ResponseParams_Data"|format(interface.name, method.
name) %} | 174 "internal::%s_%s_ResponseParams_Data"|format(interface.name, method.
name) %} |
| 175 {%- set params_description = | 175 {%- set params_description = |
| 176 "%s.%s response"|format(interface.name, method.name) %} | 176 "%s.%s response"|format(interface.name, method.name) %} |
| 177 class {{class_name}}_{{method.name}}_ProxyToResponder | 177 class {{class_name}}_{{method.name}}_ProxyToResponder |
| 178 : public {{interface_macros.declare_callback(method)}}::Runnable { | 178 : public {{class_name}}::{{method.name}}Callback::Runnable { |
| 179 public: | 179 public: |
| 180 virtual ~{{class_name}}_{{method.name}}_ProxyToResponder() { | 180 virtual ~{{class_name}}_{{method.name}}_ProxyToResponder() { |
| 181 delete responder_; | 181 delete responder_; |
| 182 } | 182 } |
| 183 | 183 |
| 184 {{class_name}}_{{method.name}}_ProxyToResponder( | 184 {{class_name}}_{{method.name}}_ProxyToResponder( |
| 185 uint64_t request_id, | 185 uint64_t request_id, |
| 186 mojo::MessageReceiver* responder) | 186 mojo::MessageReceiver* responder) |
| 187 : request_id_(request_id), | 187 : request_id_(request_id), |
| 188 responder_(responder) { | 188 responder_(responder) { |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 {%- if interface.methods %} | 250 {%- if interface.methods %} |
| 251 switch (message->header()->name) { | 251 switch (message->header()->name) { |
| 252 {%- for method in interface.methods %} | 252 {%- for method in interface.methods %} |
| 253 case internal::k{{class_name}}_{{method.name}}_Name: { | 253 case internal::k{{class_name}}_{{method.name}}_Name: { |
| 254 {%- if method.response_parameters != None %} | 254 {%- if method.response_parameters != None %} |
| 255 internal::{{class_name}}_{{method.name}}_Params_Data* params = | 255 internal::{{class_name}}_{{method.name}}_Params_Data* params = |
| 256 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*
>( | 256 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*
>( |
| 257 message->mutable_payload()); | 257 message->mutable_payload()); |
| 258 | 258 |
| 259 params->DecodePointersAndHandles(message->mutable_handles()); | 259 params->DecodePointersAndHandles(message->mutable_handles()); |
| 260 {{interface_macros.declare_callback(method)}}::Runnable* runnable = | 260 {{class_name}}::{{method.name}}Callback::Runnable* runnable = |
| 261 new {{class_name}}_{{method.name}}_ProxyToResponder( | 261 new {{class_name}}_{{method.name}}_ProxyToResponder( |
| 262 message->request_id(), responder); | 262 message->request_id(), responder); |
| 263 {{interface_macros.declare_callback(method)}} callback(runnable); | 263 {{class_name}}::{{method.name}}Callback callback(runnable); |
| 264 {{alloc_params(method.parameters)|indent(6)}} | 264 {{alloc_params(method.parameters)|indent(6)}} |
| 265 // A null |sink_| typically means there is a missing call to | 265 // A null |sink_| typically means there is a missing call to |
| 266 // InterfacePtr::set_client(). | 266 // InterfacePtr::set_client(). |
| 267 assert(sink_); | 267 assert(sink_); |
| 268 sink_->{{method.name}}( | 268 sink_->{{method.name}}( |
| 269 {%- if method.parameters -%}{{pass_params(method.parameters)}}, {% endif -%}call
back); | 269 {%- if method.parameters -%}{{pass_params(method.parameters)}}, {% endif -%}call
back); |
| 270 return true; | 270 return true; |
| 271 {%- else %} | 271 {%- else %} |
| 272 break; | 272 break; |
| 273 {%- endif %} | 273 {%- endif %} |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 {%- endfor %} | 342 {%- endfor %} |
| 343 } | 343 } |
| 344 {%- endif %} | 344 {%- endif %} |
| 345 | 345 |
| 346 // A null |sink_| typically means there is a missing call to | 346 // A null |sink_| typically means there is a missing call to |
| 347 // InterfacePtr::set_client(). | 347 // InterfacePtr::set_client(). |
| 348 assert(sink_); | 348 assert(sink_); |
| 349 return sink_->Accept(message); | 349 return sink_->Accept(message); |
| 350 } | 350 } |
| 351 {%- endif -%} | 351 {%- endif -%} |
| OLD | NEW |