• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_INTERNAL_H_"|
6        format(module.path|upper|replace("/","_")|replace(".","_")) %}
7
8#ifndef {{header_guard}}
9#define {{header_guard}}
10
11#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
12#include "mojo/public/cpp/bindings/lib/buffer.h"
13
14{%- for import in imports %}
15#include "{{import.module.path}}-internal.h"
16{%- endfor %}
17
18namespace mojo {
19namespace internal {
20class BoundsChecker;
21}
22}
23
24{%- for namespace in namespaces_as_array %}
25namespace {{namespace}} {
26{%- endfor %}
27
28{#--- Wrapper forward declarations #}
29{%  for struct in structs %}
30class {{struct.name}};
31{%- endfor %}
32
33namespace internal {
34
35#pragma pack(push, 1)
36
37{#--- Class declarations #}
38{%  for struct in structs %}
39{%    include "struct_declaration.tmpl" %}
40{%- endfor %}
41
42#pragma pack(pop)
43
44}  // namespace internal
45{%- for namespace in namespaces_as_array|reverse %}
46}  // namespace {{namespace}}
47{%- endfor %}
48
49#endif  // {{header_guard}}
50