OLD | NEW |
1 {#--- Begin #} | 1 {#--- Begin #} |
2 | 2 |
3 class {{struct.name}} { | 3 class {{struct.name}} { |
4 {#--- Enums #} | 4 {#--- Enums #} |
5 {%- from "enum_definition.tmpl" import enum_def %} | 5 {%- from "enum_definition.tmpl" import enum_def %} |
6 {% for enum in struct.enums %} | 6 {% for enum in struct.enums %} |
7 {{enum_def(" static ", enum)}} | 7 {{enum_def(" static ", enum)}} |
8 {%- endfor %} | 8 {%- endfor %} |
9 | 9 |
10 | 10 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 decoder.skip(1); | 46 decoder.skip(1); |
47 {%- endif %} | 47 {%- endif %} |
48 {%- endfor %} | 48 {%- endfor %} |
49 return val; | 49 return val; |
50 } | 50 } |
51 | 51 |
52 static void encode(bindings.MojoEncoder encoder, {{struct.name}} val) { | 52 static void encode(bindings.MojoEncoder encoder, {{struct.name}} val) { |
53 var packed; | 53 var packed; |
54 encoder.writeUint32({{struct.name}}.encodedSize); | 54 encoder.writeUint32({{struct.name}}.encodedSize); |
55 encoder.writeUint32({{struct.packed.packed_fields|length}}); | 55 encoder.writeUint32({{struct.packed.packed_fields|length}}); |
56 | |
57 {%- for byte in struct.bytes %} | 56 {%- for byte in struct.bytes %} |
58 {%- if byte.packed_fields|length > 1 %} | 57 {%- if byte.packed_fields|length > 1 %} |
59 packed = 0; | 58 packed = 0; |
60 {%- for packed_field in byte.packed_fields %} | 59 {%- for packed_field in byte.packed_fields %} |
61 packed |= (val.{{packed_field.field.name}} & 1) << {{packed_field.bit}}; | 60 packed |= (val.{{packed_field.field.name}} & 1) << {{packed_field.bit}}; |
62 {%- endfor %} | 61 {%- endfor %} |
63 encoder.writeUint8(packed); | 62 encoder.writeUint8(packed); |
64 {%- else %} | 63 {%- else %} |
65 {%- for packed_field in byte.packed_fields %} | 64 {%- for packed_field in byte.packed_fields %} |
66 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n
ame}}); | 65 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n
ame}}); |
67 {%- endfor %} | 66 {%- endfor %} |
68 {%- endif %} | 67 {%- endif %} |
69 {%- if byte.is_padding %} | 68 {%- if byte.is_padding %} |
70 encoder.skip(1); | 69 encoder.skip(1); |
71 {%- endif %} | 70 {%- endif %} |
72 {%- endfor %} | 71 {%- endfor %} |
73 } | 72 } |
74 } | 73 } |
OLD | NEW |