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