OLD | NEW |
1 {%- set class_name = struct.name -%} | 1 {%- set class_name = struct.name -%} |
2 {%- set dtor_name = [] %} | 2 {%- set dtor_name = [] %} |
3 {%- if struct|is_struct_with_handles %} | 3 {%- if struct|is_struct_with_handles %} |
4 {%- set _ = dtor_name.append("&internal::%s_Data_Destructor"|format(struct.nam
e)) %} | 4 {%- set _ = dtor_name.append("&internal::%s_Data_Destructor"|format(struct.nam
e)) %} |
5 {%- else %} | 5 {%- else %} |
6 {%- set _ = dtor_name.append("NULL") %} | 6 {%- set _ = dtor_name.append("NULL") %} |
7 {%- endif %} | 7 {%- endif %} |
8 | 8 |
9 {%- macro set_default(kind, value, depth) -%} | 9 {%- macro set_default(kind, value, depth) -%} |
10 {#--- Strings ---#} | 10 {#--- Strings ---#} |
(...skipping 29 matching lines...) Expand all Loading... |
40 {%- endfilter %} | 40 {%- endfilter %} |
41 {%- endfor -%} | 41 {%- endfor -%} |
42 {{caller("tmp" ~ depth ~ ".Finish()")|indent(2)}} | 42 {{caller("tmp" ~ depth ~ ".Finish()")|indent(2)}} |
43 } | 43 } |
44 {#--- POD types ---#} | 44 {#--- POD types ---#} |
45 {%- else -%} | 45 {%- else -%} |
46 {{caller(value|expression_to_text(module))}} | 46 {{caller(value|expression_to_text(module))}} |
47 {%- endif %} | 47 {%- endif %} |
48 {%- endmacro %} | 48 {%- endmacro %} |
49 | 49 |
| 50 #if 0 |
50 {{class_name}}::Builder::Builder(mojo::Buffer* buf) | 51 {{class_name}}::Builder::Builder(mojo::Buffer* buf) |
51 : data_(Data::New(buf, {{dtor_name[0]}})) { | 52 : data_(Data::New(buf, {{dtor_name[0]}})) { |
52 {%- for pf in struct.packed.packed_fields if pf.field.default %} | 53 {%- for pf in struct.packed.packed_fields if pf.field.default %} |
53 {%- filter indent(2) %} | 54 {%- filter indent(2) %} |
54 {%- call(result) set_default(pf.field.kind, pf.field.default, 0) %} | 55 {%- call(result) set_default(pf.field.kind, pf.field.default, 0) %} |
55 set_{{pf.field.name}}({{result}}); | 56 set_{{pf.field.name}}({{result}}); |
56 {%- endcall %} | 57 {%- endcall %} |
57 {%- endfilter %} | 58 {%- endfilter %} |
58 {%- endfor %} | 59 {%- endfor %} |
59 } | 60 } |
60 | 61 |
61 {{class_name}} {{class_name}}::Builder::Finish() { | 62 {{class_name}} {{class_name}}::Builder::Finish() { |
62 Data* data = NULL; | 63 Data* data = NULL; |
63 std::swap(data, data_); | 64 std::swap(data, data_); |
64 return mojo::internal::Wrap(data); | 65 return mojo::internal::Wrap(data); |
65 } | 66 } |
| 67 #endif |
| 68 |
| 69 // static |
| 70 {{class_name}}Ptr {{class_name}}::New() { |
| 71 {{class_name}}Ptr rv; |
| 72 mojo::internal::StructHelper<{{class_name}}>::Initialize(&rv); |
| 73 return rv.Pass(); |
| 74 } |
| 75 |
| 76 {{class_name}}::{{class_name}}() |
| 77 {%-for field in struct.fields %} |
| 78 {% if loop.first %}:{% else %} {% endif %} {{field.name}}(){% if not loop.la
st %},{% endif %} |
| 79 {%- endfor %} { |
| 80 } |
| 81 |
| 82 {{class_name}}::~{{class_name}}() { |
| 83 } |
OLD | NEW |