// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_System_Threading_Core_2_H #define WINRT_Windows_System_Threading_Core_2_H #include "winrt/impl/Windows.Foundation.1.h" #include "winrt/impl/Windows.System.Threading.1.h" #include "winrt/impl/Windows.System.Threading.Core.1.h" WINRT_EXPORT namespace winrt::Windows::System::Threading::Core { struct SignalHandler : winrt::Windows::Foundation::IUnknown { SignalHandler(std::nullptr_t = nullptr) noexcept {} SignalHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {} template SignalHandler(L lambda); template SignalHandler(F* function); template SignalHandler(O* object, M method); template SignalHandler(com_ptr&& object, M method); template SignalHandler(weak_ref&& object, LM&& lambda_or_method); template SignalHandler(std::shared_ptr&& object, M method); template SignalHandler(std::weak_ptr&& object, LM&& lambda_or_method); auto operator()(winrt::Windows::System::Threading::Core::SignalNotifier const& signalNotifier, bool timedOut) const; }; struct WINRT_IMPL_EMPTY_BASES PreallocatedWorkItem : winrt::Windows::System::Threading::Core::IPreallocatedWorkItem { PreallocatedWorkItem(std::nullptr_t) noexcept {} PreallocatedWorkItem(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::System::Threading::Core::IPreallocatedWorkItem(ptr, take_ownership_from_abi) {} explicit PreallocatedWorkItem(winrt::Windows::System::Threading::WorkItemHandler const& handler); PreallocatedWorkItem(winrt::Windows::System::Threading::WorkItemHandler const& handler, winrt::Windows::System::Threading::WorkItemPriority const& priority); PreallocatedWorkItem(winrt::Windows::System::Threading::WorkItemHandler const& handler, winrt::Windows::System::Threading::WorkItemPriority const& priority, winrt::Windows::System::Threading::WorkItemOptions const& options); }; struct WINRT_IMPL_EMPTY_BASES SignalNotifier : winrt::Windows::System::Threading::Core::ISignalNotifier { SignalNotifier(std::nullptr_t) noexcept {} SignalNotifier(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::System::Threading::Core::ISignalNotifier(ptr, take_ownership_from_abi) {} static auto AttachToEvent(param::hstring const& name, winrt::Windows::System::Threading::Core::SignalHandler const& handler); static auto AttachToEvent(param::hstring const& name, winrt::Windows::System::Threading::Core::SignalHandler const& handler, winrt::Windows::Foundation::TimeSpan const& timeout); static auto AttachToSemaphore(param::hstring const& name, winrt::Windows::System::Threading::Core::SignalHandler const& handler); static auto AttachToSemaphore(param::hstring const& name, winrt::Windows::System::Threading::Core::SignalHandler const& handler, winrt::Windows::Foundation::TimeSpan const& timeout); }; } #endif