// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Phone_Networking_Voip_H #define WINRT_Windows_Phone_Networking_Voip_H #include "winrt/base.h" static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.250303.1"), "Mismatched C++/WinRT headers."); #define CPPWINRT_VERSION "2.0.250303.1" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Phone.Networking.Voip.2.h" namespace winrt::impl { template auto consume_Windows_Phone_Networking_Voip_ICallAnswerEventArgs::AcceptedMedia() const { winrt::Windows::Phone::Networking::Voip::VoipCallMedia value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_AcceptedMedia(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AcceptedMedia(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Phone_Networking_Voip_ICallAnswerEventArgs2::SourceDeviceId() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_SourceDeviceId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SourceDeviceId(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Phone_Networking_Voip_ICallRejectEventArgs::RejectReason() const { winrt::Windows::Phone::Networking::Voip::VoipCallRejectReason value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RejectReason(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RejectReason(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Phone_Networking_Voip_ICallStateChangeEventArgs::State() const { winrt::Windows::Phone::Networking::Voip::VoipCallState value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_State(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_State(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Phone_Networking_Voip_IMuteChangeEventArgs::Muted() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Muted(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Muted(&value)); } return value; } template auto consume_Windows_Phone_Networking_Voip_IQuerySeamlessUpgradeSupportOperation::RemoteId() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_RemoteId(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RemoteId(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Phone_Networking_Voip_IQuerySeamlessUpgradeSupportOperation::NotifyCompletion(bool succeeded, winrt::Windows::Phone::Networking::Voip::SeamlessCallUpgradeSupport const& seamlessCallUpgradeSupport) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyCompletion(succeeded, static_cast(seamlessCallUpgradeSupport))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyCompletion(succeeded, static_cast(seamlessCallUpgradeSupport))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::MuteRequested(winrt::Windows::Foundation::TypedEventHandler const& muteChangeHandler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_MuteRequested(*(void**)(&muteChangeHandler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_MuteRequested(*(void**)(&muteChangeHandler), put_abi(token))); } return token; } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::MuteRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& muteChangeHandler) const { return impl::make_event_revoker(this, MuteRequested(muteChangeHandler)); } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::MuteRequested(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_MuteRequested(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_MuteRequested(impl::bind_in(token)); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::UnmuteRequested(winrt::Windows::Foundation::TypedEventHandler const& muteChangeHandler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_UnmuteRequested(*(void**)(&muteChangeHandler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_UnmuteRequested(*(void**)(&muteChangeHandler), put_abi(token))); } return token; } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::UnmuteRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& muteChangeHandler) const { return impl::make_event_revoker(this, UnmuteRequested(muteChangeHandler)); } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::UnmuteRequested(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_UnmuteRequested(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_UnmuteRequested(impl::bind_in(token)); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::RequestNewIncomingCall(param::hstring const& context, param::hstring const& contactName, param::hstring const& contactNumber, winrt::Windows::Foundation::Uri const& contactImage, param::hstring const& serviceName, winrt::Windows::Foundation::Uri const& brandingImage, param::hstring const& callDetails, winrt::Windows::Foundation::Uri const& ringtone, winrt::Windows::Phone::Networking::Voip::VoipCallMedia const& media, winrt::Windows::Foundation::TimeSpan const& ringTimeout, winrt::Windows::Phone::Networking::Voip::VoipPhoneCall& call) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RequestNewIncomingCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&contactImage), *(void**)(&serviceName), *(void**)(&brandingImage), *(void**)(&callDetails), *(void**)(&ringtone), static_cast(media), impl::bind_in(ringTimeout), impl::bind_out(call))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RequestNewIncomingCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&contactImage), *(void**)(&serviceName), *(void**)(&brandingImage), *(void**)(&callDetails), *(void**)(&ringtone), static_cast(media), impl::bind_in(ringTimeout), impl::bind_out(call))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::RequestNewOutgoingCall(param::hstring const& context, param::hstring const& contactName, param::hstring const& serviceName, winrt::Windows::Phone::Networking::Voip::VoipCallMedia const& media, param::vector const& pAssociatedDeviceIds, winrt::Windows::Phone::Networking::Voip::VoipPhoneCall& call) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RequestNewOutgoingCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&serviceName), static_cast(media), *(void**)(&pAssociatedDeviceIds), impl::bind_out(call))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RequestNewOutgoingCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&serviceName), static_cast(media), *(void**)(&pAssociatedDeviceIds), impl::bind_out(call))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::NotifyMuted() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyMuted()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyMuted()); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator::NotifyUnmuted() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyUnmuted()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyUnmuted()); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator2::SetupNewAcceptedCall(param::hstring const& context, param::hstring const& contactName, param::hstring const& contactNumber, param::hstring const& serviceName, winrt::Windows::Phone::Networking::Voip::VoipCallMedia const& media, param::vector const& pAssociatedDeviceIds, winrt::Windows::Phone::Networking::Voip::VoipPhoneCall& call) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetupNewAcceptedCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&serviceName), static_cast(media), *(void**)(&pAssociatedDeviceIds), impl::bind_out(call))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetupNewAcceptedCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&serviceName), static_cast(media), *(void**)(&pAssociatedDeviceIds), impl::bind_out(call))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator3::RequestNewIncomingCall(param::hstring const& context, param::hstring const& contactName, param::hstring const& contactNumber, winrt::Windows::Foundation::Uri const& contactImage, param::hstring const& serviceName, winrt::Windows::Foundation::Uri const& brandingImage, param::hstring const& callDetails, winrt::Windows::Foundation::Uri const& ringtone, winrt::Windows::Phone::Networking::Voip::VoipCallMedia const& media, winrt::Windows::Foundation::TimeSpan const& ringTimeout, param::hstring const& contactRemoteId, param::vector const& pAssociatedDeviceIds) const { void* call{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RequestNewIncomingCallWithContactRemoteId(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&contactImage), *(void**)(&serviceName), *(void**)(&brandingImage), *(void**)(&callDetails), *(void**)(&ringtone), static_cast(media), impl::bind_in(ringTimeout), *(void**)(&contactRemoteId), *(void**)(&pAssociatedDeviceIds), &call)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RequestNewIncomingCallWithContactRemoteId(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&contactImage), *(void**)(&serviceName), *(void**)(&brandingImage), *(void**)(&callDetails), *(void**)(&ringtone), static_cast(media), impl::bind_in(ringTimeout), *(void**)(&contactRemoteId), *(void**)(&pAssociatedDeviceIds), &call)); } return winrt::Windows::Phone::Networking::Voip::VoipPhoneCall{ call, take_ownership_from_abi }; } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinator3::RequestNewAppInitiatedCall(param::hstring const& context, param::hstring const& contactName, param::hstring const& contactNumber, param::hstring const& serviceName, winrt::Windows::Phone::Networking::Voip::VoipCallMedia const& media, param::vector const& pAssociatedDeviceIds, winrt::Windows::Phone::Networking::Voip::VoipPhoneCall& call) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RequestNewAppInitiatedCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&serviceName), static_cast(media), *(void**)(&pAssociatedDeviceIds), impl::bind_out(call))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RequestNewAppInitiatedCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&serviceName), static_cast(media), *(void**)(&pAssociatedDeviceIds), impl::bind_out(call))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinatorStatics::GetDefault() const { void* coordinator{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetDefault(&coordinator)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetDefault(&coordinator)); } return winrt::Windows::Phone::Networking::Voip::VoipCallCoordinator{ coordinator, take_ownership_from_abi }; } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinatorWithAppDeterminedUpgrade::ConfirmNonSeamlessUpgrade(winrt::guid const& callUpgradeGuid) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->ConfirmNonSeamlessUpgrade(impl::bind_in(callUpgradeGuid))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConfirmNonSeamlessUpgrade(impl::bind_in(callUpgradeGuid))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinatorWithAppDeterminedUpgrade::CancelUpgrade(winrt::guid const& callUpgradeGuid) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->CancelUpgrade(impl::bind_in(callUpgradeGuid))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CancelUpgrade(impl::bind_in(callUpgradeGuid))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinatorWithUpgrade::RequestOutgoingUpgradeToVideoCall(winrt::guid const& callUpgradeGuid, param::hstring const& context, param::hstring const& contactName, param::hstring const& serviceName, winrt::Windows::Phone::Networking::Voip::VoipPhoneCall& call) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RequestOutgoingUpgradeToVideoCall(impl::bind_in(callUpgradeGuid), *(void**)(&context), *(void**)(&contactName), *(void**)(&serviceName), impl::bind_out(call))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RequestOutgoingUpgradeToVideoCall(impl::bind_in(callUpgradeGuid), *(void**)(&context), *(void**)(&contactName), *(void**)(&serviceName), impl::bind_out(call))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipCallCoordinatorWithUpgrade::RequestIncomingUpgradeToVideoCall(param::hstring const& context, param::hstring const& contactName, param::hstring const& contactNumber, winrt::Windows::Foundation::Uri const& contactImage, param::hstring const& serviceName, winrt::Windows::Foundation::Uri const& brandingImage, param::hstring const& callDetails, winrt::Windows::Foundation::Uri const& ringtone, winrt::Windows::Foundation::TimeSpan const& ringTimeout, winrt::Windows::Phone::Networking::Voip::VoipPhoneCall& call) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RequestIncomingUpgradeToVideoCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&contactImage), *(void**)(&serviceName), *(void**)(&brandingImage), *(void**)(&callDetails), *(void**)(&ringtone), impl::bind_in(ringTimeout), impl::bind_out(call))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RequestIncomingUpgradeToVideoCall(*(void**)(&context), *(void**)(&contactName), *(void**)(&contactNumber), *(void**)(&contactImage), *(void**)(&serviceName), *(void**)(&brandingImage), *(void**)(&callDetails), *(void**)(&ringtone), impl::bind_in(ringTimeout), impl::bind_out(call))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipOperation::Id() const { uint32_t operationId{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Id(&operationId)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Id(&operationId)); } return operationId; } template auto consume_Windows_Phone_Networking_Voip_IVoipOperation::Type() const { winrt::Windows::Phone::Networking::Voip::VoipOperationType operationType{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_Type(reinterpret_cast(&operationType))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Type(reinterpret_cast(&operationType))); } return operationType; } template auto consume_Windows_Phone_Networking_Voip_IVoipOperationsManager::GetNextOperation() const { void* voipOperation{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetNextOperation(&voipOperation)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetNextOperation(&voipOperation)); } return winrt::Windows::Phone::Networking::Voip::IVoipOperation{ voipOperation, take_ownership_from_abi }; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::EndRequested(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_EndRequested(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_EndRequested(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::EndRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, EndRequested(handler)); } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::EndRequested(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_EndRequested(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_EndRequested(impl::bind_in(token)); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::HoldRequested(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_HoldRequested(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_HoldRequested(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::HoldRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, HoldRequested(handler)); } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::HoldRequested(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_HoldRequested(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_HoldRequested(impl::bind_in(token)); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::ResumeRequested(winrt::Windows::Foundation::TypedEventHandler const& handler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_ResumeRequested(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_ResumeRequested(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::ResumeRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, ResumeRequested(handler)); } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::ResumeRequested(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_ResumeRequested(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_ResumeRequested(impl::bind_in(token)); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::AnswerRequested(winrt::Windows::Foundation::TypedEventHandler const& acceptHandler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_AnswerRequested(*(void**)(&acceptHandler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_AnswerRequested(*(void**)(&acceptHandler), put_abi(token))); } return token; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::AnswerRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& acceptHandler) const { return impl::make_event_revoker(this, AnswerRequested(acceptHandler)); } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::AnswerRequested(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_AnswerRequested(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_AnswerRequested(impl::bind_in(token)); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::RejectRequested(winrt::Windows::Foundation::TypedEventHandler const& rejectHandler) const { winrt::event_token token{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->add_RejectRequested(*(void**)(&rejectHandler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_RejectRequested(*(void**)(&rejectHandler), put_abi(token))); } return token; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::RejectRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& rejectHandler) const { return impl::make_event_revoker(this, RejectRequested(rejectHandler)); } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::RejectRequested(winrt::event_token const& token) const noexcept { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; _winrt_abi_type->remove_RejectRequested(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_RejectRequested(impl::bind_in(token)); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::NotifyCallHeld() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyCallHeld()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyCallHeld()); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::NotifyCallActive() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyCallActive()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyCallActive()); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::NotifyCallEnded() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyCallEnded()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyCallEnded()); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::ContactName() const { void* value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_ContactName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ContactName(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::ContactName(param::hstring const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_ContactName(*(void**)(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_ContactName(*(void**)(&value))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::StartTime() const { winrt::Windows::Foundation::DateTime value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_StartTime(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_StartTime(put_abi(value))); } return value; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::StartTime(winrt::Windows::Foundation::DateTime const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_StartTime(impl::bind_in(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_StartTime(impl::bind_in(value))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::CallMedia() const { winrt::Windows::Phone::Networking::Voip::VoipCallMedia value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_CallMedia(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CallMedia(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall::CallMedia(winrt::Windows::Phone::Networking::Voip::VoipCallMedia const& value) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->put_CallMedia(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_CallMedia(static_cast(value))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall2::TryShowAppUI() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->TryShowAppUI()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryShowAppUI()); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall3::NotifyCallAccepted(winrt::Windows::Phone::Networking::Voip::VoipCallMedia const& media) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyCallAccepted(static_cast(media))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyCallAccepted(static_cast(media))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall4::IsUsingAssociatedDevicesList() const { bool value{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->get_IsUsingAssociatedDevicesList(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsUsingAssociatedDevicesList(&value)); } return value; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall4::NotifyCallActive(param::iterable const& associatedDeviceIds) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyCallActiveOnDevices(*(void**)(&associatedDeviceIds))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyCallActiveOnDevices(*(void**)(&associatedDeviceIds))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall4::AddAssociatedCallControlDevice(param::hstring const& deviceId) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->AddAssociatedCallControlDevice(*(void**)(&deviceId))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->AddAssociatedCallControlDevice(*(void**)(&deviceId))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall4::RemoveAssociatedCallControlDevice(param::hstring const& deviceId) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->RemoveAssociatedCallControlDevice(*(void**)(&deviceId))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RemoveAssociatedCallControlDevice(*(void**)(&deviceId))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall4::SetAssociatedCallControlDevices(param::iterable const& associatedDeviceIds) const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->SetAssociatedCallControlDevices(*(void**)(&associatedDeviceIds))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetAssociatedCallControlDevices(*(void**)(&associatedDeviceIds))); } } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCall4::GetAssociatedCallControlDevices() const { void* result{}; if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->GetAssociatedCallControlDevices(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetAssociatedCallControlDevices(&result)); } return winrt::Windows::Foundation::Collections::IVectorView{ result, take_ownership_from_abi }; } template auto consume_Windows_Phone_Networking_Voip_IVoipPhoneCallReady::NotifyCallReady() const { if constexpr (!std::is_same_v) { winrt::hresult _winrt_cast_result_code; auto const _winrt_casted_result = impl::try_as_with_reason(static_cast(this), _winrt_cast_result_code); check_hresult(_winrt_cast_result_code); auto const _winrt_abi_type = *(abi_t**)&_winrt_casted_result; check_hresult(_winrt_abi_type->NotifyCallReady()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->NotifyCallReady()); } } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_AcceptedMedia(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AcceptedMedia()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_SourceDeviceId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SourceDeviceId()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RejectReason(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RejectReason()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_State(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().State()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Muted(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Muted()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RemoteId(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RemoteId()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NotifyCompletion(bool succeeded, int32_t seamlessCallUpgradeSupport) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyCompletion(succeeded, *reinterpret_cast(&seamlessCallUpgradeSupport)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_MuteRequested(void* muteChangeHandler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().MuteRequested(*reinterpret_cast const*>(&muteChangeHandler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_MuteRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().MuteRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_UnmuteRequested(void* muteChangeHandler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().UnmuteRequested(*reinterpret_cast const*>(&muteChangeHandler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_UnmuteRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().UnmuteRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall RequestNewIncomingCall(void* context, void* contactName, void* contactNumber, void* contactImage, void* serviceName, void* brandingImage, void* callDetails, void* ringtone, uint32_t media, int64_t ringTimeout, void** call) noexcept final try { clear_abi(call); typename D::abi_guard guard(this->shim()); this->shim().RequestNewIncomingCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&contactNumber), *reinterpret_cast(&contactImage), *reinterpret_cast(&serviceName), *reinterpret_cast(&brandingImage), *reinterpret_cast(&callDetails), *reinterpret_cast(&ringtone), *reinterpret_cast(&media), *reinterpret_cast(&ringTimeout), *reinterpret_cast(call)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RequestNewOutgoingCall(void* context, void* contactName, void* serviceName, uint32_t media, void* pAssociatedDeviceIds, void** call) noexcept final try { clear_abi(call); typename D::abi_guard guard(this->shim()); this->shim().RequestNewOutgoingCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&serviceName), *reinterpret_cast(&media), *reinterpret_cast const*>(&pAssociatedDeviceIds), *reinterpret_cast(call)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NotifyMuted() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyMuted(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NotifyUnmuted() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyUnmuted(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall SetupNewAcceptedCall(void* context, void* contactName, void* contactNumber, void* serviceName, uint32_t media, void* pAssociatedDeviceIds, void** call) noexcept final try { clear_abi(call); typename D::abi_guard guard(this->shim()); this->shim().SetupNewAcceptedCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&contactNumber), *reinterpret_cast(&serviceName), *reinterpret_cast(&media), *reinterpret_cast const*>(&pAssociatedDeviceIds), *reinterpret_cast(call)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall RequestNewIncomingCallWithContactRemoteId(void* context, void* contactName, void* contactNumber, void* contactImage, void* serviceName, void* brandingImage, void* callDetails, void* ringtone, uint32_t media, int64_t ringTimeout, void* contactRemoteId, void* pAssociatedDeviceIds, void** call) noexcept final try { clear_abi(call); typename D::abi_guard guard(this->shim()); *call = detach_from(this->shim().RequestNewIncomingCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&contactNumber), *reinterpret_cast(&contactImage), *reinterpret_cast(&serviceName), *reinterpret_cast(&brandingImage), *reinterpret_cast(&callDetails), *reinterpret_cast(&ringtone), *reinterpret_cast(&media), *reinterpret_cast(&ringTimeout), *reinterpret_cast(&contactRemoteId), *reinterpret_cast const*>(&pAssociatedDeviceIds))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RequestNewAppInitiatedCall(void* context, void* contactName, void* contactNumber, void* serviceName, uint32_t media, void* pAssociatedDeviceIds, void** call) noexcept final try { clear_abi(call); typename D::abi_guard guard(this->shim()); this->shim().RequestNewAppInitiatedCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&contactNumber), *reinterpret_cast(&serviceName), *reinterpret_cast(&media), *reinterpret_cast const*>(&pAssociatedDeviceIds), *reinterpret_cast(call)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetDefault(void** coordinator) noexcept final try { clear_abi(coordinator); typename D::abi_guard guard(this->shim()); *coordinator = detach_from(this->shim().GetDefault()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall ConfirmNonSeamlessUpgrade(winrt::guid callUpgradeGuid) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ConfirmNonSeamlessUpgrade(*reinterpret_cast(&callUpgradeGuid)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall CancelUpgrade(winrt::guid callUpgradeGuid) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CancelUpgrade(*reinterpret_cast(&callUpgradeGuid)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall RequestOutgoingUpgradeToVideoCall(winrt::guid callUpgradeGuid, void* context, void* contactName, void* serviceName, void** call) noexcept final try { clear_abi(call); typename D::abi_guard guard(this->shim()); this->shim().RequestOutgoingUpgradeToVideoCall(*reinterpret_cast(&callUpgradeGuid), *reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&serviceName), *reinterpret_cast(call)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RequestIncomingUpgradeToVideoCall(void* context, void* contactName, void* contactNumber, void* contactImage, void* serviceName, void* brandingImage, void* callDetails, void* ringtone, int64_t ringTimeout, void** call) noexcept final try { clear_abi(call); typename D::abi_guard guard(this->shim()); this->shim().RequestIncomingUpgradeToVideoCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&contactNumber), *reinterpret_cast(&contactImage), *reinterpret_cast(&serviceName), *reinterpret_cast(&brandingImage), *reinterpret_cast(&callDetails), *reinterpret_cast(&ringtone), *reinterpret_cast(&ringTimeout), *reinterpret_cast(call)); return 0; } catch (...) { return to_hresult(); } }; #endif template struct produce : produce_base { int32_t __stdcall get_Id(uint32_t* operationId) noexcept final try { typename D::abi_guard guard(this->shim()); *operationId = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Type(int32_t* operationType) noexcept final try { typename D::abi_guard guard(this->shim()); *operationType = detach_from(this->shim().Type()); return 0; } catch (...) { return to_hresult(); } }; #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetNextOperation(void** voipOperation) noexcept final try { clear_abi(voipOperation); typename D::abi_guard guard(this->shim()); *voipOperation = detach_from(this->shim().GetNextOperation()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_EndRequested(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().EndRequested(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_EndRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().EndRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_HoldRequested(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().HoldRequested(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_HoldRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().HoldRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_ResumeRequested(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().ResumeRequested(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_ResumeRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().ResumeRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_AnswerRequested(void* acceptHandler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().AnswerRequested(*reinterpret_cast const*>(&acceptHandler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_AnswerRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().AnswerRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_RejectRequested(void* rejectHandler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().RejectRequested(*reinterpret_cast const*>(&rejectHandler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_RejectRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().RejectRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall NotifyCallHeld() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyCallHeld(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NotifyCallActive() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyCallActive(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NotifyCallEnded() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyCallEnded(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ContactName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ContactName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_ContactName(void* value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ContactName(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StartTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StartTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_StartTime(int64_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartTime(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CallMedia(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CallMedia()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_CallMedia(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().CallMedia(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall TryShowAppUI() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().TryShowAppUI(); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall NotifyCallAccepted(uint32_t media) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyCallAccepted(*reinterpret_cast(&media)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsUsingAssociatedDevicesList(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsUsingAssociatedDevicesList()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall NotifyCallActiveOnDevices(void* associatedDeviceIds) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyCallActive(*reinterpret_cast const*>(&associatedDeviceIds)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall AddAssociatedCallControlDevice(void* deviceId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AddAssociatedCallControlDevice(*reinterpret_cast(&deviceId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RemoveAssociatedCallControlDevice(void* deviceId) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RemoveAssociatedCallControlDevice(*reinterpret_cast(&deviceId)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall SetAssociatedCallControlDevices(void* associatedDeviceIds) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetAssociatedCallControlDevices(*reinterpret_cast const*>(&associatedDeviceIds)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall GetAssociatedCallControlDevices(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from>(this->shim().GetAssociatedCallControlDevices()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall NotifyCallReady() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().NotifyCallReady(); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Phone::Networking::Voip { constexpr auto operator|(VoipCallMedia const left, VoipCallMedia const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(VoipCallMedia& left, VoipCallMedia const right) noexcept { left = left | right; return left; } constexpr auto operator&(VoipCallMedia const left, VoipCallMedia const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(VoipCallMedia& left, VoipCallMedia const right) noexcept { left = left & right; return left; } constexpr auto operator~(VoipCallMedia const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(VoipCallMedia const left, VoipCallMedia const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(VoipCallMedia& left, VoipCallMedia const right) noexcept { left = left ^ right; return left; } inline auto VoipCallCoordinator::GetDefault() { return impl::call_factory_cast([](IVoipCallCoordinatorStatics const& f) { return f.GetDefault(); }); } } namespace std { #ifndef WINRT_LEAN_AND_MEAN template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } #endif