using DTS.Common.Enums.Hardware;
using DTS.Common.Interface.DASFactory.Diagnostics;
using System.Collections.ObjectModel;
using System.Windows.Media;
namespace DTS.Common.Interface.Hardware.AddEditHardware
{
///
/// describes interface used in AddEditHardware
///
public interface IAddEditHardwareHardware
{
///
/// the das type
///
HardwareTypes HardwareType{ get; set; }
///
/// the serial number for the das
///
string SerialNumber { get; set; }
///
/// the firmware version of the das
///
string FirmwareVersion { get; set; }
///
/// the ipaddress of the das (if supported)
///
string IPAddress { get; set; }
///
/// whether the das supports an ip address
///
bool SupportsIPAddress { get; }
///
/// whether the das supports rack sizes
///
bool SupportsRackSize { get; }
///
/// the configuration of the das (if supported)
///
bool SupportsConfiguration { get; }
///
/// the configuration of the das
///
SLICEConfigurations SLICEConfiguration { get; set; }
///
/// the size of the rack (if supported)
///
RackSizes RackSize { get; set; }
///
/// an image representing the das
///
ImageSource DASImage { get; }
ObservableCollection Modules { get; set; }
void RemoveModule(IAddEditHardwareDASModule module);
void AddModule();
///
/// returns a new ISOHardware representation of the hardware
///
IISOHardware ToISOHardware();
///
/// whether this is actual physical hardware or just stand in hardware/not real hardware
///
bool StandIn { get; set; }
bool IsModule { get; set; }
///
/// indicates whether this record already exists in the database or is a new entry
///
bool IsAdd { get; set; }
}
}