Files
DP44/Common/DTS.Common.ICommunication/ICommunication.cs
2026-04-17 14:55:32 -04:00

73 lines
2.5 KiB
C#

using System;
using System.Collections.Generic;
using DTS.Common.Enums.Communication;
using DTS.Common.Enums.DASFactory;
using DTS.Common.Interface.Communication;
using DTS.Common.Interface.Connection;
namespace DTS.Common.ICommunication
{
public class CanceledException : ApplicationException
{
}
public class Communication_DASInfo : ICommunication_DASInfo
{
/// <summary>
/// indicates date of first use
/// null value indicates hardware has not been used since calibration
/// only valid when IsFirstUseDateSupported is true
/// </summary>
public DateTime? FirstUseDate { get; set; } = null;
/// <summary>
/// indicates that FirstUseDate data is valid and hardware supports First use dates
/// 15524 DAS "First Use Date"
/// </summary>
public bool IsFirstUseDateSupported { get; set; } = false;
/// <summary>
/// indicates whether or not streaming is supported
/// 30429 TSR AIRs can enable/disable streaming via the DISABLE_STREAMING_FEATURE system attribute
/// </summary>
public bool IsStreamingSupported { get; set; } = false;
/// <summary>
/// these are devices which are connected to the das
/// currently only used by SLICE6DB
/// </summary>
public IDASConnectedDevice[] ConnectedDevices { get; private set; } = new IDASConnectedDevice[0];
/// <summary>
/// sets ConnectedDevices
/// </summary>
/// <param name="devices">devices connected to this das</param>
public void SetConnectedDevices(IDASConnectedDevice[] devices) { ConnectedDevices = devices; }
public string[] SerialNumbers { get; set; }
public string[] FirmwareVersions { get; set; }
public string StackSerialNumber(int devid)
{
if (null == SerialNumbers || SerialNumbers.Length < 1)
{
return "N/A";
}
else if (0 != devid && devid < SerialNumbers.Length)
{
return SerialNumbers[0] + "::" + SerialNumbers[devid];
}
else
{
return SerialNumbers[0];
}
}
public Communication_DASInfo()
{
}
public Communication_DASInfo(string[] serials, string[] fwnums)
{
SerialNumbers = (string[])serials.Clone();
FirmwareVersions = (string[])fwnums.Clone();
}
}
}