// C++/WinRT v2.0.230511.6 // 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 { enum class ActionEntityKind : int32_t; struct ActionFeedback; struct ActionInvocationContext; } WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; struct IAsyncAction; template struct __declspec(empty_bases) TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::AI::Actions::Hosting { enum class ActionDisclaimerKind : int32_t { None = 0, UsesAI = 1, }; struct IActionCatalog; struct IActionDefinition; struct IActionDefinition2; struct IActionEntityRegistrationInfo; struct IActionOverload; struct IActionOverload2; struct ActionCatalog; struct ActionDefinition; struct ActionEntityRegistrationInfo; 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 = 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 <> 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.ActionOverload"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.ActionDisclaimerKind"; template <> inline constexpr auto& name_v = L"Windows.AI.Actions.Hosting.IActionCatalog"; 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.IActionEntityRegistrationInfo"; 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{ 0xFE766ADD,0x924D,0x5231,{ 0x85,0x5E,0xDA,0xC9,0xE8,0x2C,0x7E,0x6C } }; // FE766ADD-924D-5231-855E-DAC9E82C7E6C template <> inline constexpr guid guid_v{ 0x27283794,0x8014,0x5DC5,{ 0x97,0xE3,0xBE,0x19,0xD3,0xFA,0x19,0x71 } }; // 27283794-8014-5DC5-97E3-BE19D3FA1971 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{ 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::IActionOverload; }; template <> struct abi { struct __declspec(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 __declspec(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 __declspec(novtable) type : inspectable_abi { virtual int32_t __stdcall get_DisplaysUI(bool*) noexcept = 0; virtual int32_t __stdcall get_DisclaimerKind(int32_t*) noexcept = 0; virtual int32_t __stdcall get_SchemaVersion(uint32_t*) noexcept = 0; virtual int32_t __stdcall get_PackageRelativeApplicationId(void**) noexcept = 0; }; }; template <> struct abi { struct __declspec(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 __declspec(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 __declspec(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]] Changed_revoker 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_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 DisclaimerKind() const; [[nodiscard]] auto SchemaVersion() const; [[nodiscard]] auto PackageRelativeApplicationId() const; }; template <> struct consume { template using type = consume_Windows_AI_Actions_Hosting_IActionDefinition2; }; 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_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