namespace ZB.MOM.WW.LmxOpcUa.Host.Domain
{
///
/// DTO matching attributes.sql result columns. (GR-002)
///
public class GalaxyAttributeInfo
{
///
/// Gets or sets the Galaxy object identifier that owns the attribute.
///
public int GobjectId { get; set; }
///
/// Gets or sets the Wonderware tag name used to associate the attribute with its runtime object.
///
public string TagName { get; set; } = "";
///
/// Gets or sets the attribute name as defined on the Galaxy template or instance.
///
public string AttributeName { get; set; } = "";
///
/// Gets or sets the fully qualified MXAccess reference used for runtime reads and writes.
///
public string FullTagReference { get; set; } = "";
///
/// Gets or sets the numeric Galaxy data type code used to map the attribute into OPC UA.
///
public int MxDataType { get; set; }
///
/// Gets or sets the human-readable Galaxy data type name returned by the repository query.
///
public string DataTypeName { get; set; } = "";
///
/// Gets or sets a value indicating whether the attribute is an array and should be exposed as a collection node.
///
public bool IsArray { get; set; }
///
/// Gets or sets the array length when the Galaxy attribute is modeled as a fixed-size array.
///
public int? ArrayDimension { get; set; }
///
/// Gets or sets the primitive data type name used when flattening the attribute for OPC UA clients.
///
public string PrimitiveName { get; set; } = "";
///
/// Gets or sets the source classification that explains whether the attribute comes from configuration, calculation,
/// or runtime data.
///
public string AttributeSource { get; set; } = "";
///
/// Gets or sets the Galaxy security classification that determines OPC UA write access.
/// 0=FreeAccess, 1=Operate (default), 2=SecuredWrite, 3=VerifiedWrite, 4=Tune, 5=Configure, 6=ViewOnly.
///
public int SecurityClassification { get; set; } = 1;
///
/// Gets or sets a value indicating whether the attribute has a HistoryExtension primitive and is historized by the
/// Wonderware Historian.
///
public bool IsHistorized { get; set; }
///
/// Gets or sets a value indicating whether the attribute has an AlarmExtension primitive and is an alarm.
///
public bool IsAlarm { get; set; }
}
}