using System.Threading.Tasks;
using GB5Shared.DTO.JobEngine;
namespace FrameworkSL.Hubs.JobEngine
{
// ============================================================
// IJobEngineClient — strongly-typed client contract for JobEngineHub.
// Mirrors FrameworkSL/Hubs/GOP/IGopExecutionClient.cs.
// ============================================================
public interface IJobEngineClient
{
/// Fired right after a Quartz-triggered job is marked InProgress.
Task ReceiveJobStarted(JobStartedDTO status);
/// Fired once the job's actions are published to Scheduler.Ready — not yet complete, just handed off.
Task ReceiveJobDispatched(JobDispatchedDTO status);
/// Fired once every fanned-out action for a job execution has succeeded.
Task ReceiveJobCompleted(JobCompletedDTO status);
/// Fired when a fanned-out action for a job execution fails.
Task ReceiveJobFailed(JobFailedDTO status);
}
}