OLD | NEW |
1 {% from "enum_macros.tmpl" import enum_decl -%} | 1 {% from "enum_macros.tmpl" import enum_decl -%} |
2 | 2 |
3 class {{struct.name}} { | 3 class {{struct.name}} { |
4 public: | 4 public: |
5 using Data_ = internal::{{struct.name}}_Data; | 5 using Data_ = internal::{{struct.name}}_Data; |
6 using Reader = {{struct.name}}_Reader; | 6 using Reader = {{struct.name}}_Reader; |
7 | 7 |
8 {#--- Enums #} | 8 {#--- Enums #} |
9 {%- for enum in struct.enums -%} | 9 {%- for enum in struct.enums -%} |
10 {{enum_decl(enum)|indent(2)}} | 10 {{enum_decl(enum)|indent(2)}} |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 } | 52 } |
53 | 53 |
54 {#--- Struct members #} | 54 {#--- Struct members #} |
55 {% for field in struct.fields %} | 55 {% for field in struct.fields %} |
56 {%- set type = field.kind|cpp_wrapper_type %} | 56 {%- set type = field.kind|cpp_wrapper_type %} |
57 {%- set name = field.name %} | 57 {%- set name = field.name %} |
58 {{type}} {{name}}; | 58 {{type}} {{name}}; |
59 {%- endfor %} | 59 {%- endfor %} |
60 }; | 60 }; |
61 | 61 |
62 {# TODO(yzshen): Remove these wrappers of the Serializer interface. #} | |
63 size_t GetSerializedSize_({{struct.name}}Ptr& input, | |
64 mojo::internal::SerializationContext* context); | |
65 void Serialize_({{struct.name}}Ptr input, mojo::internal::Buffer* buffer, | |
66 internal::{{struct.name}}_Data** output, | |
67 mojo::internal::SerializationContext* context); | |
68 bool Deserialize_(internal::{{struct.name}}_Data* input, | |
69 {{struct.name}}Ptr* output, | |
70 mojo::internal::SerializationContext* context); | |
71 | |
72 {# TODO(yzshen): Redo the Reader interface. #} | 62 {# TODO(yzshen): Redo the Reader interface. #} |
73 {# NOTE: Generated Reader instances are intentionally cheap to copy and devoid | 63 {# NOTE: Generated Reader instances are intentionally cheap to copy and devoid |
74 of heap allocations. They should stay this way. #} | 64 of heap allocations. They should stay this way. #} |
75 class {{struct.name}}_Reader { | 65 class {{struct.name}}_Reader { |
76 public: | 66 public: |
77 {{struct.name}}_Reader(internal::{{struct.name}}_Data* data, | 67 {{struct.name}}_Reader(internal::{{struct.name}}_Data* data, |
78 mojo::internal::SerializationContext* context); | 68 mojo::internal::SerializationContext* context); |
79 | 69 |
80 {%- for pf in struct.packed.packed_fields_in_ordinal_order %} | 70 {%- for pf in struct.packed.packed_fields_in_ordinal_order %} |
81 {%- set kind = pf.field.kind -%} | 71 {%- set kind = pf.field.kind -%} |
(...skipping 23 matching lines...) Expand all Loading... |
105 } | 95 } |
106 {%- else %} | 96 {%- else %} |
107 {{kind|cpp_result_type}} {{name}}() const { return data_->{{name}}; } | 97 {{kind|cpp_result_type}} {{name}}() const { return data_->{{name}}; } |
108 {%- endif %} | 98 {%- endif %} |
109 {%- endfor %} | 99 {%- endfor %} |
110 | 100 |
111 private: | 101 private: |
112 internal::{{struct.name}}_Data* data_; | 102 internal::{{struct.name}}_Data* data_; |
113 mojo::internal::SerializationContext* context_; | 103 mojo::internal::SerializationContext* context_; |
114 }; | 104 }; |
OLD | NEW |