| // WARNING: This file is machine generated by fidlgen. |
| |
| #pragma once |
| |
| #include <fidl/test.handles/cpp/common_types.h> |
| #include <fidl/test.handles/cpp/markers.h> |
| #include <lib/fidl/cpp/natural_coding_traits.h> |
| #include <lib/fidl/cpp/natural_types.h> |
| |
| #include <cinttypes> |
| #include <string> |
| |
| #ifdef __Fuchsia__ |
| |
| #include <lib/fidl_driver/cpp/natural_types.h> |
| #include <lib/zx/bti.h> |
| #include <lib/zx/channel.h> |
| #include <lib/zx/clock.h> |
| #include <lib/zx/debuglog.h> |
| #include <lib/zx/event.h> |
| #include <lib/zx/eventpair.h> |
| #include <lib/zx/exception.h> |
| #include <lib/zx/fifo.h> |
| #include <lib/zx/guest.h> |
| #include <lib/zx/handle.h> |
| #include <lib/zx/interrupt.h> |
| #include <lib/zx/iommu.h> |
| #include <lib/zx/job.h> |
| #include <lib/zx/pager.h> |
| #include <lib/zx/pmt.h> |
| #include <lib/zx/port.h> |
| #include <lib/zx/process.h> |
| #include <lib/zx/profile.h> |
| #include <lib/zx/resource.h> |
| #include <lib/zx/socket.h> |
| #include <lib/zx/suspend_token.h> |
| #include <lib/zx/thread.h> |
| #include <lib/zx/timer.h> |
| #include <lib/zx/vcpu.h> |
| #include <lib/zx/vmar.h> |
| #include <lib/zx/vmo.h> |
| |
| #endif // __Fuchsia__ |
| |
| #include <fidl/fdf/cpp/natural_types.h> |
| |
| namespace test_handles { |
| class Handles; |
| |
| class FdfHandles; |
| |
| #ifdef __Fuchsia__ |
| |
| extern "C" const fidl_type_t test_handles_HandlesTable; |
| |
| class Handles { |
| private: |
| struct Storage_; |
| |
| public: |
| Handles(Storage_ storage) noexcept : storage_(std::move(storage)) {} |
| Handles(::zx::handle plain_handle, ::zx::bti bti_handle, |
| ::zx::channel channel_handle, ::zx::clock clock_handle, |
| ::zx::debuglog debuglog_handle, ::zx::event event_handle, |
| ::zx::eventpair eventpair_handle, ::zx::exception exception_handle, |
| ::zx::fifo fifo_handle, ::zx::guest guest_handle, |
| ::zx::interrupt interrupt_handle, ::zx::iommu iommu_handle, |
| ::zx::job job_handle, ::zx::pager pager_handle, ::zx::pmt pmt_handle, |
| ::zx::port port_handle, ::zx::process process_handle, |
| ::zx::profile profile_handle, ::zx::resource resource_handle, |
| ::zx::socket socket_handle, ::zx::suspend_token suspendtoken_handle, |
| ::zx::thread thread_handle, ::zx::timer timer_handle, |
| ::zx::vcpu vcpu_handle, ::zx::vmar vmar_handle, ::zx::vmo vmo_handle, |
| ::zx::vmo rights_handle, ::zx::handle aliased_plain_handle_field, |
| ::zx::vmo aliased_subtype_handle_field, |
| ::zx::vmo aliased_rights_handle_field, |
| ::fidl::ClientEnd<::test_handles::SomeProtocol> some_protocol, |
| ::fidl::ServerEnd<::test_handles::SomeProtocol> |
| request_some_protocol) noexcept |
| : storage_({.plain_handle = std::move(plain_handle), |
| .bti_handle = std::move(bti_handle), |
| .channel_handle = std::move(channel_handle), |
| .clock_handle = std::move(clock_handle), |
| .debuglog_handle = std::move(debuglog_handle), |
| .event_handle = std::move(event_handle), |
| .eventpair_handle = std::move(eventpair_handle), |
| .exception_handle = std::move(exception_handle), |
| .fifo_handle = std::move(fifo_handle), |
| .guest_handle = std::move(guest_handle), |
| .interrupt_handle = std::move(interrupt_handle), |
| .iommu_handle = std::move(iommu_handle), |
| .job_handle = std::move(job_handle), |
| .pager_handle = std::move(pager_handle), |
| .pmt_handle = std::move(pmt_handle), |
| .port_handle = std::move(port_handle), |
| .process_handle = std::move(process_handle), |
| .profile_handle = std::move(profile_handle), |
| .resource_handle = std::move(resource_handle), |
| .socket_handle = std::move(socket_handle), |
| .suspendtoken_handle = std::move(suspendtoken_handle), |
| .thread_handle = std::move(thread_handle), |
| .timer_handle = std::move(timer_handle), |
| .vcpu_handle = std::move(vcpu_handle), |
| .vmar_handle = std::move(vmar_handle), |
| .vmo_handle = std::move(vmo_handle), |
| .rights_handle = std::move(rights_handle), |
| .aliased_plain_handle_field = |
| std::move(aliased_plain_handle_field), |
| .aliased_subtype_handle_field = |
| std::move(aliased_subtype_handle_field), |
| .aliased_rights_handle_field = |
| std::move(aliased_rights_handle_field), |
| .some_protocol = std::move(some_protocol), |
| .request_some_protocol = std::move(request_some_protocol)}) {} |
| |
| #pragma clang diagnostic push |
| #pragma clang diagnostic ignored "-Wdefaulted-function-deleted" |
| // Default constructs a |Handles| only if all of its members are default |
| // constructible. |
| Handles() = default; |
| #pragma clang diagnostic pop |
| |
| Handles(Handles&&) noexcept = default; |
| Handles& operator=(Handles&&) noexcept = default; |
| |
| const ::zx::handle& plain_handle() const { return storage_.plain_handle; } |
| |
| ::zx::handle& plain_handle() { return storage_.plain_handle; } |
| |
| const ::zx::bti& bti_handle() const { return storage_.bti_handle; } |
| |
| ::zx::bti& bti_handle() { return storage_.bti_handle; } |
| |
| const ::zx::channel& channel_handle() const { |
| return storage_.channel_handle; |
| } |
| |
| ::zx::channel& channel_handle() { return storage_.channel_handle; } |
| |
| const ::zx::clock& clock_handle() const { return storage_.clock_handle; } |
| |
| ::zx::clock& clock_handle() { return storage_.clock_handle; } |
| |
| const ::zx::debuglog& debuglog_handle() const { |
| return storage_.debuglog_handle; |
| } |
| |
| ::zx::debuglog& debuglog_handle() { return storage_.debuglog_handle; } |
| |
| const ::zx::event& event_handle() const { return storage_.event_handle; } |
| |
| ::zx::event& event_handle() { return storage_.event_handle; } |
| |
| const ::zx::eventpair& eventpair_handle() const { |
| return storage_.eventpair_handle; |
| } |
| |
| ::zx::eventpair& eventpair_handle() { return storage_.eventpair_handle; } |
| |
| const ::zx::exception& exception_handle() const { |
| return storage_.exception_handle; |
| } |
| |
| ::zx::exception& exception_handle() { return storage_.exception_handle; } |
| |
| const ::zx::fifo& fifo_handle() const { return storage_.fifo_handle; } |
| |
| ::zx::fifo& fifo_handle() { return storage_.fifo_handle; } |
| |
| const ::zx::guest& guest_handle() const { return storage_.guest_handle; } |
| |
| ::zx::guest& guest_handle() { return storage_.guest_handle; } |
| |
| const ::zx::interrupt& interrupt_handle() const { |
| return storage_.interrupt_handle; |
| } |
| |
| ::zx::interrupt& interrupt_handle() { return storage_.interrupt_handle; } |
| |
| const ::zx::iommu& iommu_handle() const { return storage_.iommu_handle; } |
| |
| ::zx::iommu& iommu_handle() { return storage_.iommu_handle; } |
| |
| const ::zx::job& job_handle() const { return storage_.job_handle; } |
| |
| ::zx::job& job_handle() { return storage_.job_handle; } |
| |
| const ::zx::pager& pager_handle() const { return storage_.pager_handle; } |
| |
| ::zx::pager& pager_handle() { return storage_.pager_handle; } |
| |
| const ::zx::pmt& pmt_handle() const { return storage_.pmt_handle; } |
| |
| ::zx::pmt& pmt_handle() { return storage_.pmt_handle; } |
| |
| const ::zx::port& port_handle() const { return storage_.port_handle; } |
| |
| ::zx::port& port_handle() { return storage_.port_handle; } |
| |
| const ::zx::process& process_handle() const { |
| return storage_.process_handle; |
| } |
| |
| ::zx::process& process_handle() { return storage_.process_handle; } |
| |
| const ::zx::profile& profile_handle() const { |
| return storage_.profile_handle; |
| } |
| |
| ::zx::profile& profile_handle() { return storage_.profile_handle; } |
| |
| const ::zx::resource& resource_handle() const { |
| return storage_.resource_handle; |
| } |
| |
| ::zx::resource& resource_handle() { return storage_.resource_handle; } |
| |
| const ::zx::socket& socket_handle() const { return storage_.socket_handle; } |
| |
| ::zx::socket& socket_handle() { return storage_.socket_handle; } |
| |
| const ::zx::suspend_token& suspendtoken_handle() const { |
| return storage_.suspendtoken_handle; |
| } |
| |
| ::zx::suspend_token& suspendtoken_handle() { |
| return storage_.suspendtoken_handle; |
| } |
| |
| const ::zx::thread& thread_handle() const { return storage_.thread_handle; } |
| |
| ::zx::thread& thread_handle() { return storage_.thread_handle; } |
| |
| const ::zx::timer& timer_handle() const { return storage_.timer_handle; } |
| |
| ::zx::timer& timer_handle() { return storage_.timer_handle; } |
| |
| const ::zx::vcpu& vcpu_handle() const { return storage_.vcpu_handle; } |
| |
| ::zx::vcpu& vcpu_handle() { return storage_.vcpu_handle; } |
| |
| const ::zx::vmar& vmar_handle() const { return storage_.vmar_handle; } |
| |
| ::zx::vmar& vmar_handle() { return storage_.vmar_handle; } |
| |
| const ::zx::vmo& vmo_handle() const { return storage_.vmo_handle; } |
| |
| ::zx::vmo& vmo_handle() { return storage_.vmo_handle; } |
| |
| const ::zx::vmo& rights_handle() const { return storage_.rights_handle; } |
| |
| ::zx::vmo& rights_handle() { return storage_.rights_handle; } |
| |
| const ::zx::handle& aliased_plain_handle_field() const { |
| return storage_.aliased_plain_handle_field; |
| } |
| |
| ::zx::handle& aliased_plain_handle_field() { |
| return storage_.aliased_plain_handle_field; |
| } |
| |
| const ::zx::vmo& aliased_subtype_handle_field() const { |
| return storage_.aliased_subtype_handle_field; |
| } |
| |
| ::zx::vmo& aliased_subtype_handle_field() { |
| return storage_.aliased_subtype_handle_field; |
| } |
| |
| const ::zx::vmo& aliased_rights_handle_field() const { |
| return storage_.aliased_rights_handle_field; |
| } |
| |
| ::zx::vmo& aliased_rights_handle_field() { |
| return storage_.aliased_rights_handle_field; |
| } |
| |
| const ::fidl::ClientEnd<::test_handles::SomeProtocol>& some_protocol() const { |
| return storage_.some_protocol; |
| } |
| |
| ::fidl::ClientEnd<::test_handles::SomeProtocol>& some_protocol() { |
| return storage_.some_protocol; |
| } |
| |
| const ::fidl::ServerEnd<::test_handles::SomeProtocol>& request_some_protocol() |
| const { |
| return storage_.request_some_protocol; |
| } |
| |
| ::fidl::ServerEnd<::test_handles::SomeProtocol>& request_some_protocol() { |
| return storage_.request_some_protocol; |
| } |
| |
| Handles(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) |
| : Handles(Storage_{ |
| .plain_handle = {}, |
| .bti_handle = {}, |
| .channel_handle = {}, |
| .clock_handle = {}, |
| .debuglog_handle = {}, |
| .event_handle = {}, |
| .eventpair_handle = {}, |
| .exception_handle = {}, |
| .fifo_handle = {}, |
| .guest_handle = {}, |
| .interrupt_handle = {}, |
| .iommu_handle = {}, |
| .job_handle = {}, |
| .pager_handle = {}, |
| .pmt_handle = {}, |
| .port_handle = {}, |
| .process_handle = {}, |
| .profile_handle = {}, |
| .resource_handle = {}, |
| .socket_handle = {}, |
| .suspendtoken_handle = {}, |
| .thread_handle = {}, |
| .timer_handle = {}, |
| .vcpu_handle = {}, |
| .vmar_handle = {}, |
| .vmo_handle = {}, |
| .rights_handle = {}, |
| .aliased_plain_handle_field = {}, |
| .aliased_subtype_handle_field = {}, |
| .aliased_rights_handle_field = {}, |
| .some_protocol = {}, |
| .request_some_protocol = {}, |
| }) {} |
| |
| private: |
| struct Storage_ final { |
| ::zx::handle plain_handle; |
| ::zx::bti bti_handle; |
| ::zx::channel channel_handle; |
| ::zx::clock clock_handle; |
| ::zx::debuglog debuglog_handle; |
| ::zx::event event_handle; |
| ::zx::eventpair eventpair_handle; |
| ::zx::exception exception_handle; |
| ::zx::fifo fifo_handle; |
| ::zx::guest guest_handle; |
| ::zx::interrupt interrupt_handle; |
| ::zx::iommu iommu_handle; |
| ::zx::job job_handle; |
| ::zx::pager pager_handle; |
| ::zx::pmt pmt_handle; |
| ::zx::port port_handle; |
| ::zx::process process_handle; |
| ::zx::profile profile_handle; |
| ::zx::resource resource_handle; |
| ::zx::socket socket_handle; |
| ::zx::suspend_token suspendtoken_handle; |
| ::zx::thread thread_handle; |
| ::zx::timer timer_handle; |
| ::zx::vcpu vcpu_handle; |
| ::zx::vmar vmar_handle; |
| ::zx::vmo vmo_handle; |
| ::zx::vmo rights_handle; |
| ::zx::handle aliased_plain_handle_field; |
| ::zx::vmo aliased_subtype_handle_field; |
| ::zx::vmo aliased_rights_handle_field; |
| ::fidl::ClientEnd<::test_handles::SomeProtocol> some_protocol; |
| ::fidl::ServerEnd<::test_handles::SomeProtocol> request_some_protocol; |
| }; |
| |
| Storage_ storage_; |
| |
| friend struct ::fidl::internal::NaturalStructCodingTraits< |
| ::test_handles::Handles, 128>; |
| friend struct ::fidl::internal::MemberVisitor<::test_handles::Handles>; |
| static constexpr auto kMembers = std::make_tuple( |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::handle, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_NONE, |
| 0x80000000, false>>{ |
| &Storage_::plain_handle, 0}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::bti, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_BTI, |
| 0x80000000, false>>{ |
| &Storage_::bti_handle, 4}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::channel, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, |
| 0x80000000, false>>{ |
| &Storage_::channel_handle, 8}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::clock, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_CLOCK, |
| 0x80000000, false>>{ |
| &Storage_::clock_handle, 12}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::debuglog, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_LOG, |
| 0x80000000, false>>{ |
| &Storage_::debuglog_handle, 16}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::event, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_EVENT, |
| 0x80000000, false>>{ |
| &Storage_::event_handle, 20}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::eventpair, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_EVENTPAIR, |
| 0x80000000, false>>{ |
| &Storage_::eventpair_handle, 24}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::exception, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_EXCEPTION, |
| 0x80000000, false>>{ |
| &Storage_::exception_handle, 28}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::fifo, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_FIFO, |
| 0x80000000, false>>{ |
| &Storage_::fifo_handle, 32}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::guest, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_GUEST, |
| 0x80000000, false>>{ |
| &Storage_::guest_handle, 36}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::interrupt, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_INTERRUPT, |
| 0x80000000, false>>{ |
| &Storage_::interrupt_handle, 40}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::iommu, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_IOMMU, |
| 0x80000000, false>>{ |
| &Storage_::iommu_handle, 44}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::job, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_JOB, |
| 0x80000000, false>>{ |
| &Storage_::job_handle, 48}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::pager, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_PAGER, |
| 0x80000000, false>>{ |
| &Storage_::pager_handle, 52}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::pmt, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_PMT, |
| 0x80000000, false>>{ |
| &Storage_::pmt_handle, 56}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::port, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_PORT, |
| 0x80000000, false>>{ |
| &Storage_::port_handle, 60}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::process, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_PROCESS, |
| 0x80000000, false>>{ |
| &Storage_::process_handle, 64}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::profile, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_PROFILE, |
| 0x80000000, false>>{ |
| &Storage_::profile_handle, 68}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::resource, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_RESOURCE, |
| 0x80000000, false>>{ |
| &Storage_::resource_handle, 72}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::socket, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_SOCKET, |
| 0x80000000, false>>{ |
| &Storage_::socket_handle, 76}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::suspend_token, |
| fidl::internal::NaturalCodingConstraintHandle< |
| ZX_OBJ_TYPE_SUSPEND_TOKEN, 0x80000000, false>>{ |
| &Storage_::suspendtoken_handle, 80}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::thread, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_THREAD, |
| 0x80000000, false>>{ |
| &Storage_::thread_handle, 84}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::timer, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_TIMER, |
| 0x80000000, false>>{ |
| &Storage_::timer_handle, 88}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::vcpu, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_VCPU, |
| 0x80000000, false>>{ |
| &Storage_::vcpu_handle, 92}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::vmar, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_VMAR, |
| 0x80000000, false>>{ |
| &Storage_::vmar_handle, 96}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::vmo, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_VMO, |
| 0x80000000, false>>{ |
| &Storage_::vmo_handle, 100}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::vmo, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x5, |
| false>>{ |
| &Storage_::rights_handle, 104}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::handle, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_NONE, |
| 0x80000000, false>>{ |
| &Storage_::aliased_plain_handle_field, 108}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::vmo, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_VMO, |
| 0x80000000, false>>{ |
| &Storage_::aliased_subtype_handle_field, 112}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::zx::vmo, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_VMO, 0x1, |
| false>>{ |
| &Storage_::aliased_rights_handle_field, 116}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::fidl::ClientEnd<::test_handles::SomeProtocol>, |
| fidl::internal::NaturalCodingConstraintHandle< |
| ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>>{ |
| &Storage_::some_protocol, 120}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::fidl::ServerEnd<::test_handles::SomeProtocol>, |
| fidl::internal::NaturalCodingConstraintHandle< |
| ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>>{ |
| &Storage_::request_some_protocol, 124}); |
| static constexpr auto kPadding = std::make_tuple(); |
| }; |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| extern "C" const fidl_type_t test_handles_FdfHandlesTable; |
| |
| class FdfHandles { |
| private: |
| struct Storage_; |
| |
| public: |
| FdfHandles(Storage_ storage) noexcept : storage_(std::move(storage)) {} |
| FdfHandles(::fdf::Channel fdf_channel_handle, |
| ::fdf::ClientEnd<::test_handles::DriverProtocol> client_end_driver, |
| ::fdf::ServerEnd<::test_handles::DriverProtocol> |
| server_end_driver) noexcept |
| : storage_({.fdf_channel_handle = std::move(fdf_channel_handle), |
| .client_end_driver = std::move(client_end_driver), |
| .server_end_driver = std::move(server_end_driver)}) {} |
| |
| #pragma clang diagnostic push |
| #pragma clang diagnostic ignored "-Wdefaulted-function-deleted" |
| // Default constructs a |FdfHandles| only if all of its members are default |
| // constructible. |
| FdfHandles() = default; |
| #pragma clang diagnostic pop |
| |
| FdfHandles(FdfHandles&&) noexcept = default; |
| FdfHandles& operator=(FdfHandles&&) noexcept = default; |
| |
| const ::fdf::Channel& fdf_channel_handle() const { |
| return storage_.fdf_channel_handle; |
| } |
| |
| ::fdf::Channel& fdf_channel_handle() { return storage_.fdf_channel_handle; } |
| |
| const ::fdf::ClientEnd<::test_handles::DriverProtocol>& client_end_driver() |
| const { |
| return storage_.client_end_driver; |
| } |
| |
| ::fdf::ClientEnd<::test_handles::DriverProtocol>& client_end_driver() { |
| return storage_.client_end_driver; |
| } |
| |
| const ::fdf::ServerEnd<::test_handles::DriverProtocol>& server_end_driver() |
| const { |
| return storage_.server_end_driver; |
| } |
| |
| ::fdf::ServerEnd<::test_handles::DriverProtocol>& server_end_driver() { |
| return storage_.server_end_driver; |
| } |
| |
| FdfHandles(::fidl::internal::DefaultConstructPossiblyInvalidObjectTag) |
| : FdfHandles(Storage_{ |
| .fdf_channel_handle = {}, |
| .client_end_driver = {}, |
| .server_end_driver = {}, |
| }) {} |
| |
| private: |
| struct Storage_ final { |
| ::fdf::Channel fdf_channel_handle; |
| ::fdf::ClientEnd<::test_handles::DriverProtocol> client_end_driver; |
| ::fdf::ServerEnd<::test_handles::DriverProtocol> server_end_driver; |
| }; |
| |
| Storage_ storage_; |
| |
| friend struct ::fidl::internal::NaturalStructCodingTraits< |
| ::test_handles::FdfHandles, 12>; |
| friend struct ::fidl::internal::MemberVisitor<::test_handles::FdfHandles>; |
| static constexpr auto kMembers = std::make_tuple( |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::fdf::Channel, |
| fidl::internal::NaturalCodingConstraintHandle<ZX_OBJ_TYPE_CHANNEL, |
| 0x80000000, false>>{ |
| &Storage_::fdf_channel_handle, 0}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::fdf::ClientEnd<::test_handles::DriverProtocol>, |
| fidl::internal::NaturalCodingConstraintHandle< |
| ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>>{ |
| &Storage_::client_end_driver, 4}, |
| ::fidl::internal::NaturalStructMember< |
| Storage_, ::fdf::ServerEnd<::test_handles::DriverProtocol>, |
| fidl::internal::NaturalCodingConstraintHandle< |
| ZX_OBJ_TYPE_CHANNEL, ZX_DEFAULT_CHANNEL_RIGHTS, false>>{ |
| &Storage_::server_end_driver, 8}); |
| static constexpr auto kPadding = std::make_tuple(); |
| }; |
| |
| #endif // __Fuchsia__ |
| |
| } // namespace test_handles |
| namespace fidl { |
| |
| #ifdef __Fuchsia__ |
| |
| extern "C" const fidl_type_t test_handles_HandlesTable; |
| |
| template <> |
| struct IsResource<::test_handles::Handles> : public std::true_type {}; |
| template <> |
| struct IsFidlType<::test_handles::Handles> : public std::true_type {}; |
| |
| template <> |
| struct ::fidl::internal::TypeTraits<::test_handles::Handles> final { |
| public: |
| static constexpr const fidl_type_t* kCodingTable = &test_handles_HandlesTable; |
| }; |
| |
| template <> |
| struct internal::NaturalCodingTraits< |
| ::test_handles::Handles, ::fidl::internal::NaturalCodingConstraintEmpty> |
| final : public ::fidl::internal::NaturalStructCodingTraits< |
| ::test_handles::Handles, 128> {}; |
| |
| #endif // __Fuchsia__ |
| |
| #ifdef __Fuchsia__ |
| |
| extern "C" const fidl_type_t test_handles_FdfHandlesTable; |
| |
| template <> |
| struct IsResource<::test_handles::FdfHandles> : public std::true_type {}; |
| template <> |
| struct IsFidlType<::test_handles::FdfHandles> : public std::true_type {}; |
| |
| template <> |
| struct ::fidl::internal::TypeTraits<::test_handles::FdfHandles> final { |
| public: |
| static constexpr const fidl_type_t* kCodingTable = |
| &test_handles_FdfHandlesTable; |
| }; |
| |
| template <> |
| struct internal::NaturalCodingTraits< |
| ::test_handles::FdfHandles, ::fidl::internal::NaturalCodingConstraintEmpty> |
| final : public ::fidl::internal::NaturalStructCodingTraits< |
| ::test_handles::FdfHandles, 12> {}; |
| |
| #endif // __Fuchsia__ |
| |
| } // namespace fidl |