| // WARNING: This file is machine generated by fidlgen. |
| |
| #include <fidl/test.handlesintypes/cpp/type_conversions.h> |
| |
| namespace fidl { |
| namespace internal { |
| |
| #ifdef __Fuchsia__ |
| |
| ::test_handlesintypes::HandlesInTypes WireNaturalConversionTraits<::test_handlesintypes::wire::HandlesInTypes, ::test_handlesintypes::HandlesInTypes>::ToNatural(::test_handlesintypes::wire::HandlesInTypes src) { |
| return ::test_handlesintypes::HandlesInTypes{{ |
| .normal_handle = WireNaturalConversionTraits<::zx::vmo, ::zx::vmo>::ToNatural(std::move(src.normal_handle)), |
| .handle_in_vec = WireNaturalConversionTraits<::fidl::VectorView<::zx::vmo>, ::std::vector<::zx::vmo>>::ToNatural(std::move(src.handle_in_vec)), |
| .handle_in_array = WireNaturalConversionTraits<::fidl::Array<::zx::vmo, 5>, ::std::array<::zx::vmo, 5>>::ToNatural(std::move(src.handle_in_array)), |
| .handle_in_mixed_vec_array = WireNaturalConversionTraits<::fidl::VectorView<::fidl::Array<::zx::vmo, 5>>, ::std::vector<::std::array<::zx::vmo, 5>>>::ToNatural(std::move(src.handle_in_mixed_vec_array)), |
| .table_with_handle = WireNaturalConversionTraits<::test_handlesintypes::wire::TableWithHandle, ::test_handlesintypes::TableWithHandle>::ToNatural(std::move(src.table_with_handle)), |
| .union_with_handle = WireNaturalConversionTraits<::test_handlesintypes::wire::UnionWithHandle, ::test_handlesintypes::UnionWithHandle>::ToNatural(std::move(src.union_with_handle)), |
| }}; |
| } |
| ::test_handlesintypes::wire::HandlesInTypes WireNaturalConversionTraits<::test_handlesintypes::wire::HandlesInTypes, ::test_handlesintypes::HandlesInTypes>::ToWire(fidl::AnyArena& arena, ::test_handlesintypes::HandlesInTypes src) { |
| return ::test_handlesintypes::wire::HandlesInTypes{ |
| .normal_handle = WireNaturalConversionTraits<::zx::vmo, ::zx::vmo>::ToWire(arena, std::move(src.normal_handle())), |
| .handle_in_vec = WireNaturalConversionTraits<::fidl::VectorView<::zx::vmo>, ::std::vector<::zx::vmo>>::ToWire(arena, std::move(src.handle_in_vec())), |
| .handle_in_array = WireNaturalConversionTraits<::fidl::Array<::zx::vmo, 5>, ::std::array<::zx::vmo, 5>>::ToWire(arena, std::move(src.handle_in_array())), |
| .handle_in_mixed_vec_array = WireNaturalConversionTraits<::fidl::VectorView<::fidl::Array<::zx::vmo, 5>>, ::std::vector<::std::array<::zx::vmo, 5>>>::ToWire(arena, std::move(src.handle_in_mixed_vec_array())), |
| .table_with_handle = WireNaturalConversionTraits<::test_handlesintypes::wire::TableWithHandle, ::test_handlesintypes::TableWithHandle>::ToWire(arena, std::move(src.table_with_handle())), |
| .union_with_handle = WireNaturalConversionTraits<::test_handlesintypes::wire::UnionWithHandle, ::test_handlesintypes::UnionWithHandle>::ToWire(arena, std::move(src.union_with_handle())), |
| }; |
| } |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| ::test_handlesintypes::TableWithHandle WireNaturalConversionTraits<::test_handlesintypes::wire::TableWithHandle, ::test_handlesintypes::TableWithHandle>::ToNatural(::test_handlesintypes::wire::TableWithHandle src) { |
| ::test_handlesintypes::TableWithHandle dst; |
| if (src.has_h()) { |
| dst.h() = |
| WireNaturalConversionTraits<::zx::vmo, ::zx::vmo>::ToNatural(std::move(src.h())); |
| } |
| |
| return dst; |
| } |
| ::test_handlesintypes::wire::TableWithHandle WireNaturalConversionTraits<::test_handlesintypes::wire::TableWithHandle, ::test_handlesintypes::TableWithHandle>::ToWire(fidl::AnyArena& arena, ::test_handlesintypes::TableWithHandle src) { |
| auto builder = ::test_handlesintypes::wire::TableWithHandle::Builder(arena); |
| if (src.h().has_value()) { |
| builder.h( |
| WireNaturalConversionTraits<::zx::vmo, ::zx::vmo>::ToWire(arena, std::move(src.h().value()))); |
| } |
| return builder.Build(); |
| } |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| ::test_handlesintypes::UnionWithHandle WireNaturalConversionTraits<::test_handlesintypes::wire::UnionWithHandle, ::test_handlesintypes::UnionWithHandle>::ToNatural(::test_handlesintypes::wire::UnionWithHandle src) { |
| switch (src.Which()) { |
| case ::test_handlesintypes::wire::UnionWithHandle::Tag::kH: |
| return ::test_handlesintypes::UnionWithHandle::WithH( |
| WireNaturalConversionTraits<::zx::vmo, ::zx::vmo>::ToNatural(std::move(src.h()))); |
| default: |
| return ::test_handlesintypes::UnionWithHandle(); |
| } |
| } |
| ::test_handlesintypes::wire::UnionWithHandle WireNaturalConversionTraits<::test_handlesintypes::wire::UnionWithHandle, ::test_handlesintypes::UnionWithHandle>::ToWire(fidl::AnyArena& arena, ::test_handlesintypes::UnionWithHandle src) { |
| switch (src.Which()) { |
| case ::test_handlesintypes::UnionWithHandle::Tag::kH: |
| return ::test_handlesintypes::wire::UnionWithHandle::WithH( |
| WireNaturalConversionTraits<::zx::vmo, ::zx::vmo>::ToWire(arena, std::move(src.h().value()))); |
| default: |
| return ::test_handlesintypes::wire::UnionWithHandle(); |
| } |
| } |
| |
| std::unique_ptr<::test_handlesintypes::UnionWithHandle> WireNaturalConversionTraits<::test_handlesintypes::wire::UnionWithHandle, std::unique_ptr<::test_handlesintypes::UnionWithHandle>>::ToNatural(::test_handlesintypes::wire::UnionWithHandle src) { |
| if (src.has_invalid_tag()) { |
| return nullptr; |
| } |
| return std::make_unique<::test_handlesintypes::UnionWithHandle>(WireNaturalConversionTraits<::test_handlesintypes::wire::UnionWithHandle, ::test_handlesintypes::UnionWithHandle>::ToNatural(std::move(src))); |
| } |
| ::test_handlesintypes::wire::UnionWithHandle WireNaturalConversionTraits<::test_handlesintypes::wire::UnionWithHandle, std::unique_ptr<::test_handlesintypes::UnionWithHandle>>::ToWire(fidl::AnyArena& arena, std::unique_ptr<::test_handlesintypes::UnionWithHandle> src) { |
| if (!src) { |
| return ::test_handlesintypes::wire::UnionWithHandle(); |
| } |
| return WireNaturalConversionTraits<::test_handlesintypes::wire::UnionWithHandle, ::test_handlesintypes::UnionWithHandle>::ToWire(arena, std::move(*src)); |
| } |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| #endif // __Fuchsia__ |
| } // namespace internal |
| } // namespace fidl |