Keep the GUI as the index writer for now; mutex, named pipe, and opt-in logon autostart prepare Explorer.Host.exe without two SQLite writers. Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
907 B
C#
37 lines
907 B
C#
using Explorer.Domain;
|
|
|
|
namespace Explorer.Contracts;
|
|
|
|
public interface IWorkbenchHost
|
|
{
|
|
IIndexingHost Indexing { get; }
|
|
ITransferHost Transfers { get; }
|
|
}
|
|
|
|
public interface IIndexingHost
|
|
{
|
|
event EventHandler<ScanProgress>? ProgressChanged;
|
|
void EnqueueFullScan(long sourceId);
|
|
void EnqueueFolderScan(long sourceId, string pathRel);
|
|
void EnqueueReconcile(long sourceId, string pathRel);
|
|
void Cancel(long sourceId);
|
|
}
|
|
|
|
public interface ITransferHost
|
|
{
|
|
event EventHandler? Changed;
|
|
event EventHandler<TransferJob>? JobFinished;
|
|
bool IsPaused { get; }
|
|
IReadOnlyList<TransferJob> Snapshot();
|
|
void PauseAll();
|
|
void ResumeAll();
|
|
void Pause(long jobId);
|
|
void Resume(long jobId);
|
|
void Retry(long jobId);
|
|
void Cancel(long jobId);
|
|
void Dismiss(long jobId);
|
|
void ClearFinished();
|
|
bool MoveUp(long jobId);
|
|
bool MoveDown(long jobId);
|
|
}
|