| OLD | NEW |
| 1 {# TODO(yzshen): Make these templates more readable. #} | 1 {# TODO(yzshen): Make these templates more readable. #} |
| 2 | 2 |
| 3 {# Computes the serialized size for the specified struct. | 3 {# Computes the serialized size for the specified struct. |
| 4 |struct| is the struct definition. | 4 |struct| is the struct definition. |
| 5 |input_field_pattern| should be a pattern that contains one string | 5 |input_field_pattern| should be a pattern that contains one string |
| 6 placeholder, for example, "input->%s", "p_%s". The placeholder will be | 6 placeholder, for example, "input->%s", "p_%s". The placeholder will be |
| 7 substituted with struct field names to refer to the input fields. | 7 substituted with struct field names to refer to the input fields. |
| 8 This macro is expanded to compute seriailized size for both: | 8 This macro is expanded to compute seriailized size for both: |
| 9 - user-defined structs: the input is an instance of the corresponding struct | 9 - user-defined structs: the input is an instance of the corresponding struct |
| 10 wrapper class. | 10 wrapper class. |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 {%- if kind|is_union_kind %} | 80 {%- if kind|is_union_kind %} |
| 81 {{output}}->{{name}}.is_null(), | 81 {{output}}->{{name}}.is_null(), |
| 82 {%- else %} | 82 {%- else %} |
| 83 !{{output}}->{{name}}.ptr, | 83 !{{output}}->{{name}}.ptr, |
| 84 {%- endif %} | 84 {%- endif %} |
| 85 mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, | 85 mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| 86 "null {{name}} in {{struct_display_name}}"); | 86 "null {{name}} in {{struct_display_name}}"); |
| 87 {%- endif %} | 87 {%- endif %} |
| 88 {%- elif kind|is_any_handle_kind or kind|is_interface_kind %} | 88 {%- elif kind|is_any_handle_kind or kind|is_interface_kind %} |
| 89 {%- if kind|is_interface_kind %} | 89 {%- if kind|is_interface_kind %} |
| 90 mojo::internal::InterfacePointerToData({{input_field}}.Pass(), &{{output}}->{{
name}}); | 90 mojo::internal::InterfacePointerToData(std::move({{input_field}}), &{{output}}
->{{name}}); |
| 91 {%- elif kind|is_interface_request_kind %} | 91 {%- elif kind|is_interface_request_kind %} |
| 92 {{output}}->{{name}} = {{input_field}}.PassMessagePipe().release(); | 92 {{output}}->{{name}} = {{input_field}}.PassMessagePipe().release(); |
| 93 {%- else %} | 93 {%- else %} |
| 94 {{output}}->{{name}} = {{input_field}}.release(); | 94 {{output}}->{{name}} = {{input_field}}.release(); |
| 95 {%- endif %} | 95 {%- endif %} |
| 96 {%- if not kind|is_nullable_kind %} | 96 {%- if not kind|is_nullable_kind %} |
| 97 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( | 97 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| 98 {%- if kind|is_interface_kind %} | 98 {%- if kind|is_interface_kind %} |
| 99 !{{output}}->{{name}}.handle.is_valid(), | 99 !{{output}}->{{name}}.handle.is_valid(), |
| 100 {%- else %} | 100 {%- else %} |
| 101 !{{output}}->{{name}}.is_valid(), | 101 !{{output}}->{{name}}.is_valid(), |
| 102 {%- endif %} | 102 {%- endif %} |
| 103 mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE, | 103 mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE, |
| 104 "invalid {{name}} in {{struct_display_name}}"); | 104 "invalid {{name}} in {{struct_display_name}}"); |
| 105 {%- endif %} | 105 {%- endif %} |
| 106 {%- elif kind|is_associated_kind %} | 106 {%- elif kind|is_associated_kind %} |
| 107 // TODO(yzshen): add some DCHECKs for non-nullable, is_local, correct router,
etc. | 107 // TODO(yzshen): add some DCHECKs for non-nullable, is_local, correct router,
etc. |
| 108 {%- if kind|is_associated_interface_kind %} | 108 {%- if kind|is_associated_interface_kind %} |
| 109 mojo::internal::AssociatedInterfacePtrInfoToData({{input_field}}.Pass(), &{{ou
tput}}->{{name}}); | 109 mojo::internal::AssociatedInterfacePtrInfoToData(std::move({{input_field}}), &
{{output}}->{{name}}); |
| 110 {%- else %} | 110 {%- else %} |
| 111 {{output}}->{{name}} = mojo::internal::AssociatedInterfaceRequestHelper::PassH
andle(&{{input_field}}).release(); | 111 {{output}}->{{name}} = mojo::internal::AssociatedInterfaceRequestHelper::PassH
andle(&{{input_field}}).release(); |
| 112 {%- endif %} | 112 {%- endif %} |
| 113 {%- else %} | 113 {%- else %} |
| 114 {{output}}->{{name}} = {{input_field}}; | 114 {{output}}->{{name}} = {{input_field}}; |
| 115 {%- endif %} | 115 {%- endif %} |
| 116 {%- endfor %} | 116 {%- endfor %} |
| 117 {%- endmacro -%} | 117 {%- endmacro -%} |
| 118 | 118 |
| 119 {# Deserializes the specified struct. | 119 {# Deserializes the specified struct. |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 &{{output_field}}, | 179 &{{output_field}}, |
| 180 ({{context}})->router->CreateLocalEndpointHandle(mojo::internal::FetchAn
dReset(&{{input}}->{{name}}))); | 180 ({{context}})->router->CreateLocalEndpointHandle(mojo::internal::FetchAn
dReset(&{{input}}->{{name}}))); |
| 181 {%- elif kind|is_enum_kind %} | 181 {%- elif kind|is_enum_kind %} |
| 182 {{output_field}} = static_cast<{{kind|cpp_wrapper_type}}>({{input}}->{{name}
}); | 182 {{output_field}} = static_cast<{{kind|cpp_wrapper_type}}>({{input}}->{{name}
}); |
| 183 {%- else %} | 183 {%- else %} |
| 184 {{output_field}} = {{input}}->{{name}}; | 184 {{output_field}} = {{input}}->{{name}}; |
| 185 {%- endif %} | 185 {%- endif %} |
| 186 {%- endfor %} | 186 {%- endfor %} |
| 187 } while (false); | 187 } while (false); |
| 188 {%- endmacro %} | 188 {%- endmacro %} |
| OLD | NEW |