// Copyright 2018 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_SHARED_MESSAGE_IDS_H_"|format(
        module.path|upper|replace("/","_")|replace(".","_")|
            replace("-", "_")) %}

#ifndef {{header_guard}}
#define {{header_guard}}

#include <stdint.h>

{%- for namespace in namespaces_as_array %}
namespace {{namespace}} {
{%- endfor %}

namespace internal {

{% for interface in interfaces -%}
{%-   for method in interface.methods -%}
{%-     set method_name = "k%s_%s_Name"|format(interface.name, method.name) -%}
{%-     if method.ordinal_comment %}
// {{method.ordinal_comment}}
{%-     endif %}
constexpr uint32_t {{method_name}} = {{method.ordinal}};
{%-  endfor %}
{%- endfor %}

}  // namespace internal
{%- for namespace in namespaces_as_array|reverse %}
}  // namespace {{namespace}}
{%- endfor %}

#endif  // {{header_guard}}
