using ZB.MOM.WW.OtOpcUa.Configuration.Entities;
namespace ZB.MOM.WW.OtOpcUa.Configuration.Apply;
///
/// Host-supplied callbacks invoked as the applier walks the diff. Callbacks are idempotent on
/// retry (the applier may re-invoke with the same inputs if a later stage fails — nodes
/// register-applied to the central DB only after success). Order: namespace → driver → device →
/// equipment → poll group → tag, with Removed before Added/Modified.
///
public sealed class ApplyCallbacks
{
public Func, CancellationToken, Task>? OnNamespace { get; init; }
public Func, CancellationToken, Task>? OnDriver { get; init; }
public Func, CancellationToken, Task>? OnDevice { get; init; }
public Func, CancellationToken, Task>? OnEquipment { get; init; }
public Func, CancellationToken, Task>? OnPollGroup { get; init; }
public Func, CancellationToken, Task>? OnTag { get; init; }
}