namespace ZB.MOM.WW.OtOpcUa.Core.Abstractions; /// /// Driver-agnostic per-attribute (tag) descriptor used by the generic node-manager /// to build OPC UA address-space variables. Every driver maps its native attribute /// metadata into this DTO during discovery. /// /// /// Per docs/v2/plan.md §5a (LmxNodeManager reusability) — DriverAttributeInfo /// replaces the v1 Galaxy-specific GalaxyAttributeInfo in the generic node-manager /// so the same node-manager class works against every driver. /// /// /// Driver-side full reference for read/write addressing /// (e.g. for Galaxy: "DelmiaReceiver_001.DownloadPath"). /// /// Driver-agnostic data type; maps to OPC UA built-in type at build time. /// True when this attribute is a 1-D array. /// Declared array length when is true; null otherwise. /// Write-authorization tier for this attribute. /// True when this attribute is expected to feed historian / HistoryRead. /// /// True when this attribute represents an alarm condition (Galaxy: has an /// AlarmExtension primitive). The generic node-manager enriches the variable with an /// OPC UA AlarmConditionState when true. Defaults to false so existing non-Galaxy /// drivers aren't forced to flow a flag they don't produce. /// public sealed record DriverAttributeInfo( string FullName, DriverDataType DriverDataType, bool IsArray, uint? ArrayDim, SecurityClassification SecurityClass, bool IsHistorized, bool IsAlarm = false);