// This file is generated by Forward_h.template. // Copyright 2016 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. #ifndef {{"_".join(config.protocol.namespace)}}_Forward_h #define {{"_".join(config.protocol.namespace)}}_Forward_h {% if config.lib.export_header %} #include {{format_include(config.lib.export_header)}} {% endif %} #include {{format_include(config.lib.string_header)}} #include #include #include #include #include #include "{{config.crdtp.dir}}/error_support.h" #include "{{config.crdtp.dir}}/glue.h" {% for namespace in config.protocol.namespace %} namespace {{namespace}} { {% endfor %} class DictionaryValue; class DispatchResponse; using ErrorSupport = {{config.crdtp.namespace}}::ErrorSupport; class FundamentalValue; class ListValue; class Object; using Response = DispatchResponse; class SerializedValue; class StringValue; class UberDispatcher; class Value; namespace detail { template struct ArrayTypedef { typedef std::vector> type; }; template <> struct ArrayTypedef { typedef std::vector type; }; template <> struct ArrayTypedef { typedef std::vector type; }; template <> struct ArrayTypedef { typedef std::vector type; }; template <> struct ArrayTypedef { typedef std::vector type; }; } // namespace detail template using Array = typename detail::ArrayTypedef::type; namespace detail { using {{config.crdtp.namespace}}::glue::detail::PtrMaybe; using {{config.crdtp.namespace}}::glue::detail::ValueMaybe; template struct MaybeTypedef { typedef PtrMaybe type; }; template <> struct MaybeTypedef { typedef ValueMaybe type; }; template <> struct MaybeTypedef { typedef ValueMaybe type; }; template <> struct MaybeTypedef { typedef ValueMaybe type; }; template <> struct MaybeTypedef { typedef ValueMaybe type; }; template <> struct MaybeTypedef { typedef ValueMaybe type; }; } // namespace detail template using Maybe = typename detail::MaybeTypedef::type; {% for namespace in config.protocol.namespace %} } // namespace {{namespace}} {% endfor %} #endif // !defined({{"_".join(config.protocol.namespace)}}_Forward_h)