46 lines
1.0 KiB
C#
46 lines
1.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace BITKit
|
|
{
|
|
/// <summary>
|
|
/// 持久化数据服务
|
|
/// </summary>
|
|
public interface IPersistentDataService
|
|
{
|
|
public void Register(IPersistentCallback callback);
|
|
public void Unregister(IPersistentCallback callback);
|
|
public void ManualSave();
|
|
public void ManualLoad();
|
|
public void ManualLoad(string json);
|
|
}
|
|
|
|
public interface IPersistentCallback
|
|
{
|
|
string Name { get; }
|
|
void Load(string json);
|
|
string Save();
|
|
}
|
|
|
|
public class PersistentDataService : IPersistentDataService
|
|
{
|
|
private readonly List<IPersistentCallback> callbacks = new();
|
|
public void Register(IPersistentCallback callback) => callbacks.Add(callback);
|
|
public void Unregister(IPersistentCallback callback) => callbacks.Remove(callback);
|
|
|
|
public void ManualSave()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void ManualLoad()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void ManualLoad(string json)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
} |