namespace ZB.MOM.WW.OtOpcUa.Core.Abstractions;

/// <summary>
///     Security classification for write authorization on a tag, mirroring
///     the v1 Galaxy SecurityClassification model documented in <c>docs/DataTypeMapping.md</c>.
///     Generalized so non-Galaxy drivers can declare per-tag write protection levels.
/// </summary>
/// <remarks>
///     Maps to <c>NodePermissions</c> write tiers in <c>docs/v2/acl-design.md</c>:
///     FreeAccess + Operate require <c>WriteOperate</c>; Tune requires <c>WriteTune</c>;
///     Configure requires <c>WriteConfigure</c>; SecuredWrite + VerifiedWrite + ViewOnly
///     are read-only from OPC UA (v1 behavior preserved).
/// </remarks>
public enum SecurityClassification
{
    FreeAccess = 0,
    Operate = 1,
    SecuredWrite = 2,
    VerifiedWrite = 3,
    Tune = 4,
    Configure = 5,
    ViewOnly = 6,
}
