OLD | NEW |
1 {% import 'struct_macros.tmpl' as struct_macros without context %} | 1 {% import 'struct_macros.tmpl' as struct_macros without context %} |
2 size_t GetSerializedSize_(const {{union.name}}Ptr& input, bool inlined) { | 2 size_t GetSerializedSize_(const {{union.name}}Ptr& input, bool inlined) { |
3 size_t size = 0U; | 3 size_t size = 0U; |
4 if (!inlined) { | 4 if (!inlined) { |
5 size += sizeof(internal::{{union.name}}_Data); | 5 size += sizeof(internal::{{union.name}}_Data); |
6 } | 6 } |
7 | 7 |
8 if (!input) | 8 if (!input) |
9 return size; | 9 return size; |
10 | 10 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 should_return_errors = true, | 84 should_return_errors = true, |
85 indent_size = 16)|indent(6)}} | 85 indent_size = 16)|indent(6)}} |
86 {%- endif %} | 86 {%- endif %} |
87 {% elif field.kind|is_any_handle_kind %} | 87 {% elif field.kind|is_any_handle_kind %} |
88 result->data.f_{{field.name}} = | 88 result->data.f_{{field.name}} = |
89 input_acc.data()->{{field.name}}->release().value(); | 89 input_acc.data()->{{field.name}}->release().value(); |
90 {% elif field.kind|is_interface_kind %} | 90 {% elif field.kind|is_interface_kind %} |
91 mojo::internal::Interface_Data* {{field.name}} = | 91 mojo::internal::Interface_Data* {{field.name}} = |
92 reinterpret_cast<mojo::internal::Interface_Data*>( | 92 reinterpret_cast<mojo::internal::Interface_Data*>( |
93 &result->data.f_{{field.name}}); | 93 &result->data.f_{{field.name}}); |
94 mojo::internal::InterfacePointerToData( | 94 mojo::internal::InterfaceHandleToData( |
95 input_acc.data()->{{field.name}}->Pass(), {{field.name}}); | 95 input_acc.data()->{{field.name}}->Pass(), {{field.name}}); |
96 {% elif field.kind|is_enum_kind %} | 96 {% elif field.kind|is_enum_kind %} |
97 result->data.f_{{field.name}} = | 97 result->data.f_{{field.name}} = |
98 static_cast<int32_t>(input_acc.data()->{{field.name}}); | 98 static_cast<int32_t>(input_acc.data()->{{field.name}}); |
99 {% else %} | 99 {% else %} |
100 result->data.f_{{field.name}} = input_acc.data()->{{field.name}}; | 100 result->data.f_{{field.name}} = input_acc.data()->{{field.name}}; |
101 {%- endif %} | 101 {%- endif %} |
102 break; | 102 break; |
103 } | 103 } |
104 {%- endfor %} | 104 {%- endfor %} |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 {% endif %} | 137 {% endif %} |
138 {% elif field.kind|is_any_handle_kind %} | 138 {% elif field.kind|is_any_handle_kind %} |
139 {{field.kind|cpp_wrapper_type}}* {{field.name}} = | 139 {{field.kind|cpp_wrapper_type}}* {{field.name}} = |
140 reinterpret_cast<{{field.kind|cpp_wrapper_type}}*>(&input->data.f_{{
field.name}}); | 140 reinterpret_cast<{{field.kind|cpp_wrapper_type}}*>(&input->data.f_{{
field.name}}); |
141 output->set_{{field.name}}({{field.name}}->Pass()); | 141 output->set_{{field.name}}({{field.name}}->Pass()); |
142 {% elif field.kind|is_interface_kind %} | 142 {% elif field.kind|is_interface_kind %} |
143 {{field.kind|cpp_wrapper_type}} {{field.name}}_out; | 143 {{field.kind|cpp_wrapper_type}} {{field.name}}_out; |
144 mojo::internal::Interface_Data* {{field.name}}_in = | 144 mojo::internal::Interface_Data* {{field.name}}_in = |
145 reinterpret_cast<mojo::internal::Interface_Data*>( | 145 reinterpret_cast<mojo::internal::Interface_Data*>( |
146 &input->data.f_{{field.name}}); | 146 &input->data.f_{{field.name}}); |
147 mojo::internal::InterfaceDataToPointer( | 147 mojo::internal::InterfaceDataToHandle( |
148 {{field.name}}_in, &{{field.name}}_out); | 148 {{field.name}}_in, &{{field.name}}_out); |
149 output->set_{{field.name}}({{field.name}}_out.Pass()); | 149 output->set_{{field.name}}({{field.name}}_out.Pass()); |
150 {% elif field.kind|is_enum_kind %} | 150 {% elif field.kind|is_enum_kind %} |
151 output->set_{{field.name}}(static_cast<{{field.kind|cpp_wrapper_type}}>(
input->data.f_{{field.name}})); | 151 output->set_{{field.name}}(static_cast<{{field.kind|cpp_wrapper_type}}>(
input->data.f_{{field.name}})); |
152 {% else %} | 152 {% else %} |
153 output->set_{{field.name}}(input->data.f_{{field.name}}); | 153 output->set_{{field.name}}(input->data.f_{{field.name}}); |
154 {%- endif %} | 154 {%- endif %} |
155 break; | 155 break; |
156 } | 156 } |
157 {%- endfor %} | 157 {%- endfor %} |
158 default: | 158 default: |
159 MOJO_LOG(WARNING) << "Deserializing {{union.name}} with unknown tag!"; | 159 MOJO_LOG(WARNING) << "Deserializing {{union.name}} with unknown tag!"; |
160 // No way to deserialize the data when we encounter an unknown tag. | 160 // No way to deserialize the data when we encounter an unknown tag. |
161 break; | 161 break; |
162 } | 162 } |
163 } | 163 } |
164 } | 164 } |
OLD | NEW |