OLD | NEW |
1 function {{struct.name}}() { | 1 function {{struct.name}}() { |
2 {%- for packed_field in struct.packed.packed_fields %} | 2 {%- for packed_field in struct.packed.packed_fields %} |
3 this.{{packed_field.field.name}} = {{packed_field.field|default_value}}; | 3 this.{{packed_field.field.name}} = {{packed_field.field|default_value}}; |
4 {%- endfor %} | 4 {%- endfor %} |
5 } | 5 } |
6 | 6 |
| 7 {#--- Enums #} |
| 8 {%- from "enum_definition.tmpl" import enum_def -%} |
| 9 {% for enum in struct.enums %} |
| 10 {{ enum_def("%s.%s"|format(struct.name, enum.name), enum)}} |
| 11 {% endfor %} |
| 12 |
| 13 {#--- Encoding and decoding #} |
7 {{struct.name}}.encodedSize = codec.kStructHeaderSize + {{struct.packed|payloa
d_size}}; | 14 {{struct.name}}.encodedSize = codec.kStructHeaderSize + {{struct.packed|payloa
d_size}}; |
8 | 15 |
9 {{struct.name}}.decode = function(decoder) { | 16 {{struct.name}}.decode = function(decoder) { |
10 var packed; | 17 var packed; |
11 var val = new {{struct.name}}(); | 18 var val = new {{struct.name}}(); |
12 var numberOfBytes = decoder.read32(); | 19 var numberOfBytes = decoder.read32(); |
13 var numberOfFields = decoder.read32(); | 20 var numberOfFields = decoder.read32(); |
14 {%- for byte in struct.bytes %} | 21 {%- for byte in struct.bytes %} |
15 {%- if byte.packed_fields|length > 1 %} | 22 {%- if byte.packed_fields|length > 1 %} |
16 packed = decoder.read8(); | 23 packed = decoder.read8(); |
(...skipping 27 matching lines...) Expand all Loading... |
44 {%- else %} | 51 {%- else %} |
45 {%- for packed_field in byte.packed_fields %} | 52 {%- for packed_field in byte.packed_fields %} |
46 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n
ame}}); | 53 encoder.{{packed_field.field.kind|encode_snippet}}val.{{packed_field.field.n
ame}}); |
47 {%- endfor %} | 54 {%- endfor %} |
48 {%- endif %} | 55 {%- endif %} |
49 {%- if byte.is_padding %} | 56 {%- if byte.is_padding %} |
50 encoder.skip(1); | 57 encoder.skip(1); |
51 {%- endif %} | 58 {%- endif %} |
52 {%- endfor %} | 59 {%- endfor %} |
53 }; | 60 }; |
OLD | NEW |