| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| {%- set header_guard = "%s_INTERNAL_H_"| |
| format(module.path|upper|replace("/","_")|replace(".","_")) %} |
| |
| #ifndef {{header_guard}} |
| #define {{header_guard}} |
| |
| #include "mojo/public/cpp/bindings/lib/bindings_internal.h" |
| #include "mojo/public/cpp/bindings/lib/buffer.h" |
| |
| {%- for import in imports %} |
| #include "{{import.module.path}}-internal.h" |
| {%- endfor %} |
| |
| namespace mojo { |
| namespace internal { |
| class BoundsChecker; |
| } |
| } |
| |
| {%- for namespace in namespaces_as_array %} |
| namespace {{namespace}} { |
| {%- endfor %} |
| |
| {#--- Wrapper forward declarations #} |
| {% for struct in structs %} |
| class {{struct.name}}; |
| {%- endfor %} |
| |
| namespace internal { |
| |
| #pragma pack(push, 1) |
| |
| {#--- Class declarations #} |
| {% for struct in structs %} |
| {% include "struct_declaration.tmpl" %} |
| {%- endfor %} |
| |
| #pragma pack(pop) |
| |
| } // namespace internal |
| {%- for namespace in namespaces_as_array|reverse %} |
| } // namespace {{namespace}} |
| {%- endfor %} |
| |
| #endif // {{header_guard}} |