// This file is generated by Forward_h.template. // Copyright 2016 The Chromium Authors // 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 #include #include "{{config.crdtp.dir}}/error_support.h" #include "{{config.crdtp.dir}}/dispatch.h" #include "{{config.crdtp.dir}}/frontend_channel.h" #include "{{config.crdtp.dir}}/protocol_core.h" {% if config.use_embedder_types %} #include {{format_include(config.lib.protocol_traits)}} {% else %} #include {{format_include(config.lib.string_header)}} {% endif %} {% for namespace in config.protocol.namespace %} namespace {{namespace}} { {% endfor %} using DispatchResponse = {{config.crdtp.namespace}}::DispatchResponse; using ErrorSupport = {{config.crdtp.namespace}}::ErrorSupport; using Serializable = {{config.crdtp.namespace}}::Serializable; using FrontendChannel = {{config.crdtp.namespace}}::FrontendChannel; using DomainDispatcher = {{config.crdtp.namespace}}::DomainDispatcher; using UberDispatcher = {{config.crdtp.namespace}}::UberDispatcher; using Response = DispatchResponse; {% if config.use_embedder_types %} using DictionaryValue = crdtp::traits::DictionaryValue; using Object = crdtp::traits::DictionaryValue; using ListValue = crdtp::traits::ListValue; using Value = crdtp::traits::Value; using String = crdtp::traits::String; using Binary = crdtp::Binary; {% else %} class DictionaryValue; class FundamentalValue; class ListValue; class Object; class SerializedValue; class StringValue; class Value; {% endif %} using {{config.crdtp.namespace}}::detail::PtrMaybe; using {{config.crdtp.namespace}}::detail::ValueMaybe; template using Maybe = {{config.crdtp.namespace}}::Maybe; 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; }; template <> struct ArrayTypedef { typedef std::vector type; }; } // namespace detail template using Array = typename detail::ArrayTypedef::type; {% for namespace in config.protocol.namespace %} } // namespace {{namespace}} {% endfor %} #endif // !defined({{"_".join(config.protocol.namespace)}}_Forward_h)