blob: f0cf33b560b42a7cbc9d09a6d653dd6bd94af17b [file] [log] [blame]
// 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}}