- tweak: file managment

This commit is contained in:
2025-01-08 18:00:06 +03:00
parent b16b21e954
commit e5ed27f72d
20 changed files with 539 additions and 161 deletions

View File

@@ -0,0 +1,47 @@
namespace Nebula.Shared.Models;
public interface ILoadingHandler
{
public void SetJobsCount(int count);
public int GetJobsCount();
public void SetResolvedJobsCount(int count);
public int GetResolvedJobsCount();
public void AppendJob(int count = 1)
{
SetJobsCount(GetJobsCount() + count);
}
public void AppendResolvedJob(int count = 1)
{
SetResolvedJobsCount(GetResolvedJobsCount() + count);
}
public void Clear()
{
SetResolvedJobsCount(0);
SetJobsCount(0);
}
public QueryJob GetQueryJob()
{
return new QueryJob(this);
}
}
public sealed class QueryJob: IDisposable
{
private readonly ILoadingHandler _handler;
public QueryJob(ILoadingHandler handler)
{
_handler = handler;
handler.AppendJob();
}
public void Dispose()
{
_handler.AppendResolvedJob();
}
}