Implement deletion of Containers

This commit is contained in:
Bagietka
2025-01-18 12:05:31 +01:00
parent 0cca07db63
commit ccb14626e3
4 changed files with 14 additions and 2 deletions

View File

@@ -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( );

View File

@@ -20,6 +20,8 @@ namespace WinDurango::impl
winrt::Windows::Foundation::IAsyncAction Upload(winrt::hstring containerName, winrt::Windows::Foundation::Collections::IMapView<winrt::hstring, winrt::Windows::Storage::Streams::IBuffer> blobsToWrite, winrt::Windows::Foundation::Collections::IIterable<winrt::hstring> blobsToDelete, winrt::hstring displayName = {}) const;
winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Storage::BlobInfo>> GetBlobInfoAsync(winrt::hstring parentContainerName, winrt::hstring blobNamePrefix);
winrt::Windows::Foundation::IAsyncOperation<winrt::Windows::Foundation::Collections::IVectorView<winrt::Windows::Xbox::Storage::ContainerInfo2>> 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<bool> DoesFolderExist(winrt::hstring path);

View File

@@ -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)