// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Services_Maps_Guidance_H #define WINRT_Windows_Services_Maps_Guidance_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/Windows.Services.Maps.h" #include "winrt/impl/Windows.Devices.Geolocation.2.h" #include "winrt/impl/Windows.Foundation.2.h" #include "winrt/impl/Windows.Foundation.Collections.2.h" #include "winrt/impl/Windows.Services.Maps.2.h" #include "winrt/impl/Windows.UI.2.h" #include "winrt/impl/Windows.Services.Maps.Guidance.2.h" namespace winrt::impl { template auto consume_Windows_Services_Maps_Guidance_IGuidanceAudioNotificationRequestedEventArgs::AudioNotification() const { winrt::Windows::Services::Maps::Guidance::GuidanceAudioNotificationKind 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_AudioNotification(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AudioNotification(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceAudioNotificationRequestedEventArgs::AudioFilePaths() 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_AudioFilePaths(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AudioFilePaths(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceAudioNotificationRequestedEventArgs::AudioText() 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_AudioText(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AudioText(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceLaneInfo::LaneMarkers() const { winrt::Windows::Services::Maps::Guidance::GuidanceLaneMarkers 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_LaneMarkers(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LaneMarkers(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceLaneInfo::IsOnRoute() 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_IsOnRoute(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsOnRoute(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::StartLocation() 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_StartLocation(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_StartLocation(&value)); } return winrt::Windows::Devices::Geolocation::Geopoint{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::DistanceFromRouteStart() const { int32_t 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_DistanceFromRouteStart(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DistanceFromRouteStart(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::DistanceFromPreviousManeuver() const { int32_t 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_DistanceFromPreviousManeuver(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DistanceFromPreviousManeuver(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::DepartureRoadName() 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_DepartureRoadName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DepartureRoadName(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::NextRoadName() 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_NextRoadName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NextRoadName(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::DepartureShortRoadName() 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_DepartureShortRoadName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DepartureShortRoadName(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::NextShortRoadName() 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_NextShortRoadName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NextShortRoadName(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::Kind() const { winrt::Windows::Services::Maps::Guidance::GuidanceManeuverKind 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_Kind(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Kind(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::StartAngle() const { int32_t 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_StartAngle(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_StartAngle(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::EndAngle() const { int32_t 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_EndAngle(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_EndAngle(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::RoadSignpost() 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_RoadSignpost(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoadSignpost(&value)); } return winrt::Windows::Services::Maps::Guidance::GuidanceRoadSignpost{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceManeuver::InstructionText() 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_InstructionText(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_InstructionText(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceMapMatchedCoordinate::Location() 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_Location(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Location(&value)); } return winrt::Windows::Devices::Geolocation::Geopoint{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceMapMatchedCoordinate::CurrentHeading() const { double 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_CurrentHeading(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CurrentHeading(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceMapMatchedCoordinate::CurrentSpeed() const { double 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_CurrentSpeed(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CurrentSpeed(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceMapMatchedCoordinate::IsOnStreet() 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_IsOnStreet(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsOnStreet(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceMapMatchedCoordinate::Road() 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_Road(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Road(&value)); } return winrt::Windows::Services::Maps::Guidance::GuidanceRoadSegment{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::StartNavigating(winrt::Windows::Services::Maps::Guidance::GuidanceRoute const& route) 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->StartNavigating(*(void**)(&route))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->StartNavigating(*(void**)(&route))); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::StartSimulating(winrt::Windows::Services::Maps::Guidance::GuidanceRoute const& route, int32_t speedInMetersPerSecond) 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->StartSimulating(*(void**)(&route), speedInMetersPerSecond)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->StartSimulating(*(void**)(&route), speedInMetersPerSecond)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::StartTracking() 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->StartTracking()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->StartTracking()); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Pause() 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->Pause()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Pause()); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Resume() 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->Resume()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Resume()); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Stop() 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->Stop()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->Stop()); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::RepeatLastAudioNotification() 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->RepeatLastAudioNotification()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->RepeatLastAudioNotification()); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::AudioMeasurementSystem() const { winrt::Windows::Services::Maps::Guidance::GuidanceAudioMeasurementSystem 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_AudioMeasurementSystem(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AudioMeasurementSystem(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::AudioMeasurementSystem(winrt::Windows::Services::Maps::Guidance::GuidanceAudioMeasurementSystem 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_AudioMeasurementSystem(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_AudioMeasurementSystem(static_cast(value))); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::AudioNotifications() const { winrt::Windows::Services::Maps::Guidance::GuidanceAudioNotifications 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_AudioNotifications(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AudioNotifications(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::AudioNotifications(winrt::Windows::Services::Maps::Guidance::GuidanceAudioNotifications 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_AudioNotifications(static_cast(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_AudioNotifications(static_cast(value))); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::GuidanceUpdated(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_GuidanceUpdated(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_GuidanceUpdated(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::GuidanceUpdated(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, GuidanceUpdated(handler)); } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::GuidanceUpdated(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_GuidanceUpdated(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_GuidanceUpdated(impl::bind_in(token)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::DestinationReached(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_DestinationReached(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_DestinationReached(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::DestinationReached(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, DestinationReached(handler)); } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::DestinationReached(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_DestinationReached(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_DestinationReached(impl::bind_in(token)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Rerouting(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_Rerouting(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_Rerouting(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Rerouting(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, Rerouting(handler)); } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Rerouting(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_Rerouting(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_Rerouting(impl::bind_in(token)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Rerouted(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_Rerouted(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_Rerouted(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Rerouted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, Rerouted(handler)); } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::Rerouted(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_Rerouted(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_Rerouted(impl::bind_in(token)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::RerouteFailed(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_RerouteFailed(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_RerouteFailed(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::RerouteFailed(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, RerouteFailed(handler)); } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::RerouteFailed(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_RerouteFailed(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_RerouteFailed(impl::bind_in(token)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::UserLocationLost(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_UserLocationLost(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_UserLocationLost(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::UserLocationLost(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, UserLocationLost(handler)); } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::UserLocationLost(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_UserLocationLost(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_UserLocationLost(impl::bind_in(token)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::UserLocationRestored(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_UserLocationRestored(*(void**)(&handler), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_UserLocationRestored(*(void**)(&handler), put_abi(token))); } return token; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::UserLocationRestored(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const { return impl::make_event_revoker(this, UserLocationRestored(handler)); } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::UserLocationRestored(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_UserLocationRestored(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_UserLocationRestored(impl::bind_in(token)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::SetGuidanceVoice(int32_t voiceId, param::hstring const& voiceFolder) 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->SetGuidanceVoice(voiceId, *(void**)(&voiceFolder))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->SetGuidanceVoice(voiceId, *(void**)(&voiceFolder))); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::UpdateUserLocation(winrt::Windows::Devices::Geolocation::Geocoordinate const& userLocation) 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->UpdateUserLocation(*(void**)(&userLocation))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->UpdateUserLocation(*(void**)(&userLocation))); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator::UpdateUserLocation(winrt::Windows::Devices::Geolocation::Geocoordinate const& userLocation, winrt::Windows::Devices::Geolocation::BasicGeoposition const& positionOverride) 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->UpdateUserLocationWithPositionOverride(*(void**)(&userLocation), impl::bind_in(positionOverride))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->UpdateUserLocationWithPositionOverride(*(void**)(&userLocation), impl::bind_in(positionOverride))); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator2::AudioNotificationRequested(winrt::Windows::Foundation::TypedEventHandler const& value) 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_AudioNotificationRequested(*(void**)(&value), put_abi(token))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->add_AudioNotificationRequested(*(void**)(&value), put_abi(token))); } return token; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator2::AudioNotificationRequested(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& value) const { return impl::make_event_revoker(this, AudioNotificationRequested(value)); } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator2::AudioNotificationRequested(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_AudioNotificationRequested(impl::bind_in(token)); } else { auto const _winrt_abi_type = *(abi_t**)this; _winrt_abi_type->remove_AudioNotificationRequested(impl::bind_in(token)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator2::IsGuidanceAudioMuted() 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_IsGuidanceAudioMuted(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsGuidanceAudioMuted(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigator2::IsGuidanceAudioMuted(bool 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_IsGuidanceAudioMuted(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_IsGuidanceAudioMuted(value)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigatorStatics::GetCurrent() 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->GetCurrent(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetCurrent(&result)); } return winrt::Windows::Services::Maps::Guidance::GuidanceNavigator{ result, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceNavigatorStatics2::UseAppProvidedVoice() 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_UseAppProvidedVoice(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_UseAppProvidedVoice(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceReroutedEventArgs::Route() 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->get_Route(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Route(&result)); } return winrt::Windows::Services::Maps::Guidance::GuidanceRoute{ result, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::RoadName() 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_RoadName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoadName(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::ShortRoadName() 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_ShortRoadName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ShortRoadName(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::SpeedLimit() const { double 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_SpeedLimit(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SpeedLimit(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::TravelTime() const { winrt::Windows::Foundation::TimeSpan 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_TravelTime(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_TravelTime(put_abi(value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::Path() 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_Path(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Path(&value)); } return winrt::Windows::Devices::Geolocation::Geopath{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::Id() 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_Id(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Id(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::IsHighway() 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_IsHighway(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsHighway(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::IsTunnel() 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_IsTunnel(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsTunnel(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment::IsTollRoad() 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_IsTollRoad(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsTollRoad(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSegment2::IsScenic() 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_IsScenic(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsScenic(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSignpost::ExitNumber() 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_ExitNumber(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExitNumber(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSignpost::Exit() 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_Exit(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Exit(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSignpost::BackgroundColor() const { winrt::Windows::UI::Color 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_BackgroundColor(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_BackgroundColor(put_abi(value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSignpost::ForegroundColor() const { winrt::Windows::UI::Color 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_ForegroundColor(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ForegroundColor(put_abi(value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoadSignpost::ExitDirections() 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_ExitDirections(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ExitDirections(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoute::Duration() const { winrt::Windows::Foundation::TimeSpan 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_Duration(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Duration(put_abi(value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoute::Distance() const { int32_t 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_Distance(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Distance(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoute::Maneuvers() 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_Maneuvers(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Maneuvers(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoute::BoundingBox() 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_BoundingBox(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_BoundingBox(&value)); } return winrt::Windows::Devices::Geolocation::GeoboundingBox{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoute::Path() 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_Path(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Path(&value)); } return winrt::Windows::Devices::Geolocation::Geopath{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoute::RoadSegments() 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_RoadSegments(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoadSegments(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRoute::ConvertToMapRoute() 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->ConvertToMapRoute(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ConvertToMapRoute(&result)); } return winrt::Windows::Services::Maps::MapRoute{ result, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRouteStatics::CanCreateFromMapRoute(winrt::Windows::Services::Maps::MapRoute const& mapRoute) const { bool 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->CanCreateFromMapRoute(*(void**)(&mapRoute), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->CanCreateFromMapRoute(*(void**)(&mapRoute), &result)); } return result; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceRouteStatics::TryCreateFromMapRoute(winrt::Windows::Services::Maps::MapRoute const& mapRoute) 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->TryCreateFromMapRoute(*(void**)(&mapRoute), &result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->TryCreateFromMapRoute(*(void**)(&mapRoute), &result)); } return winrt::Windows::Services::Maps::Guidance::GuidanceRoute{ result, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceTelemetryCollector::Enabled() 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_Enabled(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Enabled(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceTelemetryCollector::Enabled(bool 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_Enabled(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_Enabled(value)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceTelemetryCollector::ClearLocalData() 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->ClearLocalData()); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->ClearLocalData()); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceTelemetryCollector::SpeedTrigger() const { double 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_SpeedTrigger(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_SpeedTrigger(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceTelemetryCollector::SpeedTrigger(double 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_SpeedTrigger(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_SpeedTrigger(value)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceTelemetryCollector::UploadFrequency() const { int32_t 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_UploadFrequency(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_UploadFrequency(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceTelemetryCollector::UploadFrequency(int32_t 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_UploadFrequency(value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->put_UploadFrequency(value)); } } template auto consume_Windows_Services_Maps_Guidance_IGuidanceTelemetryCollectorStatics::GetCurrent() 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->GetCurrent(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->GetCurrent(&result)); } return winrt::Windows::Services::Maps::Guidance::GuidanceTelemetryCollector{ result, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::Mode() const { winrt::Windows::Services::Maps::Guidance::GuidanceMode 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_Mode(reinterpret_cast(&value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Mode(reinterpret_cast(&value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::NextManeuver() 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_NextManeuver(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NextManeuver(&value)); } return winrt::Windows::Services::Maps::Guidance::GuidanceManeuver{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::NextManeuverDistance() const { int32_t 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_NextManeuverDistance(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_NextManeuverDistance(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::AfterNextManeuver() 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_AfterNextManeuver(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AfterNextManeuver(&value)); } return winrt::Windows::Services::Maps::Guidance::GuidanceManeuver{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::AfterNextManeuverDistance() const { int32_t 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_AfterNextManeuverDistance(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_AfterNextManeuverDistance(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::DistanceToDestination() const { int32_t 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_DistanceToDestination(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_DistanceToDestination(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::ElapsedDistance() const { int32_t 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_ElapsedDistance(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ElapsedDistance(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::ElapsedTime() const { winrt::Windows::Foundation::TimeSpan 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_ElapsedTime(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_ElapsedTime(put_abi(value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::TimeToDestination() const { winrt::Windows::Foundation::TimeSpan 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_TimeToDestination(put_abi(value))); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_TimeToDestination(put_abi(value))); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::RoadName() 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_RoadName(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_RoadName(&value)); } return hstring{ value, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::Route() 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->get_Route(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_Route(&result)); } return winrt::Windows::Services::Maps::Guidance::GuidanceRoute{ result, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::CurrentLocation() 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->get_CurrentLocation(&result)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_CurrentLocation(&result)); } return winrt::Windows::Services::Maps::Guidance::GuidanceMapMatchedCoordinate{ result, take_ownership_from_abi }; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::IsNewManeuver() 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_IsNewManeuver(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_IsNewManeuver(&value)); } return value; } template auto consume_Windows_Services_Maps_Guidance_IGuidanceUpdatedEventArgs::LaneInfo() 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_LaneInfo(&value)); } else { auto const _winrt_abi_type = *(abi_t**)this; check_hresult(_winrt_abi_type->get_LaneInfo(&value)); } return winrt::Windows::Foundation::Collections::IVectorView{ value, take_ownership_from_abi }; } #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_AudioNotification(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AudioNotification()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AudioFilePaths(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().AudioFilePaths()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AudioText(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AudioText()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_LaneMarkers(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().LaneMarkers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsOnRoute(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsOnRoute()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_StartLocation(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StartLocation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DistanceFromRouteStart(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DistanceFromRouteStart()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DistanceFromPreviousManeuver(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DistanceFromPreviousManeuver()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DepartureRoadName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DepartureRoadName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NextRoadName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NextRoadName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DepartureShortRoadName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DepartureShortRoadName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NextShortRoadName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NextShortRoadName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Kind(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Kind()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_StartAngle(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().StartAngle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_EndAngle(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().EndAngle()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoadSignpost(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoadSignpost()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_InstructionText(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().InstructionText()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Location(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Location()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CurrentHeading(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CurrentHeading()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CurrentSpeed(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().CurrentSpeed()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsOnStreet(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsOnStreet()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Road(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Road()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall StartNavigating(void* route) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartNavigating(*reinterpret_cast(&route)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall StartSimulating(void* route, int32_t speedInMetersPerSecond) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartSimulating(*reinterpret_cast(&route), speedInMetersPerSecond); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall StartTracking() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().StartTracking(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Pause() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Pause(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Resume() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Resume(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall Stop() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Stop(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall RepeatLastAudioNotification() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().RepeatLastAudioNotification(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AudioMeasurementSystem(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AudioMeasurementSystem()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AudioMeasurementSystem(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AudioMeasurementSystem(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AudioNotifications(uint32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AudioNotifications()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_AudioNotifications(uint32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().AudioNotifications(*reinterpret_cast(&value)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall add_GuidanceUpdated(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().GuidanceUpdated(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_GuidanceUpdated(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().GuidanceUpdated(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_DestinationReached(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().DestinationReached(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_DestinationReached(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().DestinationReached(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_Rerouting(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().Rerouting(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_Rerouting(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().Rerouting(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_Rerouted(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().Rerouted(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_Rerouted(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().Rerouted(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_RerouteFailed(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().RerouteFailed(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_RerouteFailed(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().RerouteFailed(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_UserLocationLost(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().UserLocationLost(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_UserLocationLost(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().UserLocationLost(*reinterpret_cast(&token)); return 0; } int32_t __stdcall add_UserLocationRestored(void* handler, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().UserLocationRestored(*reinterpret_cast const*>(&handler))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_UserLocationRestored(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().UserLocationRestored(*reinterpret_cast(&token)); return 0; } int32_t __stdcall SetGuidanceVoice(int32_t voiceId, void* voiceFolder) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SetGuidanceVoice(voiceId, *reinterpret_cast(&voiceFolder)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall UpdateUserLocation(void* userLocation) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().UpdateUserLocation(*reinterpret_cast(&userLocation)); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall UpdateUserLocationWithPositionOverride(void* userLocation, struct struct_Windows_Devices_Geolocation_BasicGeoposition positionOverride) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().UpdateUserLocation(*reinterpret_cast(&userLocation), *reinterpret_cast(&positionOverride)); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall add_AudioNotificationRequested(void* value, winrt::event_token* token) noexcept final try { zero_abi(token); typename D::abi_guard guard(this->shim()); *token = detach_from(this->shim().AudioNotificationRequested(*reinterpret_cast const*>(&value))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall remove_AudioNotificationRequested(winrt::event_token token) noexcept final { typename D::abi_guard guard(this->shim()); this->shim().AudioNotificationRequested(*reinterpret_cast(&token)); return 0; } int32_t __stdcall get_IsGuidanceAudioMuted(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsGuidanceAudioMuted()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_IsGuidanceAudioMuted(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().IsGuidanceAudioMuted(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetCurrent(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetCurrent()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_UseAppProvidedVoice(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UseAppProvidedVoice()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Route(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Route()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_RoadName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoadName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ShortRoadName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ShortRoadName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SpeedLimit(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SpeedLimit()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TravelTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TravelTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Path(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Path()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Id(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Id()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsHighway(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsHighway()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsTunnel(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsTunnel()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsTollRoad(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsTollRoad()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_IsScenic(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsScenic()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_ExitNumber(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ExitNumber()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Exit(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Exit()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BackgroundColor(struct struct_Windows_UI_Color* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BackgroundColor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ForegroundColor(struct struct_Windows_UI_Color* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ForegroundColor()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ExitDirections(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().ExitDirections()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Duration(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Duration()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Distance(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Distance()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Maneuvers(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().Maneuvers()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_BoundingBox(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().BoundingBox()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Path(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Path()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoadSegments(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().RoadSegments()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ConvertToMapRoute(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().ConvertToMapRoute()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall CanCreateFromMapRoute(void* mapRoute, bool* result) noexcept final try { typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CanCreateFromMapRoute(*reinterpret_cast(&mapRoute))); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall TryCreateFromMapRoute(void* mapRoute, void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().TryCreateFromMapRoute(*reinterpret_cast(&mapRoute))); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Enabled(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Enabled()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_Enabled(bool value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().Enabled(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall ClearLocalData() noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().ClearLocalData(); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_SpeedTrigger(double* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().SpeedTrigger()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_SpeedTrigger(double value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().SpeedTrigger(value); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_UploadFrequency(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().UploadFrequency()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall put_UploadFrequency(int32_t value) noexcept final try { typename D::abi_guard guard(this->shim()); this->shim().UploadFrequency(value); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall GetCurrent(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().GetCurrent()); return 0; } catch (...) { return to_hresult(); } }; #endif #ifndef WINRT_LEAN_AND_MEAN template struct produce : produce_base { int32_t __stdcall get_Mode(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().Mode()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NextManeuver(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NextManeuver()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_NextManeuverDistance(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().NextManeuverDistance()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AfterNextManeuver(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AfterNextManeuver()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_AfterNextManeuverDistance(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().AfterNextManeuverDistance()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_DistanceToDestination(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().DistanceToDestination()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ElapsedDistance(int32_t* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ElapsedDistance()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_ElapsedTime(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().ElapsedTime()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_TimeToDestination(int64_t* value) noexcept final try { zero_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().TimeToDestination()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_RoadName(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().RoadName()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_Route(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().Route()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_CurrentLocation(void** result) noexcept final try { clear_abi(result); typename D::abi_guard guard(this->shim()); *result = detach_from(this->shim().CurrentLocation()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_IsNewManeuver(bool* value) noexcept final try { typename D::abi_guard guard(this->shim()); *value = detach_from(this->shim().IsNewManeuver()); return 0; } catch (...) { return to_hresult(); } int32_t __stdcall get_LaneInfo(void** value) noexcept final try { clear_abi(value); typename D::abi_guard guard(this->shim()); *value = detach_from>(this->shim().LaneInfo()); return 0; } catch (...) { return to_hresult(); } }; #endif } WINRT_EXPORT namespace winrt::Windows::Services::Maps::Guidance { constexpr auto operator|(GuidanceAudioNotifications const left, GuidanceAudioNotifications const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(GuidanceAudioNotifications& left, GuidanceAudioNotifications const right) noexcept { left = left | right; return left; } constexpr auto operator&(GuidanceAudioNotifications const left, GuidanceAudioNotifications const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(GuidanceAudioNotifications& left, GuidanceAudioNotifications const right) noexcept { left = left & right; return left; } constexpr auto operator~(GuidanceAudioNotifications const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(GuidanceAudioNotifications const left, GuidanceAudioNotifications const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(GuidanceAudioNotifications& left, GuidanceAudioNotifications const right) noexcept { left = left ^ right; return left; } constexpr auto operator|(GuidanceLaneMarkers const left, GuidanceLaneMarkers const right) noexcept { return static_cast(impl::to_underlying_type(left) | impl::to_underlying_type(right)); } constexpr auto operator|=(GuidanceLaneMarkers& left, GuidanceLaneMarkers const right) noexcept { left = left | right; return left; } constexpr auto operator&(GuidanceLaneMarkers const left, GuidanceLaneMarkers const right) noexcept { return static_cast(impl::to_underlying_type(left) & impl::to_underlying_type(right)); } constexpr auto operator&=(GuidanceLaneMarkers& left, GuidanceLaneMarkers const right) noexcept { left = left & right; return left; } constexpr auto operator~(GuidanceLaneMarkers const value) noexcept { return static_cast(~impl::to_underlying_type(value)); } constexpr auto operator^(GuidanceLaneMarkers const left, GuidanceLaneMarkers const right) noexcept { return static_cast(impl::to_underlying_type(left) ^ impl::to_underlying_type(right)); } constexpr auto operator^=(GuidanceLaneMarkers& left, GuidanceLaneMarkers const right) noexcept { left = left ^ right; return left; } inline auto GuidanceNavigator::GetCurrent() { return impl::call_factory_cast([](IGuidanceNavigatorStatics const& f) { return f.GetCurrent(); }); } inline auto GuidanceNavigator::UseAppProvidedVoice() { return impl::call_factory_cast([](IGuidanceNavigatorStatics2 const& f) { return f.UseAppProvidedVoice(); }); } inline auto GuidanceRoute::CanCreateFromMapRoute(winrt::Windows::Services::Maps::MapRoute const& mapRoute) { return impl::call_factory([&](IGuidanceRouteStatics const& f) { return f.CanCreateFromMapRoute(mapRoute); }); } inline auto GuidanceRoute::TryCreateFromMapRoute(winrt::Windows::Services::Maps::MapRoute const& mapRoute) { return impl::call_factory([&](IGuidanceRouteStatics const& f) { return f.TryCreateFromMapRoute(mapRoute); }); } inline auto GuidanceTelemetryCollector::GetCurrent() { return impl::call_factory_cast([](IGuidanceTelemetryCollectorStatics const& f) { return f.GetCurrent(); }); } } 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 {}; template<> struct hash : winrt::impl::hash_base {}; template<> struct hash : winrt::impl::hash_base {}; #endif #ifdef __cpp_lib_format #endif } #endif