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