diff --git a/dlls/winrt_x/ConnectedStorage/ConnectedStorage.cpp b/dlls/winrt_x/ConnectedStorage/ConnectedStorage.cpp index 62cae5c..4a39b4b 100644 --- a/dlls/winrt_x/ConnectedStorage/ConnectedStorage.cpp +++ b/dlls/winrt_x/ConnectedStorage/ConnectedStorage.cpp @@ -147,6 +147,15 @@ Storage::ContainerInfo2>> WinDurango::impl::ConnectedStorage::GetContainerInfo2A co_return containerInfoVector.GetView( ); } +winrt::Windows::Foundation::IAsyncAction WinDurango::impl::ConnectedStorage::DeleteContainer(winrt::hstring containerName) +{ + winrt::hstring containerPath = m_storagePath + L"\\" + containerName; + if (co_await DoesFolderExist(containerPath)) { + auto folder = co_await winrt::Windows::Storage::StorageFolder::GetFolderFromPathAsync(containerPath); + co_await folder.DeleteAsync( ); + } +} + winrt::hstring WinDurango::impl::ConnectedStorage::ObtainPackageName() { return winrt::Windows::ApplicationModel::Package::Current( ).Id( ).FamilyName( ); diff --git a/dlls/winrt_x/ConnectedStorage/ConnectedStorage.h b/dlls/winrt_x/ConnectedStorage/ConnectedStorage.h index 35d2c4b..61858dc 100644 --- a/dlls/winrt_x/ConnectedStorage/ConnectedStorage.h +++ b/dlls/winrt_x/ConnectedStorage/ConnectedStorage.h @@ -20,6 +20,8 @@ namespace WinDurango::impl winrt::Windows::Foundation::IAsyncAction Upload(winrt::hstring containerName, winrt::Windows::Foundation::Collections::IMapView blobsToWrite, winrt::Windows::Foundation::Collections::IIterable blobsToDelete, winrt::hstring displayName = {}) const; winrt::Windows::Foundation::IAsyncOperation> GetBlobInfoAsync(winrt::hstring parentContainerName, winrt::hstring blobNamePrefix); winrt::Windows::Foundation::IAsyncOperation> GetContainerInfo2Async( ); + winrt::Windows::Foundation::IAsyncAction DeleteContainer(winrt::hstring containerName); + static winrt::Windows::Foundation::IAsyncAction CreateDirectories(const wchar_t* storageType, winrt::hstring &storagePath); static winrt::Windows::Foundation::IAsyncOperation DoesFolderExist(winrt::hstring path); diff --git a/dlls/winrt_x/Implementation/Windows.Xbox.Storage.ConnectedStorageSpace.cpp b/dlls/winrt_x/Implementation/Windows.Xbox.Storage.ConnectedStorageSpace.cpp index 4428f9b..feb60c3 100644 --- a/dlls/winrt_x/Implementation/Windows.Xbox.Storage.ConnectedStorageSpace.cpp +++ b/dlls/winrt_x/Implementation/Windows.Xbox.Storage.ConnectedStorageSpace.cpp @@ -108,7 +108,8 @@ namespace winrt::Windows::Xbox::Storage::implementation winrt::Windows::Foundation::IAsyncAction ConnectedStorageSpace::DeleteContainerAsync(hstring containerName) { - co_return; + co_await m_connectedStorage->DeleteContainer(containerName); + containers.Remove(containerName); } winrt::Windows::Xbox::Storage::ContainerInfoQueryResult ConnectedStorageSpace::CreateContainerInfoQuery(hstring const& containerNamePrefix) diff --git a/thirdparty/Detours b/thirdparty/Detours index 09e0356..4b8c659 160000 --- a/thirdparty/Detours +++ b/thirdparty/Detours @@ -1 +1 @@ -Subproject commit 09e035677dfd566280b65f36b9c017b6ed51537a +Subproject commit 4b8c659f549b0ab21cf649377c7a84eb708f5e68