namespace Sick.SafetyScanners.DataStructures;
///
/// Contains the configuration metadata from a COLA2 variable command response
///
public sealed class ConfigMetadata
{
///
/// Gets or sets the version indicator (e.g., "V" for version)
///
public string VersionCVersion { get; init; } = string.Empty;
///
/// Gets or sets the major version number
///
public byte VersionMajorVersionNumber { get; init; }
///
/// Gets or sets the minor version number
///
public byte VersionMinorVersionNumber { get; init; }
///
/// Gets or sets the version release number
///
public byte VersionReleaseNumber { get; init; }
///
/// Gets or sets the modification time date (days since 1980-01-01)
///
public ushort ModificationTimeDate { get; init; }
///
/// Gets or sets the modification time (milliseconds since midnight)
///
public uint ModificationTimeTime { get; init; }
///
/// Gets or sets the transfer time date (days since 1980-01-01)
///
public ushort TransferTimeDate { get; init; }
///
/// Gets or sets the transfer time (milliseconds since midnight)
///
public uint TransferTimeTime { get; init; }
///
/// Gets or sets the application checksum
///
public uint AppChecksum { get; init; }
///
/// Gets or sets the overall checksum
///
public uint OverallChecksum { get; init; }
///
/// Gets or sets the integrity hash (array of uint32 values)
///
public IReadOnlyList IntegrityHash { get; init; } = Array.Empty();
}