Files
Progrart/Progrart.Core/Storage/CombinedStorageProvider.cs
Creeper Lv dce1ff2518 ToData now supports multiple formats.
Introduce `ProgrartC` to build a single image to work with other build tools.
Added a `CombinedStorageProvider` to allow aggregate storage providers.
2026-01-16 00:36:38 +11:00

27 lines
570 B
C#

namespace Progrart.Core.Storage
{
public class CombinedStorageProvider : IStorageProvider
{
public List<IStorageProvider> providers = new List<IStorageProvider>();
public async Task<Stream?> TryOpenRead(string path)
{
foreach (var item in providers)
{
var v = await item.TryOpenRead(path);
if (v != null) return v;
}
return null;
}
public async Task<Stream?> TryOpenWrite(string path)
{
foreach (var item in providers)
{
var v = await item.TryOpenWrite(path);
if (v != null) return v;
}
return null;
}
}
}