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 | 4 |
5 {%- macro pass_params(parameters) %} | 5 {%- macro pass_params(parameters) %} |
6 {%- for param in parameters %} | 6 {%- for param in parameters %} |
7 {%- if param.kind|is_object_kind -%} | 7 {%- if param.kind|is_object_kind -%} |
8 mojo::internal::Wrap(params->{{param.name}}()) | 8 mojo::internal::Wrap(params->{{param.name}}()) |
9 {%- elif param.kind|is_handle_kind -%} | 9 {%- elif param.kind|is_handle_kind -%} |
10 mojo::MakePassable(params->{{param.name}}()).Pass() | 10 mojo::MakePassable(params->{{param.name}}()).Pass() |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 {%- endif %} | 107 {%- endif %} |
108 | 108 |
109 {{build_message(params_name, method.parameters)}} | 109 {{build_message(params_name, method.parameters)}} |
110 | 110 |
111 {%- if method.response_parameters != None %} | 111 {%- if method.response_parameters != None %} |
112 mojo::MessageReceiver* responder = | 112 mojo::MessageReceiver* responder = |
113 new {{class_name}}_{{method.name}}_ForwardToCallback(callback); | 113 new {{class_name}}_{{method.name}}_ForwardToCallback(callback); |
114 if (!receiver_->AcceptWithResponder(&message, responder)) | 114 if (!receiver_->AcceptWithResponder(&message, responder)) |
115 delete responder; | 115 delete responder; |
116 {%- else %} | 116 {%- else %} |
117 receiver_->Accept(&message); | 117 bool ok MOJO_ALLOW_UNUSED = receiver_->Accept(&message); |
| 118 // This return value may be ignored as !ok implies the Connector has |
| 119 // encountered an error, which will be visible through other means. |
118 {%- endif %} | 120 {%- endif %} |
119 } | 121 } |
120 {%- endfor %} | 122 {%- endfor %} |
121 | 123 |
122 {#--- ProxyToResponder definition #} | 124 {#--- ProxyToResponder definition #} |
123 {%- for method in interface.methods -%} | 125 {%- for method in interface.methods -%} |
124 {%- if method.response_parameters != None %} | 126 {%- if method.response_parameters != None %} |
125 {%- set message_name = | 127 {%- set message_name = |
126 "internal::k%s_%s_Name"|format(interface.name, method.name) %} | 128 "internal::k%s_%s_Name"|format(interface.name, method.name) %} |
127 {%- set params_name = | 129 {%- set params_name = |
(...skipping 18 matching lines...) Expand all Loading... |
146 uint64_t request_id_; | 148 uint64_t request_id_; |
147 mutable mojo::MessageReceiver* responder_; | 149 mutable mojo::MessageReceiver* responder_; |
148 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ProxyToResponder)
; | 150 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ProxyToResponder)
; |
149 }; | 151 }; |
150 void {{class_name}}_{{method.name}}_ProxyToResponder::Run( | 152 void {{class_name}}_{{method.name}}_ProxyToResponder::Run( |
151 {{interface_macros.declare_params("in_", method.response_parameters)}}) cons
t { | 153 {{interface_macros.declare_params("in_", method.response_parameters)}}) cons
t { |
152 {{compute_payload_size(params_name, method.response_parameters)}} | 154 {{compute_payload_size(params_name, method.response_parameters)}} |
153 mojo::internal::ResponseMessageBuilder builder( | 155 mojo::internal::ResponseMessageBuilder builder( |
154 {{message_name}}, payload_size, request_id_); | 156 {{message_name}}, payload_size, request_id_); |
155 {{build_message(params_name, method.response_parameters)}} | 157 {{build_message(params_name, method.response_parameters)}} |
156 responder_->Accept(&message); | 158 bool ok MOJO_ALLOW_UNUSED = responder_->Accept(&message); |
| 159 // TODO(darin): !ok returned here indicates a malformed message, and that may |
| 160 // be good reason to close the connection. However, we don't have a way to do |
| 161 // that from here. We should add a way. |
157 delete responder_; | 162 delete responder_; |
158 responder_ = NULL; | 163 responder_ = NULL; |
159 } | 164 } |
160 {%- endif -%} | 165 {%- endif -%} |
161 {%- endfor %} | 166 {%- endfor %} |
162 | 167 |
163 {{class_name}}Stub::{{class_name}}Stub({{class_name}}* sink) | 168 {{class_name}}Stub::{{class_name}}Stub({{class_name}}* sink) |
164 : sink_(sink) { | 169 : sink_(sink) { |
165 } | 170 } |
166 | 171 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 return true; | 219 return true; |
215 {%- else %} | 220 {%- else %} |
216 break; | 221 break; |
217 {%- endif %} | 222 {%- endif %} |
218 } | 223 } |
219 {%- endfor %} | 224 {%- endfor %} |
220 } | 225 } |
221 {%- endif %} | 226 {%- endif %} |
222 return false; | 227 return false; |
223 } | 228 } |
OLD | NEW |