| // WARNING: This file is machine generated by fidlgen. |
| |
| // fidl_experiment = output_index_json |
| |
| #pragma once |
| |
| #include <fidl/test.exampleusing/cpp/hlcpp_conversion.h> |
| #include <fidl/test.placementofattributes/cpp/natural_types.h> |
| #include <lib/fidl/cpp/hlcpp_conversion.h> |
| #include <lib/fidl/cpp/wire/service_handler.h> |
| #include <test/placementofattributes/cpp/fidl.h> |
| |
| #pragma clang diagnostic push |
| #pragma clang diagnostic ignored "-Wshadow" |
| |
| namespace fidl { |
| namespace internal { |
| |
| template <> |
| struct NaturalToHLCPPTraits<::test_placementofattributes::ExampleEnum> : public NaturalToHLCPPTraitsEnum<::test_placementofattributes::ExampleEnum, ::test::placementofattributes::ExampleEnum, uint32_t> {}; |
| template <> |
| struct HLCPPToNaturalTraits<::test::placementofattributes::ExampleEnum> : public HLCPPToNaturalTraitsEnum<::test::placementofattributes::ExampleEnum, ::test_placementofattributes::ExampleEnum> {}; |
| template <> |
| struct NaturalToHLCPPTraits<::test_placementofattributes::ExampleBits> : public NaturalToHLCPPTraitsBits<::test_placementofattributes::ExampleBits, ::test::placementofattributes::ExampleBits, uint32_t> {}; |
| template <> |
| struct HLCPPToNaturalTraits<::test::placementofattributes::ExampleBits> : public HLCPPToNaturalTraitsBits<::test::placementofattributes::ExampleBits, ::test_placementofattributes::ExampleBits, uint32_t> {}; |
| |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ClientEnd<::test_placementofattributes::ExampleProtocol>> { |
| using HLCPPType = fidl::InterfaceHandle<::test::placementofattributes::ExampleProtocol>; |
| static inline fidl::InterfaceHandle<::test::placementofattributes::ExampleProtocol> Convert(fidl::ClientEnd<::test_placementofattributes::ExampleProtocol>&& c) { |
| return fidl::InterfaceHandle<::test::placementofattributes::ExampleProtocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ServerEnd<::test_placementofattributes::ExampleProtocol>> { |
| using HLCPPType = fidl::InterfaceRequest<::test::placementofattributes::ExampleProtocol>; |
| static inline fidl::InterfaceRequest<::test::placementofattributes::ExampleProtocol> Convert(fidl::ServerEnd<::test_placementofattributes::ExampleProtocol>&& c) { |
| return fidl::InterfaceRequest<::test::placementofattributes::ExampleProtocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceHandle<::test::placementofattributes::ExampleProtocol>> { |
| using NaturalType = fidl::ClientEnd<::test_placementofattributes::ExampleProtocol>; |
| static inline fidl::ClientEnd<::test_placementofattributes::ExampleProtocol> Convert(fidl::InterfaceHandle<::test::placementofattributes::ExampleProtocol>&& c) { |
| return fidl::ClientEnd<::test_placementofattributes::ExampleProtocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceRequest<::test::placementofattributes::ExampleProtocol>> { |
| using NaturalType = fidl::ServerEnd<::test_placementofattributes::ExampleProtocol>; |
| static inline fidl::ServerEnd<::test_placementofattributes::ExampleProtocol> Convert(fidl::InterfaceRequest<::test::placementofattributes::ExampleProtocol>&& c) { |
| return fidl::ServerEnd<::test_placementofattributes::ExampleProtocol>(c.TakeChannel()); |
| } |
| }; |
| |
| template <> |
| struct NaturalToHLCPPTraits<fidl::ProtocolHandler<::test_placementofattributes::ExampleProtocol>> { |
| using HLCPPType = fidl::InterfaceRequestHandler<::test::placementofattributes::ExampleProtocol>; |
| static inline fidl::InterfaceRequestHandler<::test::placementofattributes::ExampleProtocol> Convert(fidl::ProtocolHandler<::test_placementofattributes::ExampleProtocol>&& c) { |
| return [c = std::move(c)](fidl::InterfaceRequest<::test::placementofattributes::ExampleProtocol> r) { |
| c(::fidl::HLCPPToNatural(r)); |
| }; |
| } |
| }; |
| |
| template <> |
| struct HLCPPToNaturalTraits<fidl::InterfaceRequestHandler<::test::placementofattributes::ExampleProtocol>> { |
| using NaturalType = fidl::ProtocolHandler<::test_placementofattributes::ExampleProtocol>; |
| static inline fidl::ProtocolHandler<::test_placementofattributes::ExampleProtocol> Convert(fidl::InterfaceRequestHandler<::test::placementofattributes::ExampleProtocol>&& c) { |
| return [c = std::move(c)](fidl::ServerEnd<::test_placementofattributes::ExampleProtocol> r) { |
| c(::fidl::NaturalToHLCPP(r)); |
| }; |
| } |
| }; |
| |
| template <> |
| struct NaturalToHLCPPTraits<::test_placementofattributes::ExampleProtocolMethodRequest> { |
| using HLCPPType = ::test::placementofattributes::ExampleProtocolMethodRequest; |
| static inline ::test::placementofattributes::ExampleProtocolMethodRequest Convert(::test_placementofattributes::ExampleProtocolMethodRequest&&); |
| }; |
| template <> |
| struct HLCPPToNaturalTraits<::test::placementofattributes::ExampleProtocolMethodRequest> { |
| using NaturalType = ::test_placementofattributes::ExampleProtocolMethodRequest; |
| static inline ::test_placementofattributes::ExampleProtocolMethodRequest Convert(::test::placementofattributes::ExampleProtocolMethodRequest&&); |
| }; |
| template <> |
| struct NaturalToHLCPPTraits<::test_placementofattributes::ExampleStruct> { |
| using HLCPPType = ::test::placementofattributes::ExampleStruct; |
| static inline ::test::placementofattributes::ExampleStruct Convert(::test_placementofattributes::ExampleStruct&&); |
| }; |
| template <> |
| struct HLCPPToNaturalTraits<::test::placementofattributes::ExampleStruct> { |
| using NaturalType = ::test_placementofattributes::ExampleStruct; |
| static inline ::test_placementofattributes::ExampleStruct Convert(::test::placementofattributes::ExampleStruct&&); |
| }; |
| template <> |
| struct NaturalToHLCPPTraits<::test_placementofattributes::ExampleTable> { |
| using HLCPPType = ::test::placementofattributes::ExampleTable; |
| static inline ::test::placementofattributes::ExampleTable Convert(::test_placementofattributes::ExampleTable&&); |
| }; |
| template <> |
| struct HLCPPToNaturalTraits<::test::placementofattributes::ExampleTable> { |
| using NaturalType = ::test_placementofattributes::ExampleTable; |
| static inline ::test_placementofattributes::ExampleTable Convert(::test::placementofattributes::ExampleTable&&); |
| }; |
| template <> |
| struct NaturalToHLCPPTraits<::test_placementofattributes::ExampleUnion> { |
| using HLCPPType = ::test::placementofattributes::ExampleUnion; |
| static inline ::test::placementofattributes::ExampleUnion Convert(::test_placementofattributes::ExampleUnion&&); |
| }; |
| template <> |
| struct HLCPPToNaturalTraits<::test::placementofattributes::ExampleUnion> { |
| using NaturalType = ::test_placementofattributes::ExampleUnion; |
| static inline ::test_placementofattributes::ExampleUnion Convert(::test::placementofattributes::ExampleUnion&&); |
| }; |
| |
| ::test::placementofattributes::ExampleProtocolMethodRequest NaturalToHLCPPTraits<::test_placementofattributes::ExampleProtocolMethodRequest>::Convert(::test_placementofattributes::ExampleProtocolMethodRequest&& value) { |
| ::test::placementofattributes::ExampleProtocolMethodRequest hlcpp; |
| hlcpp.arg = ::fidl::NaturalToHLCPP(std::move(value.arg())); |
| return hlcpp; |
| } |
| |
| ::test_placementofattributes::ExampleProtocolMethodRequest HLCPPToNaturalTraits<::test::placementofattributes::ExampleProtocolMethodRequest>::Convert(::test::placementofattributes::ExampleProtocolMethodRequest&& value) { |
| return ::test_placementofattributes::ExampleProtocolMethodRequest{{ |
| .arg = ::fidl::HLCPPToNatural(std::move(value.arg)), |
| }}; |
| } |
| ::test::placementofattributes::ExampleStruct NaturalToHLCPPTraits<::test_placementofattributes::ExampleStruct>::Convert(::test_placementofattributes::ExampleStruct&& value) { |
| ::test::placementofattributes::ExampleStruct hlcpp; |
| hlcpp.member = ::fidl::NaturalToHLCPP(std::move(value.member())); |
| return hlcpp; |
| } |
| |
| ::test_placementofattributes::ExampleStruct HLCPPToNaturalTraits<::test::placementofattributes::ExampleStruct>::Convert(::test::placementofattributes::ExampleStruct&& value) { |
| return ::test_placementofattributes::ExampleStruct{{ |
| .member = ::fidl::HLCPPToNatural(std::move(value.member)), |
| }}; |
| } |
| ::test::placementofattributes::ExampleTable NaturalToHLCPPTraits<::test_placementofattributes::ExampleTable>::Convert(::test_placementofattributes::ExampleTable&& value) { |
| ::test::placementofattributes::ExampleTable hlcpp; |
| if (value.member().has_value()) { |
| hlcpp.set_member(::fidl::NaturalToHLCPP(std::move(value.member().value()))); |
| } |
| return hlcpp; |
| } |
| |
| ::test_placementofattributes::ExampleTable HLCPPToNaturalTraits<::test::placementofattributes::ExampleTable>::Convert(::test::placementofattributes::ExampleTable&& value) { |
| ::test_placementofattributes::ExampleTable natural; |
| if (value.has_member()) { |
| natural.member() = ::fidl::HLCPPToNatural(std::move(*value.mutable_member())); |
| } |
| return natural; |
| } |
| |
| ::test::placementofattributes::ExampleUnion NaturalToHLCPPTraits<::test_placementofattributes::ExampleUnion>::Convert(::test_placementofattributes::ExampleUnion&& value) { |
| ::test::placementofattributes::ExampleUnion hlcpp; |
| switch (value.Which()) { |
| case ::test_placementofattributes::ExampleUnion::Tag::kVariant: |
| hlcpp.set_variant(::fidl::NaturalToHLCPP(std::move(value.variant().value()))); |
| break; |
| default: |
| break; |
| } |
| return hlcpp; |
| } |
| |
| ::test_placementofattributes::ExampleUnion HLCPPToNaturalTraits<::test::placementofattributes::ExampleUnion>::Convert(::test::placementofattributes::ExampleUnion&& value) { |
| using _NaturalUnion = ::test_placementofattributes::ExampleUnion; |
| switch (value.Which()) { |
| case ::test::placementofattributes::ExampleUnion::Tag::kVariant: |
| return _NaturalUnion::WithVariant( |
| ::fidl::HLCPPToNatural(std::move(value.variant()))); |
| default: |
| ZX_PANIC("Can't convert invalid strict union %s from HLCPP to Natural", "::test::placementofattributes::ExampleUnion"); |
| } |
| } |
| |
| #pragma clang diagnostic pop |
| |
| } // namespace internal |
| } // namespace fidl |