Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl

Issue 294833002: Mojo: more idiomatic C++ bindings (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698