OLD | NEW |
1 class {{struct.name}}DataView { | 1 class {{struct.name}}DataView { |
2 public: | 2 public: |
3 {{struct.name}}DataView( | 3 {{struct.name}}DataView( |
4 internal::{{struct.name}}_Data* data, | 4 internal::{{struct.name}}_Data* data, |
5 mojo::internal::SerializationContext* context); | 5 mojo::internal::SerializationContext* context); |
6 | 6 |
7 {%- for pf in struct.packed.packed_fields_in_ordinal_order %} | 7 {%- for pf in struct.packed.packed_fields_in_ordinal_order %} |
8 {%- set kind = pf.field.kind -%} | 8 {%- set kind = pf.field.kind -%} |
9 {%- set name = pf.field.name -%} | 9 {%- set name = pf.field.name -%} |
10 {%- if kind|is_struct_kind or kind|is_array_kind or kind|is_string_kind %} | 10 {%- if kind|is_struct_kind or kind|is_array_kind or kind|is_string_kind |
| 11 or kind|is_map_kind %} |
11 template <typename UserType> | 12 template <typename UserType> |
12 bool Read{{name|under_to_camel}}(UserType* value) { | 13 bool Read{{name|under_to_camel}}(UserType* value) { |
13 {%- if pf.min_version != 0 %} | 14 {%- if pf.min_version != 0 %} |
14 auto pointer = data_->header_.version >= {{pf.min_version}} | 15 auto pointer = data_->header_.version >= {{pf.min_version}} |
15 ? data_->{{name}}.ptr : nullptr; | 16 ? data_->{{name}}.ptr : nullptr; |
16 {%- else %} | 17 {%- else %} |
17 auto pointer = data_->{{name}}.ptr; | 18 auto pointer = data_->{{name}}.ptr; |
18 {%- endif %} | 19 {%- endif %} |
19 return mojo::internal::Deserialize<{{kind|unmapped_type_for_serializer}}>( | 20 return mojo::internal::Deserialize<{{kind|unmapped_type_for_serializer}}>( |
20 pointer, value, context_); | 21 pointer, value, context_); |
21 } | 22 } |
22 {%- elif kind|is_map_kind or kind|is_union_kind %} | 23 {%- elif kind|is_union_kind %} |
23 bool Read{{name|under_to_camel}}({{kind|cpp_wrapper_type}}* value); | 24 bool Read{{name|under_to_camel}}({{kind|cpp_wrapper_type}}* value); |
24 {%- elif kind|is_interface_kind or kind|is_any_handle_kind or | 25 {%- elif kind|is_interface_kind or kind|is_any_handle_kind or |
25 kind|is_associated_kind %} | 26 kind|is_associated_kind %} |
26 {{kind|cpp_wrapper_type}} Take{{name|under_to_camel}}(); | 27 {{kind|cpp_wrapper_type}} Take{{name|under_to_camel}}(); |
27 {%- else %} | 28 {%- else %} |
28 {{kind|cpp_wrapper_type}} {{name}}() const; | 29 {{kind|cpp_wrapper_type}} {{name}}() const; |
29 {%- endif %} | 30 {%- endif %} |
30 {%- endfor %} | 31 {%- endfor %} |
31 private: | 32 private: |
32 internal::{{struct.name}}_Data* data_; | 33 internal::{{struct.name}}_Data* data_; |
33 mojo::internal::SerializationContext* context_; | 34 mojo::internal::SerializationContext* context_; |
34 }; | 35 }; |
35 | 36 |
OLD | NEW |