using DTS.Common.Base;
using DTS.Common.Interface.DASFactory.Diagnostics;
using DTS.Common.Interface.DASFactory.Diagnostics.HardwareList;
using DTS.Common.Interface.DataRecorders;
using System.Collections.Generic;
namespace DTS.Common.Interface.Hardware.AddEditHardware
{
public interface IAddEditHardwareViewModel : IBaseViewModel
{
IAddEditHardwareView View { get; set; }
void Unset();
///
/// hardware being operated on in viewmodel
///
IAddEditHardwareHardware Hardware { get; set; }
int? TestId{ get; set; }
///
/// initializes the viewmodel with the given hardware
///
void SetHardware(IDASHardware hw, IISOHardware isoHW);
///
/// whether to send notifications of changes or not
/// this can be used to avoid notifications when initializing things
///
bool NotificationsOn { get; set; }
///
/// returns true if the hardware can be committed, false otherwise
///
bool Validate(IISOHardware isoHW, ref List errors, ref List warnings, bool displayWindow, bool IsAdd);
///
/// commits any changes present
///
void Save();
IISOHardware GetISOHardware();
///
/// Whether standin hardware is supported by the current model
///
bool AllowStandin { get; set; }
///
/// allows access to the SLICE6 treeview module
///
void SetSLICE6TreeView(ISLICE6TreeView treeView, IHardwareListViewModel treeViewModel);
///
/// access to the current SLICE6TreeView
///
ISLICE6TreeView SLICE6TreeView { get; }
}
}