Made repository methods asynchronous. Simplified playlist repository. Use playlist manager in the app, and left playlist repository to only be used by the playlist manager.

This commit is contained in:
2026-07-24 09:49:58 -04:00
parent 0acbab1215
commit 63938b0139
14 changed files with 181 additions and 96 deletions

View File

@@ -2,20 +2,20 @@
namespace Harmonia.Core.Data;
public abstract class XMLFileRepository<TObject> : FileRepository<TObject> where TObject : notnull, new()
public abstract class XmlFileRepository<TObject> : FileRepository<TObject> where TObject : notnull, new()
{
private readonly XmlSerializer _serializer = new(typeof(TObject));
protected override string Extension => "xml";
protected override TObject Deserialize(Stream stream)
protected override async Task<TObject> DeserializeAsync(Stream stream)
{
using TextReader textReader = new StreamReader(stream);
return (TObject?)_serializer.Deserialize(textReader) ?? new();
}
protected override string Serialize(TObject obj)
protected override async Task<string> SerializeAsync(TObject obj)
{
using TextWriter textWriter = new StringWriter();