// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Storage_Provider_2_H #define WINRT_Windows_Storage_Provider_2_H #include "winrt/impl/Windows.Foundation.Collections.1.h" #include "winrt/impl/Windows.Storage.1.h" #include "winrt/impl/Windows.Storage.Provider.1.h" WINRT_EXPORT namespace winrt::Windows::Storage::Provider { struct StorageProviderKnownFolderSyncRequestedHandler : winrt::Windows::Foundation::IUnknown { StorageProviderKnownFolderSyncRequestedHandler(std::nullptr_t = nullptr) noexcept {} StorageProviderKnownFolderSyncRequestedHandler(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Foundation::IUnknown(ptr, take_ownership_from_abi) {} template StorageProviderKnownFolderSyncRequestedHandler(L lambda); template StorageProviderKnownFolderSyncRequestedHandler(F* function); template StorageProviderKnownFolderSyncRequestedHandler(O* object, M method); template StorageProviderKnownFolderSyncRequestedHandler(com_ptr&& object, M method); template StorageProviderKnownFolderSyncRequestedHandler(weak_ref&& object, LM&& lambda_or_method); template StorageProviderKnownFolderSyncRequestedHandler(std::shared_ptr&& object, M method); template StorageProviderKnownFolderSyncRequestedHandler(std::weak_ptr&& object, LM&& lambda_or_method); auto operator()(winrt::Windows::Storage::Provider::StorageProviderKnownFolderSyncRequestArgs const& args) const; }; struct CachedFileUpdater { CachedFileUpdater() = delete; static auto SetUpdateInformation(winrt::Windows::Storage::IStorageFile const& file, param::hstring const& contentId, winrt::Windows::Storage::Provider::ReadActivationMode const& readMode, winrt::Windows::Storage::Provider::WriteActivationMode const& writeMode, winrt::Windows::Storage::Provider::CachedFileOptions const& options); }; struct WINRT_IMPL_EMPTY_BASES CachedFileUpdaterUI : winrt::Windows::Storage::Provider::ICachedFileUpdaterUI, impl::require { CachedFileUpdaterUI(std::nullptr_t) noexcept {} CachedFileUpdaterUI(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::ICachedFileUpdaterUI(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES FileUpdateRequest : winrt::Windows::Storage::Provider::IFileUpdateRequest, impl::require { FileUpdateRequest(std::nullptr_t) noexcept {} FileUpdateRequest(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IFileUpdateRequest(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES FileUpdateRequestDeferral : winrt::Windows::Storage::Provider::IFileUpdateRequestDeferral { FileUpdateRequestDeferral(std::nullptr_t) noexcept {} FileUpdateRequestDeferral(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IFileUpdateRequestDeferral(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES FileUpdateRequestedEventArgs : winrt::Windows::Storage::Provider::IFileUpdateRequestedEventArgs { FileUpdateRequestedEventArgs(std::nullptr_t) noexcept {} FileUpdateRequestedEventArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IFileUpdateRequestedEventArgs(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES StorageProviderFileTypeInfo : winrt::Windows::Storage::Provider::IStorageProviderFileTypeInfo { StorageProviderFileTypeInfo(std::nullptr_t) noexcept {} StorageProviderFileTypeInfo(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderFileTypeInfo(ptr, take_ownership_from_abi) {} StorageProviderFileTypeInfo(param::hstring const& fileExtension, param::hstring const& iconResource); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderGetContentInfoForPathResult : winrt::Windows::Storage::Provider::IStorageProviderGetContentInfoForPathResult { StorageProviderGetContentInfoForPathResult(std::nullptr_t) noexcept {} StorageProviderGetContentInfoForPathResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderGetContentInfoForPathResult(ptr, take_ownership_from_abi) {} StorageProviderGetContentInfoForPathResult(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderGetPathForContentUriResult : winrt::Windows::Storage::Provider::IStorageProviderGetPathForContentUriResult { StorageProviderGetPathForContentUriResult(std::nullptr_t) noexcept {} StorageProviderGetPathForContentUriResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderGetPathForContentUriResult(ptr, take_ownership_from_abi) {} StorageProviderGetPathForContentUriResult(); }; struct StorageProviderItemProperties { StorageProviderItemProperties() = delete; static auto SetAsync(winrt::Windows::Storage::IStorageItem const& item, param::async_iterable const& itemProperties); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderItemProperty : winrt::Windows::Storage::Provider::IStorageProviderItemProperty { StorageProviderItemProperty(std::nullptr_t) noexcept {} StorageProviderItemProperty(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderItemProperty(ptr, take_ownership_from_abi) {} StorageProviderItemProperty(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderItemPropertyDefinition : winrt::Windows::Storage::Provider::IStorageProviderItemPropertyDefinition { StorageProviderItemPropertyDefinition(std::nullptr_t) noexcept {} StorageProviderItemPropertyDefinition(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderItemPropertyDefinition(ptr, take_ownership_from_abi) {} StorageProviderItemPropertyDefinition(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderKnownFolderEntry : winrt::Windows::Storage::Provider::IStorageProviderKnownFolderEntry { StorageProviderKnownFolderEntry(std::nullptr_t) noexcept {} StorageProviderKnownFolderEntry(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderKnownFolderEntry(ptr, take_ownership_from_abi) {} StorageProviderKnownFolderEntry(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderKnownFolderSyncInfo : winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfo { StorageProviderKnownFolderSyncInfo(std::nullptr_t) noexcept {} StorageProviderKnownFolderSyncInfo(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncInfo(ptr, take_ownership_from_abi) {} StorageProviderKnownFolderSyncInfo(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderKnownFolderSyncRequestArgs : winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncRequestArgs { StorageProviderKnownFolderSyncRequestArgs(std::nullptr_t) noexcept {} StorageProviderKnownFolderSyncRequestArgs(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderKnownFolderSyncRequestArgs(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES StorageProviderMoreInfoUI : winrt::Windows::Storage::Provider::IStorageProviderMoreInfoUI { StorageProviderMoreInfoUI(std::nullptr_t) noexcept {} StorageProviderMoreInfoUI(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderMoreInfoUI(ptr, take_ownership_from_abi) {} StorageProviderMoreInfoUI(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderQueryResultSet : winrt::Windows::Storage::Provider::IStorageProviderQueryResultSet { StorageProviderQueryResultSet(std::nullptr_t) noexcept {} StorageProviderQueryResultSet(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderQueryResultSet(ptr, take_ownership_from_abi) {} explicit StorageProviderQueryResultSet(array_view results); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderQuotaUI : winrt::Windows::Storage::Provider::IStorageProviderQuotaUI { StorageProviderQuotaUI(std::nullptr_t) noexcept {} StorageProviderQuotaUI(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderQuotaUI(ptr, take_ownership_from_abi) {} StorageProviderQuotaUI(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderSearchQueryOptions : winrt::Windows::Storage::Provider::IStorageProviderSearchQueryOptions { StorageProviderSearchQueryOptions(std::nullptr_t) noexcept {} StorageProviderSearchQueryOptions(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderSearchQueryOptions(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES StorageProviderSearchResult : winrt::Windows::Storage::Provider::IStorageProviderSearchResult, impl::require { StorageProviderSearchResult(std::nullptr_t) noexcept {} StorageProviderSearchResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderSearchResult(ptr, take_ownership_from_abi) {} StorageProviderSearchResult(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderStatusUI : winrt::Windows::Storage::Provider::IStorageProviderStatusUI { StorageProviderStatusUI(std::nullptr_t) noexcept {} StorageProviderStatusUI(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderStatusUI(ptr, take_ownership_from_abi) {} StorageProviderStatusUI(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderSuggestionResult : winrt::Windows::Storage::Provider::IStorageProviderQueryResult { StorageProviderSuggestionResult(std::nullptr_t) noexcept {} StorageProviderSuggestionResult(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderQueryResult(ptr, take_ownership_from_abi) {} StorageProviderSuggestionResult(); }; struct WINRT_IMPL_EMPTY_BASES StorageProviderSuggestionsQueryOptions : winrt::Windows::Storage::Provider::IStorageProviderSuggestionsQueryOptions { StorageProviderSuggestionsQueryOptions(std::nullptr_t) noexcept {} StorageProviderSuggestionsQueryOptions(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderSuggestionsQueryOptions(ptr, take_ownership_from_abi) {} }; struct WINRT_IMPL_EMPTY_BASES StorageProviderSyncRootInfo : winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo, impl::require { StorageProviderSyncRootInfo(std::nullptr_t) noexcept {} StorageProviderSyncRootInfo(void* ptr, take_ownership_from_abi_t) noexcept : winrt::Windows::Storage::Provider::IStorageProviderSyncRootInfo(ptr, take_ownership_from_abi) {} StorageProviderSyncRootInfo(); }; struct StorageProviderSyncRootManager { StorageProviderSyncRootManager() = delete; static auto Register(winrt::Windows::Storage::Provider::StorageProviderSyncRootInfo const& syncRootInformation); static auto Unregister(param::hstring const& id); static auto GetSyncRootInformationForFolder(winrt::Windows::Storage::IStorageFolder const& folder); static auto GetSyncRootInformationForId(param::hstring const& id); static auto GetCurrentSyncRoots(); static auto IsSupported(); }; } #endif