| OLD | NEW |
| 1 {%- import "interface_macros.tmpl" as interface_macros %} | 1 {%- import "interface_macros.tmpl" as interface_macros %} |
| 2 {%- import "struct_macros.tmpl" as struct_macros %} | 2 {%- import "struct_macros.tmpl" as struct_macros %} |
| 3 {%- from "enum_macros.tmpl" import is_valid_enum_def %} | 3 {%- from "enum_macros.tmpl" import is_valid_enum_def %} |
| 4 {%- from "enum_macros.tmpl" import global_enum_operators_def %} | 4 {%- from "enum_macros.tmpl" import global_enum_operators_def %} |
| 5 | 5 |
| 6 {%- set class_name = interface.name %} | 6 {%- set class_name = interface.name %} |
| 7 {%- set proxy_name = interface.name ~ "Proxy" %} | 7 {%- set proxy_name = interface.name ~ "Proxy" %} |
| 8 | 8 |
| 9 {%- macro alloc_params(struct) %} | 9 {%- macro alloc_params(struct) %} |
| 10 {%- for param in struct.packed.packed_fields_in_ordinal_order %} | 10 {%- for param in struct.packed.packed_fields_in_ordinal_order %} |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 {%- set message_name = | 89 {%- set message_name = |
| 90 "%s::MessageOrdinals::%s"|format(interface.name, method.name) %} | 90 "%s::MessageOrdinals::%s"|format(interface.name, method.name) %} |
| 91 {%- set params_struct = method.param_struct %} | 91 {%- set params_struct = method.param_struct %} |
| 92 {%- set params_description = | 92 {%- set params_description = |
| 93 "%s.%s request"|format(interface.name, method.name) %} | 93 "%s.%s request"|format(interface.name, method.name) %} |
| 94 void {{proxy_name}}::{{method.name}}( | 94 void {{proxy_name}}::{{method.name}}( |
| 95 {{interface_macros.declare_request_params("in_", method)}}) { | 95 {{interface_macros.declare_request_params("in_", method)}}) { |
| 96 {{struct_macros.get_serialized_size(params_struct, "in_%s")}} | 96 {{struct_macros.get_serialized_size(params_struct, "in_%s")}} |
| 97 | 97 |
| 98 {%- if method.response_parameters != None %} | 98 {%- if method.response_parameters != None %} |
| 99 mojo::internal::RequestMessageBuilder builder( | 99 mojo::RequestMessageBuilder builder( |
| 100 static_cast<uint32_t>({{message_name}}), size); | 100 static_cast<uint32_t>({{message_name}}), size); |
| 101 {%- else %} | 101 {%- else %} |
| 102 mojo::internal::MessageBuilder builder( | 102 mojo::MessageBuilder builder( |
| 103 static_cast<uint32_t>({{message_name}}), size); | 103 static_cast<uint32_t>({{message_name}}), size); |
| 104 {%- endif %} | 104 {%- endif %} |
| 105 | 105 |
| 106 {{build_message(params_struct, params_description)}} | 106 {{build_message(params_struct, params_description)}} |
| 107 | 107 |
| 108 {%- if method.response_parameters != None %} | 108 {%- if method.response_parameters != None %} |
| 109 mojo::MessageReceiver* responder = | 109 mojo::MessageReceiver* responder = |
| 110 new {{class_name}}_{{method.name}}_ForwardToCallback(callback); | 110 new {{class_name}}_{{method.name}}_ForwardToCallback(callback); |
| 111 if (!receiver_->AcceptWithResponder(builder.message(), responder)) | 111 if (!receiver_->AcceptWithResponder(builder.message(), responder)) |
| 112 delete responder; | 112 delete responder; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 void Run({{interface_macros.declare_params_as_args("in_", method.response_para
meters)}}) const override; | 155 void Run({{interface_macros.declare_params_as_args("in_", method.response_para
meters)}}) const override; |
| 156 | 156 |
| 157 private: | 157 private: |
| 158 uint64_t request_id_; | 158 uint64_t request_id_; |
| 159 mutable mojo::MessageReceiverWithStatus* responder_; | 159 mutable mojo::MessageReceiverWithStatus* responder_; |
| 160 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ProxyToResponder)
; | 160 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ProxyToResponder)
; |
| 161 }; | 161 }; |
| 162 void {{class_name}}_{{method.name}}_ProxyToResponder::Run( | 162 void {{class_name}}_{{method.name}}_ProxyToResponder::Run( |
| 163 {{interface_macros.declare_params_as_args("in_", method.response_parameters)
}}) const { | 163 {{interface_macros.declare_params_as_args("in_", method.response_parameters)
}}) const { |
| 164 {{struct_macros.get_serialized_size(response_params_struct, "in_%s")}} | 164 {{struct_macros.get_serialized_size(response_params_struct, "in_%s")}} |
| 165 mojo::internal::ResponseMessageBuilder builder( | 165 mojo::ResponseMessageBuilder builder( |
| 166 static_cast<uint32_t>({{message_name}}), size, request_id_); | 166 static_cast<uint32_t>({{message_name}}), size, request_id_); |
| 167 {{build_message(response_params_struct, params_description)}} | 167 {{build_message(response_params_struct, params_description)}} |
| 168 bool ok = responder_->Accept(builder.message()); | 168 bool ok = responder_->Accept(builder.message()); |
| 169 MOJO_ALLOW_UNUSED_LOCAL(ok); | 169 MOJO_ALLOW_UNUSED_LOCAL(ok); |
| 170 // TODO(darin): !ok returned here indicates a malformed message, and that may | 170 // TODO(darin): !ok returned here indicates a malformed message, and that may |
| 171 // be good reason to close the connection. However, we don't have a way to do | 171 // be good reason to close the connection. However, we don't have a way to do |
| 172 // that from here. We should add a way. | 172 // that from here. We should add a way. |
| 173 delete responder_; | 173 delete responder_; |
| 174 responder_ = nullptr; | 174 responder_ = nullptr; |
| 175 } | 175 } |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 default: | 328 default: |
| 329 break; | 329 break; |
| 330 } | 330 } |
| 331 | 331 |
| 332 // Unrecognized message. | 332 // Unrecognized message. |
| 333 ReportValidationError( | 333 ReportValidationError( |
| 334 mojo::internal::ValidationError::MESSAGE_HEADER_UNKNOWN_METHOD); | 334 mojo::internal::ValidationError::MESSAGE_HEADER_UNKNOWN_METHOD); |
| 335 return false; | 335 return false; |
| 336 } | 336 } |
| 337 {%- endif -%} | 337 {%- endif -%} |
| OLD | NEW |