Chromium Code Reviews| Index: mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl |
| diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl |
| index 0a54e1d5a58a0901887af92d6af019ec84ae4d62..79710a396271c56d54c3bcc0b41f6d5a1dddacb7 100644 |
| --- a/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl |
| +++ b/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl |
| @@ -14,6 +14,8 @@ |
| #include "mojo/public/cpp/bindings/interface_ptr.h" |
| #include "mojo/public/cpp/bindings/message_filter.h" |
| #include "mojo/public/cpp/bindings/no_interface.h" |
| +#include "mojo/public/cpp/bindings/string.h" |
| +#include "mojo/public/cpp/bindings/struct_ptr.h" |
| #include "{{module.path}}-internal.h" |
| {%- for import in imports %} |
| #include "{{import.module.path}}.h" |
| @@ -39,9 +41,22 @@ class {{interface.name}}; |
| typedef mojo::InterfacePtr<{{interface.name}}> {{interface.name}}Ptr; |
| {% endfor %} |
| +{#--- Struct Forward Declarations -#} |
| +{% for struct in structs %} |
| +class {{struct.name}}; |
| +{% if struct|should_inline %} |
| +typedef mojo::InlinedStructPtr<{{struct.name}}> {{struct.name}}Ptr; |
|
yzshen1
2014/05/22 17:13:53
It seems users always create/use FooPtr instead of
|
| +{% include "wrapper_class_declaration.tmpl" %} |
| +{% else %} |
| +typedef mojo::StructPtr<{{struct.name}}> {{struct.name}}Ptr; |
| +{% endif %} |
| +{% endfor %} |
| + |
| {#--- Structs #} |
| {% for struct in structs %} |
| -{% include "wrapper_class_declaration.tmpl" %} |
| +{% if not struct|should_inline %} |
| +{% include "wrapper_class_declaration.tmpl" %} |
| +{% endif %} |
| {%- endfor %} |
| {#--- Interfaces -#} |
| @@ -69,19 +84,26 @@ typedef mojo::InterfacePtr<{{interface.name}}> {{interface.name}}Ptr; |
| {% include "interface_response_validator_declaration.tmpl" %} |
| {%- endfor %} |
| +{#--- Struct Serialization Helpers -#} |
| +{% if structs %} |
| +{% for struct in structs %} |
| +{% include "struct_serialization_declaration.tmpl" %} |
| +{%- endfor %} |
| +{%- endif %} |
| + |
| {%- for namespace in namespaces_as_array|reverse %} |
| } // namespace {{namespace}} |
| {%- endfor %} |
| {#--- Enum TypeTraits Specializations #} |
| -{% if enums %} |
| namespace mojo { |
| namespace internal { |
| +{% if enums %} |
| {% for enum in enums %} |
| {% include "enum_traits.tmpl" %} |
| {%- endfor %} |
| +{%- endif %} |
| } // namespace internal |
| } // namespace mojo |
| -{%- endif %} |
| #endif // {{header_guard}} |