Files
DP44/Common/DTS.Common/.svn/pristine/f1/f153f30f2ef4069da50566db5299085d385e68e9.svn-base
2026-04-17 14:55:32 -04:00

103 lines
3.2 KiB
Plaintext

using System.Collections.Generic;
using static DTS.Common.Enums.DASFactory.DFConstantsAndEnums;
namespace DTS.Common.Interface.DASFactory
{
public interface IDiscoveredDevice
{
/// <summary>
/// Device Serial Number
/// </summary>
string Serial { get; set; }
MultiCastDeviceClasses DevClass { get; set; }
/// <summary>
/// Device Mac
/// </summary>
string Mac { get; set; }
IDiscoveredDevice Parent { get; set; }
bool IsParent(IDiscoveredDevice possibleChild);
int GetPort(IDiscoveredDevice device);
int GetSlot(IDiscoveredDevice child, Dictionary<string, IDiscoveredDevice> lookup);
int GetSlotOnPort(IDiscoveredDevice child, Dictionary<string, IDiscoveredDevice> lookup);
bool IsModule { get; set; }
/// <summary>
/// if I'm on a SLICE6DB, what port am I on
/// </summary>
int Port { get; set; }
/// <summary>
/// starting at the first device in the chain on the first point, up until the last device on the last chain/port, where is this device
/// this is used to as we don't show SLICE6 devices when on a SLICE6Db, but we still need to know which devices is where for showing
/// the channels in the UI
/// </summary>
int PositionOnDistributor { get; set; }
/// <summary>
/// where is this device in a chain of devices, only used for SLICE6 on a SLICE6Db right now
/// </summary>
int PositionOnChain { get; set; }
/// <summary>
/// Is DHCP enabled
/// </summary>
bool Dhcp { get; set; }
/// <summary>
/// Device IP
/// </summary>
string Ip { get; set; }
/// <summary>
/// Device Subnet
/// </summary>
string Subnet { get; set; }
/// <summary>
/// Device Gateway
/// </summary>
string Gateway { get; set; }
/// <summary>
/// Device DNS Sever
/// </summary>
string Dns { get; set; }
/// <summary>
/// Is Device connected to another host
/// </summary>
bool Connected { get; set; }
/// <summary>
/// Host IP that device is connected to
/// </summary>
string ConnectedIp { get; set; }
/// <summary>
/// Host Name Resolution that device is connected to
/// </summary>
string ConnectedHost { get; set; }
/// <summary>
/// User entry for Distributor ID that device is connected to
/// </summary>
ushort SystemId { get; set; }
/// <summary>
/// User entry for location of device
/// </summary>
string Location { get; set; }
/// <summary>
/// Firmware version string
/// [Product Name]-[FW/BL]-[REL/DBG]-[Board #]-[FW Ver Name]
/// </summary>
string FirmwareVersion { get; set; }
/// <summary>
/// Build Server number for the firmware
/// </summary>
string BuildId { get; set; }
IConnectedEthernetDevice[] Connections { get; set; }
}
}