// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Security_Authentication_Web_Provider_2_H #define WINRT_Windows_Security_Authentication_Web_Provider_2_H #include "winrt/impl/Windows.Foundation.1.h" #include "winrt/impl/Windows.Foundation.Collections.1.h" #include "winrt/impl/Windows.Security.Authentication.Web.Core.1.h" #include "winrt/impl/Windows.Security.Credentials.1.h" #include "winrt/impl/Windows.Storage.Streams.1.h" #include "winrt/impl/Windows.System.1.h" #include "winrt/impl/Windows.Web.Http.1.h" #include "winrt/impl/Windows.Security.Authentication.Web.Provider.1.h" WINRT_EXPORT namespace winrt::Windows::Security::Authentication::Web::Provider { struct WINRT_IMPL_EMPTY_BASES WebAccountClientView : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountClientView { WebAccountClientView(std::nullptr_t) noexcept {} WebAccountClientView(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountClientView(ptr, take_ownership_from_abi) {} WebAccountClientView(winrt::Windows::Security::Authentication::Web::Provider::WebAccountClientViewType const& viewType, winrt::Windows::Foundation::Uri const& applicationCallbackUri); WebAccountClientView(winrt::Windows::Security::Authentication::Web::Provider::WebAccountClientViewType const& viewType, winrt::Windows::Foundation::Uri const& applicationCallbackUri, param::hstring const& accountPairwiseId); }; struct WebAccountManager { WebAccountManager() = delete; static auto UpdateWebAccountPropertiesAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount, param::hstring const& webAccountUserName, param::async_map_view const& additionalProperties); static auto AddWebAccountAsync(param::hstring const& webAccountId, param::hstring const& webAccountUserName, param::async_map_view const& props); static auto DeleteWebAccountAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount); static auto FindAllProviderWebAccountsAsync(); static auto PushCookiesAsync(winrt::Windows::Foundation::Uri const& uri, param::async_vector_view const& cookies); static auto SetViewAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount, winrt::Windows::Security::Authentication::Web::Provider::WebAccountClientView const& view); static auto ClearViewAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount, winrt::Windows::Foundation::Uri const& applicationCallbackUri); static auto GetViewsAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount); static auto SetWebAccountPictureAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount, winrt::Windows::Storage::Streams::IRandomAccessStream const& webAccountPicture); static auto ClearWebAccountPictureAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount); static auto PullCookiesAsync(param::hstring const& uriString, param::hstring const& callerPFN); static auto FindAllProviderWebAccountsForUserAsync(winrt::Windows::System::User const& user); static auto AddWebAccountForUserAsync(winrt::Windows::System::User const& user, param::hstring const& webAccountId, param::hstring const& webAccountUserName, param::async_map_view const& props); static auto AddWebAccountForUserAsync(winrt::Windows::System::User const& user, param::hstring const& webAccountId, param::hstring const& webAccountUserName, param::async_map_view const& props, winrt::Windows::Security::Authentication::Web::Provider::WebAccountScope const& scope); static auto AddWebAccountForUserAsync(winrt::Windows::System::User const& user, param::hstring const& webAccountId, param::hstring const& webAccountUserName, param::async_map_view const& props, winrt::Windows::Security::Authentication::Web::Provider::WebAccountScope const& scope, param::hstring const& perUserWebAccountId); static auto InvalidateAppCacheForAllAccountsAsync(); static auto InvalidateAppCacheForAccountAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount); static auto AddWebAccountAsync(param::hstring const& webAccountId, param::hstring const& webAccountUserName, param::async_map_view const& props, winrt::Windows::Security::Authentication::Web::Provider::WebAccountScope const& scope, param::hstring const& perUserWebAccountId); static auto SetPerAppToPerUserAccountAsync(winrt::Windows::Security::Credentials::WebAccount const& perAppAccount, param::hstring const& perUserWebAccountId); static auto GetPerUserFromPerAppAccountAsync(winrt::Windows::Security::Credentials::WebAccount const& perAppAccount); static auto ClearPerUserFromPerAppAccountAsync(winrt::Windows::Security::Credentials::WebAccount const& perAppAccount); static auto AddWebAccountAsync(param::hstring const& webAccountId, param::hstring const& webAccountUserName, param::async_map_view const& props, winrt::Windows::Security::Authentication::Web::Provider::WebAccountScope const& scope); static auto SetScopeAsync(winrt::Windows::Security::Credentials::WebAccount const& webAccount, winrt::Windows::Security::Authentication::Web::Provider::WebAccountScope const& scope); static auto GetScope(winrt::Windows::Security::Credentials::WebAccount const& webAccount); }; struct WINRT_IMPL_EMPTY_BASES WebAccountProviderAddAccountOperation : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderAddAccountOperation { WebAccountProviderAddAccountOperation(std::nullptr_t) noexcept {} WebAccountProviderAddAccountOperation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderAddAccountOperation(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebAccountProviderDeleteAccountOperation : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderDeleteAccountOperation, impl::require { WebAccountProviderDeleteAccountOperation(std::nullptr_t) noexcept {} WebAccountProviderDeleteAccountOperation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderDeleteAccountOperation(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebAccountProviderGetTokenSilentOperation : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenOperation, impl::require { WebAccountProviderGetTokenSilentOperation(std::nullptr_t) noexcept {} WebAccountProviderGetTokenSilentOperation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenOperation(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebAccountProviderManageAccountOperation : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderManageAccountOperation { WebAccountProviderManageAccountOperation(std::nullptr_t) noexcept {} WebAccountProviderManageAccountOperation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderManageAccountOperation(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebAccountProviderRequestTokenOperation : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenOperation, impl::require { WebAccountProviderRequestTokenOperation(std::nullptr_t) noexcept {} WebAccountProviderRequestTokenOperation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenOperation(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebAccountProviderRetrieveCookiesOperation : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderRetrieveCookiesOperation, impl::require { WebAccountProviderRetrieveCookiesOperation(std::nullptr_t) noexcept {} WebAccountProviderRetrieveCookiesOperation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderRetrieveCookiesOperation(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebAccountProviderSignOutAccountOperation : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderSignOutAccountOperation, impl::require { WebAccountProviderSignOutAccountOperation(std::nullptr_t) noexcept {} WebAccountProviderSignOutAccountOperation(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderSignOutAccountOperation(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebAccountProviderTriggerDetails : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenObjects, impl::require { WebAccountProviderTriggerDetails(std::nullptr_t) noexcept {} WebAccountProviderTriggerDetails(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenObjects(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebProviderTokenRequest : winrt::Windows::Security::Authentication::Web::Provider::IWebProviderTokenRequest, impl::require { WebProviderTokenRequest(std::nullptr_t) noexcept {} WebProviderTokenRequest(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebProviderTokenRequest(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES WebProviderTokenResponse : winrt::Windows::Security::Authentication::Web::Provider::IWebProviderTokenResponse { WebProviderTokenResponse(std::nullptr_t) noexcept {} WebProviderTokenResponse(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Security::Authentication::Web::Provider::IWebProviderTokenResponse(ptr, take_ownership_from_abi) {} explicit WebProviderTokenResponse(winrt::Windows::Security::Authentication::Web::Core::WebTokenResponse const& webTokenResponse); }; } #endif