// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Microsoft_UI_Dispatching_0_H #define WINRT_Microsoft_UI_Dispatching_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct Deferral; struct EventRegistrationToken; struct IAsyncAction; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Microsoft::UI::Dispatching { enum class DispatcherQueuePriority : int32_t { Low = -10, Normal = 0, High = 10, }; enum class DispatcherRunOptions : uint32_t { None = 0, ContinueOnQuit = 0x1, QuitOnlyLocalLoop = 0x2, }; struct IDispatcherExitDeferral; struct IDispatcherQueue; struct IDispatcherQueue2; struct IDispatcherQueue3; struct IDispatcherQueueController; struct IDispatcherQueueController2; struct IDispatcherQueueControllerStatics; struct IDispatcherQueueShutdownStartingEventArgs; struct IDispatcherQueueStatics; struct IDispatcherQueueTimer; struct DispatcherExitDeferral; struct DispatcherQueue; struct DispatcherQueueController; struct DispatcherQueueShutdownStartingEventArgs; struct DispatcherQueueTimer; struct DispatcherQueueHandler; } 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 = 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 <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = delegate_category; }; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.DispatcherExitDeferral"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.DispatcherQueue"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.DispatcherQueueController"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.DispatcherQueueShutdownStartingEventArgs"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.DispatcherQueueTimer"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.DispatcherQueuePriority"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.DispatcherRunOptions"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherExitDeferral"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueue"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueue2"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueue3"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueueController"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueueController2"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueueControllerStatics"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueueShutdownStartingEventArgs"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueueStatics"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.IDispatcherQueueTimer"; template <> inline constexpr auto& name_v = L"Microsoft.UI.Dispatching.DispatcherQueueHandler"; template <> inline constexpr guid guid_v{ 0x910B5AAC,0x3310,0x563E,{ 0x84,0x18,0xF3,0x00,0x55,0x79,0x72,0x9E } }; // 910B5AAC-3310-563E-8418-F3005579729E template <> inline constexpr guid guid_v{ 0xF6EBF8FA,0xBE1C,0x5BF6,{ 0xA4,0x67,0x73,0xDA,0x28,0x73,0x8A,0xE8 } }; // F6EBF8FA-BE1C-5BF6-A467-73DA28738AE8 template <> inline constexpr guid guid_v{ 0x0CF48751,0xF1AC,0x59B8,{ 0xBA,0x52,0x6C,0xE7,0xA1,0x44,0x4D,0x6F } }; // 0CF48751-F1AC-59B8-BA52-6CE7A1444D6F template <> inline constexpr guid guid_v{ 0x14A7A175,0x5C27,0x5A35,{ 0xB0,0x79,0x21,0x96,0x0C,0xF7,0x64,0xA8 } }; // 14A7A175-5C27-5A35-B079-21960CF764A8 template <> inline constexpr guid guid_v{ 0xBCE8178D,0x2183,0x584C,{ 0x9E,0x5B,0xF9,0x36,0x6F,0x6A,0xE4,0x84 } }; // BCE8178D-2183-584C-9E5B-F9366F6AE484 template <> inline constexpr guid guid_v{ 0x4C68EE2A,0x1CB1,0x5591,{ 0xA3,0xA2,0x9B,0x59,0x0B,0x8F,0x8B,0x9A } }; // 4C68EE2A-1CB1-5591-A3A2-9B590B8F8B9A template <> inline constexpr guid guid_v{ 0xF18D6145,0x722B,0x593D,{ 0xBC,0xF2,0xA6,0x1E,0x71,0x3F,0x00,0x37 } }; // F18D6145-722B-593D-BCF2-A61E713F0037 template <> inline constexpr guid guid_v{ 0x32519BE5,0x072B,0x5660,{ 0xA7,0x0E,0x88,0x35,0xC9,0xB8,0x15,0x7D } }; // 32519BE5-072B-5660-A70E-8835C9B8157D template <> inline constexpr guid guid_v{ 0xCD3382EA,0xA455,0x5124,{ 0xB6,0x3A,0xCA,0x40,0xD3,0x4C,0xA2,0x3C } }; // CD3382EA-A455-5124-B63A-CA40D34CA23C template <> inline constexpr guid guid_v{ 0xAD4D63FD,0x88FE,0x541F,{ 0xAC,0x11,0xBF,0x2D,0xC1,0xED,0x2C,0xE5 } }; // AD4D63FD-88FE-541F-AC11-BF2DC1ED2CE5 template <> inline constexpr guid guid_v{ 0x2E0872A9,0x4E29,0x5F14,{ 0xB6,0x88,0xFB,0x96,0xD5,0xF9,0xD5,0xF8 } }; // 2E0872A9-4E29-5F14-B688-FB96D5F9D5F8 template <> struct default_interface{ using type = winrt::Microsoft::UI::Dispatching::IDispatcherExitDeferral; }; template <> struct default_interface{ using type = winrt::Microsoft::UI::Dispatching::IDispatcherQueue; }; template <> struct default_interface{ using type = winrt::Microsoft::UI::Dispatching::IDispatcherQueueController; }; template <> struct default_interface{ using type = winrt::Microsoft::UI::Dispatching::IDispatcherQueueShutdownStartingEventArgs; }; template <> struct default_interface{ using type = winrt::Microsoft::UI::Dispatching::IDispatcherQueueTimer; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Complete() noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateTimer(void**) noexcept = 0; virtual int32_t __stdcall TryEnqueue(void*, bool*) noexcept = 0; virtual int32_t __stdcall TryEnqueueWithPriority(int32_t, void*, bool*) noexcept = 0; virtual int32_t __stdcall add_ShutdownStarting(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ShutdownStarting(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_ShutdownCompleted(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ShutdownCompleted(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_HasThreadAccess(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall EnqueueEventLoopExit() noexcept = 0; virtual int32_t __stdcall EnsureSystemDispatcherQueue() noexcept = 0; virtual int32_t __stdcall RunEventLoop() noexcept = 0; virtual int32_t __stdcall RunEventLoopWithOptions(uint32_t, void*) noexcept = 0; virtual int32_t __stdcall add_FrameworkShutdownStarting(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_FrameworkShutdownStarting(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_FrameworkShutdownCompleted(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_FrameworkShutdownCompleted(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DispatcherQueue(void**) noexcept = 0; virtual int32_t __stdcall ShutdownQueueAsync(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ShutdownQueue() noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateOnDedicatedThread(void**) noexcept = 0; virtual int32_t __stdcall CreateOnCurrentThread(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetDeferral(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetForCurrentThread(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Interval(int64_t*) noexcept = 0; virtual int32_t __stdcall put_Interval(int64_t) noexcept = 0; virtual int32_t __stdcall get_IsRunning(bool*) noexcept = 0; virtual int32_t __stdcall get_IsRepeating(bool*) noexcept = 0; virtual int32_t __stdcall put_IsRepeating(bool) noexcept = 0; virtual int32_t __stdcall Start() noexcept = 0; virtual int32_t __stdcall Stop() noexcept = 0; virtual int32_t __stdcall add_Tick(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_Tick(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : unknown_abi { virtual int32_t __stdcall Invoke() noexcept = 0; }; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherExitDeferral { auto Complete() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherExitDeferral; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueue { auto CreateTimer() const; auto TryEnqueue(winrt::Microsoft::UI::Dispatching::DispatcherQueueHandler const& callback) const; auto TryEnqueue(winrt::Microsoft::UI::Dispatching::DispatcherQueuePriority const& priority, winrt::Microsoft::UI::Dispatching::DispatcherQueueHandler const& callback) const; auto ShutdownStarting(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using ShutdownStarting_revoker = impl::event_revoker::remove_ShutdownStarting>; [[nodiscard]] auto ShutdownStarting(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto ShutdownStarting(winrt::event_token const& token) const noexcept; auto ShutdownCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using ShutdownCompleted_revoker = impl::event_revoker::remove_ShutdownCompleted>; [[nodiscard]] auto ShutdownCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto ShutdownCompleted(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueue; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueue2 { [[nodiscard]] auto HasThreadAccess() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueue2; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueue3 { auto EnqueueEventLoopExit() const; auto EnsureSystemDispatcherQueue() const; auto RunEventLoop() const; auto RunEventLoop(winrt::Microsoft::UI::Dispatching::DispatcherRunOptions const& options, winrt::Microsoft::UI::Dispatching::DispatcherExitDeferral const& deferral) const; auto FrameworkShutdownStarting(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using FrameworkShutdownStarting_revoker = impl::event_revoker::remove_FrameworkShutdownStarting>; [[nodiscard]] auto FrameworkShutdownStarting(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto FrameworkShutdownStarting(winrt::event_token const& token) const noexcept; auto FrameworkShutdownCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using FrameworkShutdownCompleted_revoker = impl::event_revoker::remove_FrameworkShutdownCompleted>; [[nodiscard]] auto FrameworkShutdownCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto FrameworkShutdownCompleted(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueue3; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueueController { [[nodiscard]] auto DispatcherQueue() const; auto ShutdownQueueAsync() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueueController; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueueController2 { auto ShutdownQueue() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueueController2; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueueControllerStatics { auto CreateOnDedicatedThread() const; auto CreateOnCurrentThread() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueueControllerStatics; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueueShutdownStartingEventArgs { auto GetDeferral() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueueShutdownStartingEventArgs; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueueStatics { auto GetForCurrentThread() const; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueueStatics; }; template struct consume_Microsoft_UI_Dispatching_IDispatcherQueueTimer { [[nodiscard]] auto Interval() const; auto Interval(winrt::Windows::Foundation::TimeSpan const& value) const; [[nodiscard]] auto IsRunning() const; [[nodiscard]] auto IsRepeating() const; auto IsRepeating(bool value) const; auto Start() const; auto Stop() const; auto Tick(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using Tick_revoker = impl::event_revoker::remove_Tick>; [[nodiscard]] auto Tick(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto Tick(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Microsoft_UI_Dispatching_IDispatcherQueueTimer; }; } #endif