OLD | NEW |
1 {%- set class_name = interface.name %} | 1 {%- set class_name = interface.name %} |
2 {%- set proxy_name = interface.name ~ "Proxy" %} | 2 {%- set proxy_name = interface.name ~ "Proxy" %} |
3 | 3 |
4 {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiver* receiver) | 4 {{proxy_name}}::{{proxy_name}}(mojo::MessageReceiver* receiver) |
5 : receiver_(receiver) { | 5 : receiver_(receiver) { |
6 } | 6 } |
7 | 7 |
8 {#--- Proxy definitions #} | 8 {#--- Proxy definitions #} |
9 {%- macro params_list(method) %} | 9 {%- macro params_list(method) %} |
10 {%- for param in method.parameters -%} | 10 {%- for param in method.parameters -%} |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 | 48 |
49 mojo::Message message; | 49 mojo::Message message; |
50 mojo::internal::EncodePointersAndHandles(params, &message.handles); | 50 mojo::internal::EncodePointersAndHandles(params, &message.handles); |
51 | 51 |
52 message.data = builder.Finish(); | 52 message.data = builder.Finish(); |
53 | 53 |
54 receiver_->Accept(&message); | 54 receiver_->Accept(&message); |
55 } | 55 } |
56 {%- endfor %} | 56 {%- endfor %} |
57 | 57 |
| 58 {{class_name}}Stub::{{class_name}}Stub({{class_name}}* sink) |
| 59 : sink_(sink) { |
| 60 } |
| 61 |
58 {#--- Stub definition #} | 62 {#--- Stub definition #} |
59 {%- macro params(method) %} | 63 {%- macro params(method) %} |
60 {%- for param in method.parameters %} | 64 {%- for param in method.parameters %} |
61 {%- if param.kind|is_object_kind -%} | 65 {%- if param.kind|is_object_kind -%} |
62 mojo::internal::Wrap(params->{{param.name}}()) | 66 mojo::internal::Wrap(params->{{param.name}}()) |
63 {%- elif param.kind|is_handle_kind -%} | 67 {%- elif param.kind|is_handle_kind -%} |
64 mojo::MakePassable(params->{{param.name}}()).Pass() | 68 mojo::MakePassable(params->{{param.name}}()).Pass() |
65 {%- else -%} | 69 {%- else -%} |
66 params->{{param.name}}() | 70 params->{{param.name}}() |
67 {%- endif -%} | 71 {%- endif -%} |
68 {%- if not loop.last %}, {% endif %} | 72 {%- if not loop.last %}, {% endif %} |
69 {%- endfor %} | 73 {%- endfor %} |
70 {%- endmacro %} | 74 {%- endmacro %} |
71 | 75 |
72 bool {{class_name}}Stub::Accept(mojo::Message* message) { | 76 bool {{class_name}}Stub::Accept(mojo::Message* message) { |
73 switch (message->data->header.name) { | 77 switch (message->data->header.name) { |
74 {%- for method in interface.methods %} | 78 {%- for method in interface.methods %} |
75 case internal::k{{class_name}}_{{method.name}}_Name: { | 79 case internal::k{{class_name}}_{{method.name}}_Name: { |
76 internal::{{class_name}}_{{method.name}}_Params_Data* params = | 80 internal::{{class_name}}_{{method.name}}_Params_Data* params = |
77 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*
>( | 81 reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*
>( |
78 message->data->payload); | 82 message->data->payload); |
79 | 83 |
80 if (!mojo::internal::DecodePointersAndHandles(params, message)) | 84 if (!mojo::internal::DecodePointersAndHandles(params, message)) |
81 return false; | 85 return false; |
82 {{method.name}}({{params(method)}}); | 86 sink_->{{method.name}}({{params(method)}}); |
83 mojo::internal::CloseHandles(params); | 87 mojo::internal::CloseHandles(params); |
84 break; | 88 break; |
85 } | 89 } |
86 {%- endfor %} | 90 {%- endfor %} |
87 } | 91 } |
88 return true; | 92 return true; |
89 } | 93 } |
OLD | NEW |