2021-10-11 19:56:26 +08:00
|
|
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
|
|
|
// See the LICENCE file in the repository root for full licence text.
|
|
|
|
|
2022-06-17 15:37:17 +08:00
|
|
|
#nullable disable
|
|
|
|
|
2021-10-12 06:30:00 +08:00
|
|
|
using System;
|
2021-10-11 19:56:26 +08:00
|
|
|
using System.IO;
|
|
|
|
|
|
|
|
namespace osu.Game.IO.FileAbstraction
|
|
|
|
{
|
|
|
|
public class StreamFileAbstraction : TagLib.File.IFileAbstraction
|
|
|
|
{
|
|
|
|
public StreamFileAbstraction(string filename, Stream fileStream)
|
|
|
|
{
|
|
|
|
ReadStream = fileStream;
|
|
|
|
Name = filename;
|
|
|
|
}
|
|
|
|
|
|
|
|
public string Name { get; }
|
|
|
|
|
|
|
|
public Stream ReadStream { get; }
|
|
|
|
public Stream WriteStream => ReadStream;
|
|
|
|
|
2021-10-12 06:30:00 +08:00
|
|
|
public void CloseStream(Stream stream)
|
2021-10-11 19:56:26 +08:00
|
|
|
{
|
2021-10-12 06:30:00 +08:00
|
|
|
if (stream == null)
|
|
|
|
throw new ArgumentNullException(nameof(stream));
|
|
|
|
|
|
|
|
stream.Close();
|
2021-10-11 19:56:26 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|