| 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 |