// C++/WinRT v2.0.220110.5 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Media_AppBroadcasting_0_H #define WINRT_Windows_Media_AppBroadcasting_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; template struct __declspec(empty_bases) TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::System { struct User; } WINRT_EXPORT namespace winrt::Windows::Media::AppBroadcasting { struct IAppBroadcastingMonitor; struct IAppBroadcastingStatus; struct IAppBroadcastingStatusDetails; struct IAppBroadcastingUI; struct IAppBroadcastingUIStatics; struct AppBroadcastingMonitor; struct AppBroadcastingStatus; struct AppBroadcastingStatusDetails; struct AppBroadcastingUI; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.AppBroadcastingMonitor"; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.AppBroadcastingStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.AppBroadcastingStatusDetails"; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.AppBroadcastingUI"; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.IAppBroadcastingMonitor"; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.IAppBroadcastingStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.IAppBroadcastingStatusDetails"; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.IAppBroadcastingUI"; template <> inline constexpr auto& name_v = L"Windows.Media.AppBroadcasting.IAppBroadcastingUIStatics"; template <> inline constexpr guid guid_v{ 0x00F95A68,0x8907,0x48A0,{ 0xB8,0xEF,0x24,0xD2,0x08,0x13,0x75,0x42 } }; // 00F95A68-8907-48A0-B8EF-24D208137542 template <> inline constexpr guid guid_v{ 0x1225E4DF,0x03A1,0x42F8,{ 0x8B,0x80,0xC9,0x22,0x8C,0xD9,0xCF,0x2E } }; // 1225E4DF-03A1-42F8-8B80-C9228CD9CF2E template <> inline constexpr guid guid_v{ 0x069DADA4,0xB573,0x4E3C,{ 0x8E,0x19,0x1B,0xAF,0xAC,0xD0,0x97,0x13 } }; // 069DADA4-B573-4E3C-8E19-1BAFACD09713 template <> inline constexpr guid guid_v{ 0xE56F9F8F,0xEE99,0x4DCA,{ 0xA3,0xC3,0x70,0xAF,0x3D,0xB4,0x4F,0x5F } }; // E56F9F8F-EE99-4DCA-A3C3-70AF3DB44F5F template <> inline constexpr guid guid_v{ 0x55A8A79D,0x23CB,0x4579,{ 0x9C,0x34,0x88,0x6F,0xE0,0x2C,0x04,0x5A } }; // 55A8A79D-23CB-4579-9C34-886FE02C045A template <> struct default_interface{ using type = winrt::Windows::Media::AppBroadcasting::IAppBroadcastingMonitor; }; template <> struct default_interface{ using type = winrt::Windows::Media::AppBroadcasting::IAppBroadcastingStatus; }; template <> struct default_interface{ using type = winrt::Windows::Media::AppBroadcasting::IAppBroadcastingStatusDetails; }; template <> struct default_interface{ using type = winrt::Windows::Media::AppBroadcasting::IAppBroadcastingUI; }; template <> struct abi { struct __declspec(novtable) type : inspectable_abi { virtual int32_t __stdcall get_IsCurrentAppBroadcasting(bool*) noexcept = 0; virtual int32_t __stdcall add_IsCurrentAppBroadcastingChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_IsCurrentAppBroadcastingChanged(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct __declspec(novtable) type : inspectable_abi { virtual int32_t __stdcall get_CanStartBroadcast(bool*) noexcept = 0; virtual int32_t __stdcall get_Details(void**) noexcept = 0; }; }; template <> struct abi { struct __declspec(novtable) type : inspectable_abi { virtual int32_t __stdcall get_IsAnyAppBroadcasting(bool*) noexcept = 0; virtual int32_t __stdcall get_IsCaptureResourceUnavailable(bool*) noexcept = 0; virtual int32_t __stdcall get_IsGameStreamInProgress(bool*) noexcept = 0; virtual int32_t __stdcall get_IsGpuConstrained(bool*) noexcept = 0; virtual int32_t __stdcall get_IsAppInactive(bool*) noexcept = 0; virtual int32_t __stdcall get_IsBlockedForApp(bool*) noexcept = 0; virtual int32_t __stdcall get_IsDisabledByUser(bool*) noexcept = 0; virtual int32_t __stdcall get_IsDisabledBySystem(bool*) noexcept = 0; }; }; template <> struct abi { struct __declspec(novtable) type : inspectable_abi { virtual int32_t __stdcall GetStatus(void**) noexcept = 0; virtual int32_t __stdcall ShowBroadcastUI() noexcept = 0; }; }; template <> struct abi { struct __declspec(novtable) type : inspectable_abi { virtual int32_t __stdcall GetDefault(void**) noexcept = 0; virtual int32_t __stdcall GetForUser(void*, void**) noexcept = 0; }; }; template struct consume_Windows_Media_AppBroadcasting_IAppBroadcastingMonitor { [[nodiscard]] WINRT_IMPL_AUTO(bool) IsCurrentAppBroadcasting() const; WINRT_IMPL_AUTO(winrt::event_token) IsCurrentAppBroadcastingChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using IsCurrentAppBroadcastingChanged_revoker = impl::event_revoker::remove_IsCurrentAppBroadcastingChanged>; [[nodiscard]] IsCurrentAppBroadcastingChanged_revoker IsCurrentAppBroadcastingChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; WINRT_IMPL_AUTO(void) IsCurrentAppBroadcastingChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_Media_AppBroadcasting_IAppBroadcastingMonitor; }; template struct consume_Windows_Media_AppBroadcasting_IAppBroadcastingStatus { [[nodiscard]] WINRT_IMPL_AUTO(bool) CanStartBroadcast() const; [[nodiscard]] WINRT_IMPL_AUTO(winrt::Windows::Media::AppBroadcasting::AppBroadcastingStatusDetails) Details() const; }; template <> struct consume { template using type = consume_Windows_Media_AppBroadcasting_IAppBroadcastingStatus; }; template struct consume_Windows_Media_AppBroadcasting_IAppBroadcastingStatusDetails { [[nodiscard]] WINRT_IMPL_AUTO(bool) IsAnyAppBroadcasting() const; [[nodiscard]] WINRT_IMPL_AUTO(bool) IsCaptureResourceUnavailable() const; [[nodiscard]] WINRT_IMPL_AUTO(bool) IsGameStreamInProgress() const; [[nodiscard]] WINRT_IMPL_AUTO(bool) IsGpuConstrained() const; [[nodiscard]] WINRT_IMPL_AUTO(bool) IsAppInactive() const; [[nodiscard]] WINRT_IMPL_AUTO(bool) IsBlockedForApp() const; [[nodiscard]] WINRT_IMPL_AUTO(bool) IsDisabledByUser() const; [[nodiscard]] WINRT_IMPL_AUTO(bool) IsDisabledBySystem() const; }; template <> struct consume { template using type = consume_Windows_Media_AppBroadcasting_IAppBroadcastingStatusDetails; }; template struct consume_Windows_Media_AppBroadcasting_IAppBroadcastingUI { WINRT_IMPL_AUTO(winrt::Windows::Media::AppBroadcasting::AppBroadcastingStatus) GetStatus() const; WINRT_IMPL_AUTO(void) ShowBroadcastUI() const; }; template <> struct consume { template using type = consume_Windows_Media_AppBroadcasting_IAppBroadcastingUI; }; template struct consume_Windows_Media_AppBroadcasting_IAppBroadcastingUIStatics { WINRT_IMPL_AUTO(winrt::Windows::Media::AppBroadcasting::AppBroadcastingUI) GetDefault() const; WINRT_IMPL_AUTO(winrt::Windows::Media::AppBroadcasting::AppBroadcastingUI) GetForUser(winrt::Windows::System::User const& user) const; }; template <> struct consume { template using type = consume_Windows_Media_AppBroadcasting_IAppBroadcastingUIStatics; }; } #endif