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 -%} | 9 {%- elif param.kind|is_interface_kind -%} |
10 mojo::MakeProxy<{{param.kind.name}}>(mojo::MakePassable(params->{{param.name}}()
).Pass()) | 10 mojo::MakeProxy<{{param.kind.name}}>(mojo::MakePassable(params->{{param.name}}()
).Pass()) |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 {%- for method in interface.methods -%} | 70 {%- for method in interface.methods -%} |
71 {%- if method.response_parameters != None %} | 71 {%- if method.response_parameters != None %} |
72 class {{class_name}}_{{method.name}}_ForwardToCallback | 72 class {{class_name}}_{{method.name}}_ForwardToCallback |
73 : public mojo::MessageReceiver { | 73 : public mojo::MessageReceiver { |
74 public: | 74 public: |
75 {{class_name}}_{{method.name}}_ForwardToCallback( | 75 {{class_name}}_{{method.name}}_ForwardToCallback( |
76 const {{interface_macros.declare_callback(method)}}& callback) | 76 const {{interface_macros.declare_callback(method)}}& callback) |
77 : callback_(callback) { | 77 : callback_(callback) { |
78 } | 78 } |
79 virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE; | 79 virtual bool Accept(mojo::Message* message) MOJO_OVERRIDE; |
80 virtual bool AcceptWithResponder( | |
81 mojo::Message* message, | |
82 mojo::MessageReceiver* responder) MOJO_OVERRIDE { | |
83 assert(false); | |
84 return false; | |
85 } | |
86 private: | 80 private: |
87 {{interface_macros.declare_callback(method)}} callback_; | 81 {{interface_macros.declare_callback(method)}} callback_; |
88 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback
); | 82 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback
); |
89 }; | 83 }; |
90 bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept( | 84 bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept( |
91 mojo::Message* message) { | 85 mojo::Message* message) { |
92 internal::{{class_name}}_{{method.name}}_ResponseParams_Data* params = | 86 internal::{{class_name}}_{{method.name}}_ResponseParams_Data* params = |
93 reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_D
ata*>( | 87 reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_D
ata*>( |
94 message->mutable_payload()); | 88 message->mutable_payload()); |
95 | 89 |
96 if (!params->DecodePointersAndHandles(message)) | 90 if (!params->DecodePointersAndHandles(message)) |
97 return false; | 91 return false; |
98 callback_.Run({{pass_params(method.response_parameters)}}); | 92 callback_.Run({{pass_params(method.response_parameters)}}); |
99 params->CloseHandles(); | 93 params->CloseHandles(); |
100 return true; | 94 return true; |
101 } | 95 } |
102 {%- endif %} | 96 {%- endif %} |
103 {%- endfor %} | 97 {%- endfor %} |
104 | 98 |
105 {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiver* receiver) | 99 {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiverWithResponder* receiver) |
106 : receiver_(receiver) { | 100 : receiver_(receiver) { |
107 } | 101 } |
108 | 102 |
109 {#--- Proxy definitions #} | 103 {#--- Proxy definitions #} |
110 | 104 |
111 {%- for method in interface.methods %} | 105 {%- for method in interface.methods %} |
112 {%- set message_name = | 106 {%- set message_name = |
113 "internal::k%s_%s_Name"|format(interface.name, method.name) %} | 107 "internal::k%s_%s_Name"|format(interface.name, method.name) %} |
114 {%- set params_name = | 108 {%- set params_name = |
115 "internal::%s_%s_Params_Data"|format(interface.name, method.name) %} | 109 "internal::%s_%s_Params_Data"|format(interface.name, method.name) %} |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 {% if interface|has_callbacks %} | 253 {% if interface|has_callbacks %} |
260 {{class_name}}ResponseValidator::{{class_name}}ResponseValidator( | 254 {{class_name}}ResponseValidator::{{class_name}}ResponseValidator( |
261 mojo::MessageReceiver* sink) : MessageFilter(sink) { | 255 mojo::MessageReceiver* sink) : MessageFilter(sink) { |
262 } | 256 } |
263 | 257 |
264 bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) { | 258 bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) { |
265 // TODO(yzshen): implement validation logic. | 259 // TODO(yzshen): implement validation logic. |
266 return sink_->Accept(message); | 260 return sink_->Accept(message); |
267 } | 261 } |
268 {%- endif -%} | 262 {%- endif -%} |
OLD | NEW |