| 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_interface_kind -%} |
| 10 mojo::MakeProxy<{{param.kind.name}}>(mojo::MakePassable(params->{{param.name}}()
).Pass()) |
| 9 {%- elif param.kind|is_handle_kind -%} | 11 {%- elif param.kind|is_handle_kind -%} |
| 10 mojo::MakePassable(params->{{param.name}}()).Pass() | 12 mojo::MakePassable(params->{{param.name}}()).Pass() |
| 11 {%- elif param.kind|is_enum_kind -%} | 13 {%- elif param.kind|is_enum_kind -%} |
| 12 static_cast<{{param.kind|cpp_wrapper_type}}>(params->{{param.name}}()) | 14 static_cast<{{param.kind|cpp_wrapper_type}}>(params->{{param.name}}()) |
| 13 {%- else -%} | 15 {%- else -%} |
| 14 params->{{param.name}}() | 16 params->{{param.name}}() |
| 15 {%- endif -%} | 17 {%- endif -%} |
| 16 {%- if not loop.last %}, {% endif %} | 18 {%- if not loop.last %}, {% endif %} |
| 17 {%- endfor %} | 19 {%- endfor %} |
| 18 {%- endmacro %} | 20 {%- endmacro %} |
| (...skipping 12 matching lines...) Expand all Loading... |
| 31 | 33 |
| 32 {%- macro build_message(params_name, parameters) -%} | 34 {%- macro build_message(params_name, parameters) -%} |
| 33 {{params_name}}* params = | 35 {{params_name}}* params = |
| 34 {{params_name}}::New(builder.buffer()); | 36 {{params_name}}::New(builder.buffer()); |
| 35 {#--- Sets #} | 37 {#--- Sets #} |
| 36 {% for param in parameters %} | 38 {% for param in parameters %} |
| 37 {%- if param.kind|is_object_kind %} | 39 {%- if param.kind|is_object_kind %} |
| 38 if (!in_{{param.name}}.is_null()) | 40 if (!in_{{param.name}}.is_null()) |
| 39 params->set_{{param.name}}( | 41 params->set_{{param.name}}( |
| 40 mojo::internal::Unwrap(in_{{param.name}})->Clone(builder.buffer())); | 42 mojo::internal::Unwrap(in_{{param.name}})->Clone(builder.buffer())); |
| 43 {%- elif param.kind|is_interface_kind %} |
| 44 if (!in_{{param.name}}.get()) { |
| 45 params->set_{{param.name}}(mojo::MessagePipeHandle()); |
| 46 } else { |
| 47 // Delegate handle. |
| 48 params->set_{{param.name}}( |
| 49 in_{{param.name}}.ResetAndReturnMessagePipe().release()); |
| 50 } |
| 41 {%- elif param.kind|is_handle_kind %} | 51 {%- elif param.kind|is_handle_kind %} |
| 42 params->set_{{param.name}}(in_{{param.name}}.release()); | 52 params->set_{{param.name}}(in_{{param.name}}.release()); |
| 43 {%- else %} | 53 {%- else %} |
| 44 params->set_{{param.name}}(in_{{param.name}}); | 54 params->set_{{param.name}}(in_{{param.name}}); |
| 45 {%- endif %} | 55 {%- endif %} |
| 46 {%- endfor %} | 56 {%- endfor %} |
| 47 mojo::Message message; | 57 mojo::Message message; |
| 48 params->EncodePointersAndHandles(message.mutable_handles()); | 58 params->EncodePointersAndHandles(message.mutable_handles()); |
| 49 builder.Finish(&message); | 59 builder.Finish(&message); |
| 50 {%- endmacro %} | 60 {%- endmacro %} |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 bool ok MOJO_ALLOW_UNUSED = responder_->Accept(&message); | 168 bool ok MOJO_ALLOW_UNUSED = responder_->Accept(&message); |
| 159 // 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 |
| 160 // 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 |
| 161 // that from here. We should add a way. | 171 // that from here. We should add a way. |
| 162 delete responder_; | 172 delete responder_; |
| 163 responder_ = NULL; | 173 responder_ = NULL; |
| 164 } | 174 } |
| 165 {%- endif -%} | 175 {%- endif -%} |
| 166 {%- endfor %} | 176 {%- endfor %} |
| 167 | 177 |
| 168 {{class_name}}Stub::{{class_name}}Stub({{class_name}}* sink) | 178 {{class_name}}Stub::{{class_name}}Stub() |
| 169 : sink_(sink) { | 179 : sink_(NULL) { |
| 170 } | 180 } |
| 171 | 181 |
| 172 {#--- Stub definition #} | 182 {#--- Stub definition #} |
| 173 | 183 |
| 174 bool {{class_name}}Stub::Accept(mojo::Message* message) { | 184 bool {{class_name}}Stub::Accept(mojo::Message* message) { |
| 175 {%- if interface.methods %} | 185 {%- if interface.methods %} |
| 176 switch (message->header()->name) { | 186 switch (message->header()->name) { |
| 177 {%- for method in interface.methods %} | 187 {%- for method in interface.methods %} |
| 178 case internal::k{{class_name}}_{{method.name}}_Name: { | 188 case internal::k{{class_name}}_{{method.name}}_Name: { |
| 179 {%- if method.response_parameters == None %} | 189 {%- if method.response_parameters == None %} |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 return true; | 229 return true; |
| 220 {%- else %} | 230 {%- else %} |
| 221 break; | 231 break; |
| 222 {%- endif %} | 232 {%- endif %} |
| 223 } | 233 } |
| 224 {%- endfor %} | 234 {%- endfor %} |
| 225 } | 235 } |
| 226 {%- endif %} | 236 {%- endif %} |
| 227 return false; | 237 return false; |
| 228 } | 238 } |
| OLD | NEW |