using System.Collections.Generic;
namespace ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Host.Backend.Historian
{
///
/// Wonderware Historian SDK configuration. Populated from environment variables at Host
/// startup (see Program.cs) or from the Proxy's DriverInstance.DriverConfig
/// section passed during OpenSession. Kept OPC-UA-free — the Proxy side owns UA translation.
///
public sealed class HistorianConfiguration
{
public bool Enabled { get; set; } = false;
/// Single-node fallback when is empty.
public string ServerName { get; set; } = "localhost";
///
/// Ordered cluster nodes. When non-empty, the data source tries each in order on connect,
/// falling through to the next on failure. A failed node is placed in cooldown for
/// before being re-eligible.
///
public List ServerNames { get; set; } = new();
public int FailureCooldownSeconds { get; set; } = 60;
public bool IntegratedSecurity { get; set; } = true;
public string? UserName { get; set; }
public string? Password { get; set; }
public int Port { get; set; } = 32568;
public int CommandTimeoutSeconds { get; set; } = 30;
public int MaxValuesPerRead { get; set; } = 10000;
///
/// Outer safety timeout applied to sync-over-async Historian operations. Must be
/// comfortably larger than .
///
public int RequestTimeoutSeconds { get; set; } = 60;
}
}