mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
46 lines
1.1 KiB
C#
46 lines
1.1 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Threading.Tasks;
|
|
using Wabbajack.Common;
|
|
|
|
namespace Compression.BSA
|
|
{
|
|
public class MemoryStreamFactory : IStreamFactory
|
|
{
|
|
private readonly MemoryStream _data;
|
|
|
|
public MemoryStreamFactory(MemoryStream data, IPath path)
|
|
{
|
|
_data = data;
|
|
Name = path;
|
|
}
|
|
public async ValueTask<Stream> GetStream()
|
|
{
|
|
return new MemoryStream(_data.GetBuffer(), 0, (int)_data.Length);
|
|
}
|
|
|
|
public DateTime LastModifiedUtc => DateTime.UtcNow;
|
|
public IPath Name { get; }
|
|
}
|
|
|
|
public class MemoryBufferFactory : IStreamFactory
|
|
{
|
|
private readonly byte[] _data;
|
|
private int _size;
|
|
|
|
public MemoryBufferFactory(byte[] data, int size, IPath path)
|
|
{
|
|
_data = data;
|
|
_size = size;
|
|
Name = path;
|
|
}
|
|
public async ValueTask<Stream> GetStream()
|
|
{
|
|
return new MemoryStream(_data, 0, _size);
|
|
}
|
|
|
|
public DateTime LastModifiedUtc => DateTime.UtcNow;
|
|
public IPath Name { get; }
|
|
}
|
|
}
|