| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 {%- set header_guard = "%s_H_"| | |
| 6 format(module.path|upper|replace("/","_")|replace(".","_")) %} | |
| 7 | |
| 8 #ifndef {{header_guard}} | |
| 9 #define {{header_guard}} | |
| 10 | |
| 11 #include "mojo/public/cpp/bindings/array.h" | |
| 12 #include "mojo/public/cpp/bindings/callback.h" | |
| 13 #include "mojo/public/cpp/bindings/interface_impl.h" | |
| 14 #include "mojo/public/cpp/bindings/interface_ptr.h" | |
| 15 #include "mojo/public/cpp/bindings/interface_request.h" | |
| 16 #include "mojo/public/cpp/bindings/map.h" | |
| 17 #include "mojo/public/cpp/bindings/message_filter.h" | |
| 18 #include "mojo/public/cpp/bindings/no_interface.h" | |
| 19 #include "mojo/public/cpp/bindings/string.h" | |
| 20 #include "mojo/public/cpp/bindings/struct_ptr.h" | |
| 21 #include "{{module.path}}-internal.h" | |
| 22 {%- for import in imports %} | |
| 23 #include "{{import.module.path}}.h" | |
| 24 {%- endfor %} | |
| 25 | |
| 26 {%- for namespace in namespaces_as_array %} | |
| 27 namespace {{namespace}} { | |
| 28 {%- endfor %} | |
| 29 | |
| 30 {#--- Constants #} | |
| 31 {% for constant in module.constants %} | |
| 32 extern const {{constant.kind|cpp_pod_type}} {{constant.name}}; | |
| 33 {%- endfor %} | |
| 34 | |
| 35 {#--- Enums #} | |
| 36 {% for enum in enums %} | |
| 37 {% include "enum_declaration.tmpl" %} | |
| 38 {%- endfor %} | |
| 39 | |
| 40 {#--- Interface Forward Declarations -#} | |
| 41 {% for interface in interfaces %} | |
| 42 class {{interface.name}}; | |
| 43 typedef mojo::InterfacePtr<{{interface.name}}> {{interface.name}}Ptr; | |
| 44 {% endfor %} | |
| 45 | |
| 46 {#--- Struct Forward Declarations -#} | |
| 47 {% for struct in structs %} | |
| 48 class {{struct.name}}; | |
| 49 {% if struct|should_inline %} | |
| 50 typedef mojo::InlinedStructPtr<{{struct.name}}> {{struct.name}}Ptr; | |
| 51 {% else %} | |
| 52 typedef mojo::StructPtr<{{struct.name}}> {{struct.name}}Ptr; | |
| 53 {% endif %} | |
| 54 {% endfor %} | |
| 55 | |
| 56 {#--- NOTE: Non-inlined structs may have pointers to inlined structs, so we #} | |
| 57 {#--- need to fully define inlined structs ahead of the others. #} | |
| 58 | |
| 59 {#--- Inlined structs #} | |
| 60 {% for struct in structs %} | |
| 61 {% if struct|should_inline %} | |
| 62 {% include "wrapper_class_declaration.tmpl" %} | |
| 63 {% endif %} | |
| 64 {%- endfor %} | |
| 65 | |
| 66 {#--- Non-inlined structs #} | |
| 67 {% for struct in structs %} | |
| 68 {% if not struct|should_inline %} | |
| 69 {% include "wrapper_class_declaration.tmpl" %} | |
| 70 {% endif %} | |
| 71 {%- endfor %} | |
| 72 | |
| 73 {#--- Interfaces -#} | |
| 74 {% for interface in interfaces %} | |
| 75 {% include "interface_declaration.tmpl" %} | |
| 76 {%- endfor %} | |
| 77 | |
| 78 {#--- Interface Proxies -#} | |
| 79 {% for interface in interfaces %} | |
| 80 {% include "interface_proxy_declaration.tmpl" %} | |
| 81 {%- endfor %} | |
| 82 | |
| 83 {#--- Interface Stubs -#} | |
| 84 {% for interface in interfaces %} | |
| 85 {% include "interface_stub_declaration.tmpl" %} | |
| 86 {%- endfor %} | |
| 87 | |
| 88 {#--- Interface Request Validators -#} | |
| 89 {% for interface in interfaces %} | |
| 90 {% include "interface_request_validator_declaration.tmpl" %} | |
| 91 {%- endfor %} | |
| 92 | |
| 93 {#--- Interface Response Validators -#} | |
| 94 {% for interface in interfaces if interface|has_callbacks %} | |
| 95 {% include "interface_response_validator_declaration.tmpl" %} | |
| 96 {%- endfor %} | |
| 97 | |
| 98 {#--- Struct Serialization Helpers -#} | |
| 99 {% if structs %} | |
| 100 {% for struct in structs %} | |
| 101 {% include "struct_serialization_declaration.tmpl" %} | |
| 102 {%- endfor %} | |
| 103 {%- endif %} | |
| 104 | |
| 105 {%- for namespace in namespaces_as_array|reverse %} | |
| 106 } // namespace {{namespace}} | |
| 107 {%- endfor %} | |
| 108 | |
| 109 #endif // {{header_guard}} | |
| OLD | NEW |