// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_UI_Popups_2_H #define WINRT_Windows_UI_Popups_2_H #include "winrt/impl/Windows.UI.Popups.1.h" WINRT_EXPORT namespace winrt::Windows::UI::Popups { struct UICommandInvokedHandler : winrt::Windows::Foundation::IUnknown { UICommandInvokedHandler(std::nullptr_t = nullptr) noexcept {} UICommandInvokedHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {} template UICommandInvokedHandler(L lambda); template UICommandInvokedHandler(F* function); template UICommandInvokedHandler(O* object, M method); template UICommandInvokedHandler(com_ptr&& object, M method); template UICommandInvokedHandler(weak_ref&& object, LM&& lambda_or_method); template UICommandInvokedHandler(std::shared_ptr&& object, M method); template UICommandInvokedHandler(std::weak_ptr&& object, LM&& lambda_or_method); auto operator()(winrt::Windows::UI::Popups::IUICommand const& command) const; }; struct WINRT_IMPL_EMPTY_BASES MessageDialog : winrt::Windows::UI::Popups::IMessageDialog { MessageDialog(std::nullptr_t) noexcept {} MessageDialog(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::UI::Popups::IMessageDialog(ptr, take_ownership_from_abi) {} explicit MessageDialog(param::hstring const& content); MessageDialog(param::hstring const& content, param::hstring const& title); }; struct WINRT_IMPL_EMPTY_BASES PopupMenu : winrt::Windows::UI::Popups::IPopupMenu { PopupMenu(std::nullptr_t) noexcept {} PopupMenu(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::UI::Popups::IPopupMenu(ptr, take_ownership_from_abi) {} PopupMenu(); }; struct WINRT_IMPL_EMPTY_BASES UICommand : winrt::Windows::UI::Popups::IUICommand { UICommand(std::nullptr_t) noexcept {} UICommand(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::UI::Popups::IUICommand(ptr, take_ownership_from_abi) {} UICommand(); explicit UICommand(param::hstring const& label); UICommand(param::hstring const& label, winrt::Windows::UI::Popups::UICommandInvokedHandler const& action); UICommand(param::hstring const& label, winrt::Windows::UI::Popups::UICommandInvokedHandler const& action, winrt::Windows::Foundation::IInspectable const& commandId); }; struct WINRT_IMPL_EMPTY_BASES UICommandSeparator : winrt::Windows::UI::Popups::IUICommand { UICommandSeparator(std::nullptr_t) noexcept {} UICommandSeparator(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::UI::Popups::IUICommand(ptr, take_ownership_from_abi) {} UICommandSeparator(); }; } #endif