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