using ZB.MOM.WW.ScadaBridge.Commons.Messages.Management;
namespace ZB.MOM.WW.ScadaBridge.CentralUI.Services;
///
/// CentralUI facade over the central-to-site "Test Bindings" read command.
/// Backs the Test Bindings dialog on the Configure Instance page: on open and
/// on Refresh, the dialog issues one per distinct
/// connection (grouped from the page's bindings table) and renders the
/// per-tag outcomes.
///
///
/// The service is the trust boundary for the read capability: it enforces the
/// Design role at central before any cross-cluster traffic is
/// generated, because site-side actors do not unwrap the central trust
/// envelope. Transport failures (timeouts, unreachable sites) are translated
/// into a typed so the dialog can render an
/// inline banner without crashing — same shape as
/// .
///
public interface IBindingTester
{
///
/// Reads the current value of one or more tags on the live server backing
/// at . The
/// caller is expected to group its bindings by connection name and issue
/// one call per group (in parallel — the dialog uses
/// Task.WhenAll).
///
/// The target site identifier.
/// Name of the site-local data connection — the site's DataConnectionManagerActor indexes its children by name.
/// Tag paths to read.
/// Cancellation token.
/// A task that resolves to the read outcomes for all requested tag paths.
Task ReadAsync(
string siteId,
string connectionName,
IReadOnlyList tagPaths,
CancellationToken ct = default);
}