| // WARNING: This file is machine generated by fidlgen. |
| |
| // fidl_experiment = output_index_json |
| |
| #pragma once |
| |
| #include <fidl/test.versions/cpp/natural_types.h> |
| #include <lib/fidl/cpp/hlcpp_conversion.h> |
| #include <lib/fidl/cpp/wire/service_handler.h> |
| #include <test/versions/cpp/fidl.h> |
| |
| #pragma clang diagnostic push |
| #pragma clang diagnostic ignored "-Wshadow" |
| |
| namespace fidl { |
| namespace internal { |
| |
| template <> |
| struct NaturalToHLCPPTraits<::test_versions::Enum> : public NaturalToHLCPPTraitsEnum<::test_versions::Enum, ::test::versions::Enum, uint32_t> {}; |
| template <> |
| struct HLCPPToNaturalTraits<::test::versions::Enum> : public HLCPPToNaturalTraitsEnum<::test::versions::Enum, ::test_versions::Enum> {}; |
| template <> |
| struct NaturalToHLCPPTraits<::test_versions::Bits> : public NaturalToHLCPPTraitsBits<::test_versions::Bits, ::test::versions::Bits, uint32_t> {}; |
| template <> |
| struct HLCPPToNaturalTraits<::test::versions::Bits> : public HLCPPToNaturalTraitsBits<::test::versions::Bits, ::test_versions::Bits, uint32_t> {}; |
| |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ClientEnd<::test_versions::OtherProtocol>> { |
| using HLCPPType = fidl::InterfaceHandle<::test::versions::OtherProtocol>; |
| static inline fidl::InterfaceHandle<::test::versions::OtherProtocol> Convert(fidl::ClientEnd<::test_versions::OtherProtocol>&& c) { |
| return fidl::InterfaceHandle<::test::versions::OtherProtocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ServerEnd<::test_versions::OtherProtocol>> { |
| using HLCPPType = fidl::InterfaceRequest<::test::versions::OtherProtocol>; |
| static inline fidl::InterfaceRequest<::test::versions::OtherProtocol> Convert(fidl::ServerEnd<::test_versions::OtherProtocol>&& c) { |
| return fidl::InterfaceRequest<::test::versions::OtherProtocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceHandle<::test::versions::OtherProtocol>> { |
| using NaturalType = fidl::ClientEnd<::test_versions::OtherProtocol>; |
| static inline fidl::ClientEnd<::test_versions::OtherProtocol> Convert(fidl::InterfaceHandle<::test::versions::OtherProtocol>&& c) { |
| return fidl::ClientEnd<::test_versions::OtherProtocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceRequest<::test::versions::OtherProtocol>> { |
| using NaturalType = fidl::ServerEnd<::test_versions::OtherProtocol>; |
| static inline fidl::ServerEnd<::test_versions::OtherProtocol> Convert(fidl::InterfaceRequest<::test::versions::OtherProtocol>&& c) { |
| return fidl::ServerEnd<::test_versions::OtherProtocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ProtocolHandler<::test_versions::OtherProtocol>> { |
| using HLCPPType = fidl::InterfaceRequestHandler<::test::versions::OtherProtocol>; |
| static inline fidl::InterfaceRequestHandler<::test::versions::OtherProtocol> Convert(fidl::ProtocolHandler<::test_versions::OtherProtocol>&& c) { |
| return [c = std::move(c)](fidl::InterfaceRequest<::test::versions::OtherProtocol> r) { |
| c(::fidl::HLCPPToNatural(r)); |
| }; |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceRequestHandler<::test::versions::OtherProtocol>> { |
| using NaturalType = fidl::ProtocolHandler<::test_versions::OtherProtocol>; |
| static inline fidl::ProtocolHandler<::test_versions::OtherProtocol> Convert(fidl::InterfaceRequestHandler<::test::versions::OtherProtocol>&& c) { |
| return [c = std::move(c)](fidl::ServerEnd<::test_versions::OtherProtocol> r) { |
| c(::fidl::NaturalToHLCPP(r)); |
| }; |
| } |
| }; |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ClientEnd<::test_versions::Protocol>> { |
| using HLCPPType = fidl::InterfaceHandle<::test::versions::Protocol>; |
| static inline fidl::InterfaceHandle<::test::versions::Protocol> Convert(fidl::ClientEnd<::test_versions::Protocol>&& c) { |
| return fidl::InterfaceHandle<::test::versions::Protocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ServerEnd<::test_versions::Protocol>> { |
| using HLCPPType = fidl::InterfaceRequest<::test::versions::Protocol>; |
| static inline fidl::InterfaceRequest<::test::versions::Protocol> Convert(fidl::ServerEnd<::test_versions::Protocol>&& c) { |
| return fidl::InterfaceRequest<::test::versions::Protocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceHandle<::test::versions::Protocol>> { |
| using NaturalType = fidl::ClientEnd<::test_versions::Protocol>; |
| static inline fidl::ClientEnd<::test_versions::Protocol> Convert(fidl::InterfaceHandle<::test::versions::Protocol>&& c) { |
| return fidl::ClientEnd<::test_versions::Protocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceRequest<::test::versions::Protocol>> { |
| using NaturalType = fidl::ServerEnd<::test_versions::Protocol>; |
| static inline fidl::ServerEnd<::test_versions::Protocol> Convert(fidl::InterfaceRequest<::test::versions::Protocol>&& c) { |
| return fidl::ServerEnd<::test_versions::Protocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ProtocolHandler<::test_versions::Protocol>> { |
| using HLCPPType = fidl::InterfaceRequestHandler<::test::versions::Protocol>; |
| static inline fidl::InterfaceRequestHandler<::test::versions::Protocol> Convert(fidl::ProtocolHandler<::test_versions::Protocol>&& c) { |
| return [c = std::move(c)](fidl::InterfaceRequest<::test::versions::Protocol> r) { |
| c(::fidl::HLCPPToNatural(r)); |
| }; |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceRequestHandler<::test::versions::Protocol>> { |
| using NaturalType = fidl::ProtocolHandler<::test_versions::Protocol>; |
| static inline fidl::ProtocolHandler<::test_versions::Protocol> Convert(fidl::InterfaceRequestHandler<::test::versions::Protocol>&& c) { |
| return [c = std::move(c)](fidl::ServerEnd<::test_versions::Protocol> r) { |
| c(::fidl::NaturalToHLCPP(r)); |
| }; |
| } |
| }; |
| |
| template <> |
| struct NaturalToHLCPPTraits<::test_versions::Struct> { |
| using HLCPPType = ::test::versions::Struct; |
| static inline ::test::versions::Struct Convert(::test_versions::Struct&&); |
| }; |
| template <> |
| struct HLCPPToNaturalTraits<::test::versions::Struct> { |
| using NaturalType = ::test_versions::Struct; |
| static inline ::test_versions::Struct Convert(::test::versions::Struct&&); |
| }; |
| template <> |
| struct NaturalToHLCPPTraits<::test_versions::Table> { |
| using HLCPPType = ::test::versions::Table; |
| static inline ::test::versions::Table Convert(::test_versions::Table&&); |
| }; |
| template <> |
| struct HLCPPToNaturalTraits<::test::versions::Table> { |
| using NaturalType = ::test_versions::Table; |
| static inline ::test_versions::Table Convert(::test::versions::Table&&); |
| }; |
| template <> |
| struct NaturalToHLCPPTraits<::test_versions::Union> { |
| using HLCPPType = ::test::versions::Union; |
| static inline ::test::versions::Union Convert(::test_versions::Union&&); |
| }; |
| template <> |
| struct HLCPPToNaturalTraits<::test::versions::Union> { |
| using NaturalType = ::test_versions::Union; |
| static inline ::test_versions::Union Convert(::test::versions::Union&&); |
| }; |
| |
| ::test::versions::Struct NaturalToHLCPPTraits<::test_versions::Struct>::Convert(::test_versions::Struct&& value) { |
| ::test::versions::Struct hlcpp; |
| hlcpp.x = ::fidl::NaturalToHLCPP(std::move(value.x())); |
| return hlcpp; |
| } |
| |
| ::test_versions::Struct HLCPPToNaturalTraits<::test::versions::Struct>::Convert(::test::versions::Struct&& value) { |
| return ::test_versions::Struct{{ |
| .x = ::fidl::HLCPPToNatural(std::move(value.x)), |
| }}; |
| } |
| ::test::versions::Table NaturalToHLCPPTraits<::test_versions::Table>::Convert(::test_versions::Table&& value) { |
| ::test::versions::Table hlcpp; |
| if (value.x().has_value()) { |
| hlcpp.set_x(::fidl::NaturalToHLCPP(std::move(value.x().value()))); |
| } |
| return hlcpp; |
| } |
| |
| ::test_versions::Table HLCPPToNaturalTraits<::test::versions::Table>::Convert(::test::versions::Table&& value) { |
| ::test_versions::Table natural; |
| if (value.has_x()) { |
| natural.x() = ::fidl::HLCPPToNatural(std::move(*value.mutable_x())); |
| } |
| return natural; |
| } |
| |
| ::test::versions::Union NaturalToHLCPPTraits<::test_versions::Union>::Convert(::test_versions::Union&& value) { |
| ::test::versions::Union hlcpp; |
| switch (value.Which()) { |
| case ::test_versions::Union::Tag::kX: |
| hlcpp.set_x(::fidl::NaturalToHLCPP(std::move(value.x().value()))); |
| break; |
| default: |
| break; |
| } |
| return hlcpp; |
| } |
| |
| ::test_versions::Union HLCPPToNaturalTraits<::test::versions::Union>::Convert(::test::versions::Union&& value) { |
| using _NaturalUnion = ::test_versions::Union; |
| switch (value.Which()) { |
| case ::test::versions::Union::Tag::kX: |
| return _NaturalUnion::WithX( |
| ::fidl::HLCPPToNatural(std::move(value.x()))); |
| default: |
| return _NaturalUnion(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag{}); |
| } |
| } |
| |
| #pragma clang diagnostic pop |
| |
| } // namespace internal |
| } // namespace fidl |