// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_AI_Actions_Hosting_0_H #define WINRT_Windows_AI_Actions_Hosting_0_H WINRT_EXPORT namespace winrt::Windows::AI::Actions { struct ActionEntity; enum class ActionEntityKind : int32_t; struct ActionFeedback; struct ActionInvocationContext; } WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; struct IAsyncAction; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::Foundation::Collections { struct PropertySet; } WINRT_EXPORT namespace winrt::Windows::UI { struct WindowId; } WINRT_EXPORT namespace winrt::Windows::AI::Actions::Hosting { struct IActionCatalog; struct IActionCatalog2; struct IActionCatalog3; struct IActionDefinition; struct IActionDefinition2; struct IActionDefinition3; struct IActionDefinition4; struct IActionDefinition5; struct IActionEntityRegistrationInfo; struct IActionInstance; struct IActionInstanceDisplayInfo; struct IActionOverload; struct IActionOverload2; struct ActionCatalog; struct ActionDefinition; struct ActionEntityRegistrationInfo; struct ActionInstance; struct ActionInstanceDisplayInfo; struct ActionOverload; } 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 = 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 = class_category; }; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.ActionCatalog"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.ActionDefinition"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.ActionEntityRegistrationInfo"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.ActionInstance"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.ActionInstanceDisplayInfo"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.ActionOverload"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionCatalog"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionCatalog2"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionCatalog3"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionDefinition"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionDefinition2"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionDefinition3"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionDefinition4"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionDefinition5"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionEntityRegistrationInfo"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionInstance"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionInstanceDisplayInfo"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionOverload"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionOverload2"; template <> inline constexpr guid guid_v{ 0xDBE7C537,0x66EA,0x5394,{ 0x90,0x85,0x4F,0xC1,0x9D,0x78,0x37,0x5C } }; // DBE7C537-66EA-5394-9085-4FC19D78375C template <> inline constexpr guid guid_v{ 0x370360B1,0xA14B,0x5EA8,{ 0xB6,0x11,0xB5,0xF7,0x03,0x42,0xBA,0x44 } }; // 370360B1-A14B-5EA8-B611-B5F70342BA44 template <> inline constexpr guid guid_v{ 0x2E05D518,0x8680,0x55D3,{ 0x82,0x0D,0x26,0x05,0xAD,0xB7,0xD6,0x2D } }; // 2E05D518-8680-55D3-820D-2605ADB7D62D template <> inline constexpr guid guid_v{ 0xFE766ADD,0x924D,0x5231,{ 0x85,0x5E,0xDA,0xC9,0xE8,0x2C,0x7E,0x6C } }; // FE766ADD-924D-5231-855E-DAC9E82C7E6C template <> inline constexpr guid guid_v{ 0xC1F44733,0xF563,0x54E2,{ 0xBD,0x2B,0xDC,0x4C,0x73,0x20,0x54,0xCF } }; // C1F44733-F563-54E2-BD2B-DC4C732054CF template <> inline constexpr guid guid_v{ 0x89C9A7E0,0x4BFD,0x55F4,{ 0x9E,0xED,0xDC,0xE2,0x25,0x01,0x14,0xFA } }; // 89C9A7E0-4BFD-55F4-9EED-DCE2250114FA template <> inline constexpr guid guid_v{ 0x6DD91071,0x8847,0x55B6,{ 0x95,0x18,0x9F,0xF8,0xDE,0x42,0x1E,0xB7 } }; // 6DD91071-8847-55B6-9518-9FF8DE421EB7 template <> inline constexpr guid guid_v{ 0x5BEA33EF,0xD325,0x53A8,{ 0x8D,0xB3,0x0D,0x77,0x1F,0x4D,0x1E,0x54 } }; // 5BEA33EF-D325-53A8-8DB3-0D771F4D1E54 template <> inline constexpr guid guid_v{ 0xC3B92BDB,0x03C3,0x5A9E,{ 0xB0,0x49,0x00,0x2F,0xA0,0x40,0x56,0x99 } }; // C3B92BDB-03C3-5A9E-B049-002FA0405699 template <> inline constexpr guid guid_v{ 0x809BCB6E,0xE6EF,0x5F16,{ 0xB8,0x9A,0x06,0xB8,0x89,0x3D,0xF2,0x0E } }; // 809BCB6E-E6EF-5F16-B89A-06B8893DF20E template <> inline constexpr guid guid_v{ 0xFCFDCE21,0x678B,0x5602,{ 0xB9,0xDC,0x2F,0x45,0x33,0xA6,0xF4,0xB2 } }; // FCFDCE21-678B-5602-B9DC-2F4533A6F4B2 template <> inline constexpr guid guid_v{ 0x5D184610,0xD09D,0x5375,{ 0x98,0x49,0x50,0x5C,0x35,0x9D,0xCA,0x01 } }; // 5D184610-D09D-5375-9849-505C359DCA01 template <> inline constexpr guid guid_v{ 0x57EC9906,0x8231,0x5A9E,{ 0x92,0x9F,0xBF,0x39,0xE9,0x52,0xEB,0x93 } }; // 57EC9906-8231-5A9E-929F-BF39E952EB93 template <> struct default_interface{ using type = winrt::Windows::AI::Actions::Hosting::IActionCatalog; }; template <> struct default_interface{ using type = winrt::Windows::AI::Actions::Hosting::IActionDefinition; }; template <> struct default_interface{ using type = winrt::Windows::AI::Actions::Hosting::IActionEntityRegistrationInfo; }; template <> struct default_interface{ using type = winrt::Windows::AI::Actions::Hosting::IActionInstance; }; template <> struct default_interface{ using type = winrt::Windows::AI::Actions::Hosting::IActionInstanceDisplayInfo; }; template <> struct default_interface{ using type = winrt::Windows::AI::Actions::Hosting::IActionOverload; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetAllActions(uint32_t* __resultSize, void***) noexcept = 0; virtual int32_t __stdcall add_Changed(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_Changed(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetActionsForInputs(uint32_t, void**, uint32_t* __resultSize, void***) noexcept = 0; virtual int32_t __stdcall GetActionsForInputs2(uint32_t, void**, struct struct_Windows_UI_WindowId, uint32_t* __resultSize, void***) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetActionsForCurrentApp(uint32_t* __resultSize, void***) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Id(void**) noexcept = 0; virtual int32_t __stdcall get_Description(void**) noexcept = 0; virtual int32_t __stdcall get_IconFullPath(void**) noexcept = 0; virtual int32_t __stdcall get_PackageFamilyName(void**) noexcept = 0; virtual int32_t __stdcall GetInputs(uint32_t* __resultSize, void***) noexcept = 0; virtual int32_t __stdcall GetOutputs(uint32_t* __resultSize, void***) noexcept = 0; virtual int32_t __stdcall GetOverloads(uint32_t* __resultSize, void***) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DisplaysUI(bool*) noexcept = 0; virtual int32_t __stdcall get_UsesGenerativeAI(bool*) noexcept = 0; virtual int32_t __stdcall get_SchemaVersion(uint32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_PackageRelativeApplicationId(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_IsCurrentlyAvailable(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetIconFullPath(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Name(void**) noexcept = 0; virtual int32_t __stdcall put_Name(void*) noexcept = 0; virtual int32_t __stdcall get_Kind(int32_t*) noexcept = 0; virtual int32_t __stdcall put_Kind(int32_t) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DisplayInfo(void**) noexcept = 0; virtual int32_t __stdcall get_Definition(void**) noexcept = 0; virtual int32_t __stdcall get_Context(void**) noexcept = 0; virtual int32_t __stdcall InvokeAsync(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Description(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DescriptionTemplate(void**) noexcept = 0; virtual int32_t __stdcall GetInputs(uint32_t* __resultSize, void***) noexcept = 0; virtual int32_t __stdcall InvokeAsync(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall InvokeFeedbackAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall GetSupportsFeedback(bool*) noexcept = 0; }; }; template struct consume_Windows_AI_Actions_Hosting_IActionCatalog { auto GetAllActions() const; auto Changed(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using Changed_revoker = impl::event_revoker::remove_Changed>; [[nodiscard]] auto Changed(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto Changed(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionCatalog; }; template struct consume_Windows_AI_Actions_Hosting_IActionCatalog2 { auto GetActionsForInputs(array_view inputEntities) const; auto GetActionsForInputs(array_view inputEntities, winrt::Windows::UI::WindowId const& invokerWindowId) const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionCatalog2; }; template struct consume_Windows_AI_Actions_Hosting_IActionCatalog3 { auto GetActionsForCurrentApp() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionCatalog3; }; template struct consume_Windows_AI_Actions_Hosting_IActionDefinition { [[nodiscard]] auto Id() const; [[nodiscard]] auto Description() const; [[nodiscard]] auto IconFullPath() const; [[nodiscard]] auto PackageFamilyName() const; auto GetInputs() const; auto GetOutputs() const; auto GetOverloads() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionDefinition; }; template struct consume_Windows_AI_Actions_Hosting_IActionDefinition2 { [[nodiscard]] auto DisplaysUI() const; [[nodiscard]] auto UsesGenerativeAI() const; [[nodiscard]] auto SchemaVersion() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionDefinition2; }; template struct consume_Windows_AI_Actions_Hosting_IActionDefinition3 { [[nodiscard]] auto PackageRelativeApplicationId() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionDefinition3; }; template struct consume_Windows_AI_Actions_Hosting_IActionDefinition4 { [[nodiscard]] auto IsCurrentlyAvailable() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionDefinition4; }; template struct consume_Windows_AI_Actions_Hosting_IActionDefinition5 { auto GetIconFullPath(winrt::Windows::Foundation::Collections::PropertySet const& qualifierValues) const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionDefinition5; }; template struct consume_Windows_AI_Actions_Hosting_IActionEntityRegistrationInfo { [[nodiscard]] auto Name() const; auto Name(param::hstring const& value) const; [[nodiscard]] auto Kind() const; auto Kind(winrt::Windows::AI::Actions::ActionEntityKind const& value) const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionEntityRegistrationInfo; }; template struct consume_Windows_AI_Actions_Hosting_IActionInstance { [[nodiscard]] auto DisplayInfo() const; [[nodiscard]] auto Definition() const; [[nodiscard]] auto Context() const; auto InvokeAsync() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionInstance; }; template struct consume_Windows_AI_Actions_Hosting_IActionInstanceDisplayInfo { [[nodiscard]] auto Description() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionInstanceDisplayInfo; }; template struct consume_Windows_AI_Actions_Hosting_IActionOverload { [[nodiscard]] auto DescriptionTemplate() const; auto GetInputs() const; auto InvokeAsync(winrt::Windows::AI::Actions::ActionInvocationContext const& context) const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionOverload; }; template struct consume_Windows_AI_Actions_Hosting_IActionOverload2 { auto InvokeFeedbackAsync(winrt::Windows::AI::Actions::ActionInvocationContext const& context, winrt::Windows::AI::Actions::ActionFeedback const& feedback) const; auto GetSupportsFeedback() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionOverload2; }; } #endif