using System; using System.Collections.Generic; using System.Collections.ObjectModel; using DTS.Common.Base; using DTS.Common.Classes.DSP; using DTS.Common.Classes.Hardware; using DTS.Common.Enums; using DTS.Common.Interface.Pagination; using DTS.Common.Interface.TestSetups.TestSetupsList; namespace DTS.Common.Interface.DASFactory.Diagnostics.HardwareList { public interface IHardwareListViewModel : IBaseViewModel, IFilterableListView { /// /// a user selected slice6 /// ISLICE6TreeNode SelectedSLICE6 { get; set; } /// /// all slice6 which are not associated with a given S6DB /// ISLICE6TreeNode[] AvailableSLICE6 { get; set; } /// /// currently selected SLICE6DB /// IHardware SelectedSLICE6DB { get; set; } /// /// all available SLICE6DB /// IHardware[] AvailableSLICE6DB { get; set; } bool IsEdit { get; set; } int TDASCalPeriod { get; set; } int G5CalPeriod { get; set; } int SLICE1CalPeriod { get; set; } int SLICE1_5CalPeriod { get; set; } int SLICE2_CalPeriod { get; set; } int SLICE6_CalPeriod { get; set; } int POWERPRO_CalPeriod { get; set; } int SLICE6Air_CalPeriod { get; set; } int SLICE6DB_CalPeriod { get; set; } int TSRAir_CalPeriod { get; set; } IStreamingFilterProfile StreamingDSPProfile { get;set; } /// /// the hardware replacement view /// IHardwareListReplaceView ReplaceView { get; set; } IHardwareListView View { get; set; } IHardwareListOverdueView OverdueView { get; set; } IHardwareListSelectView SelectView { get; set; } ISLICE6TreeView SLICE6TreeView { get; set; } IHardware[] Hardware { get; set; } IHardware[] OverdueHardware { get; set; } /// /// the hardware in the test (replacementview) /// IHardware[] HardwareInTest { get; set; } /// /// the hardware to replace /// IHardware HardwareToReplace { get; set; } /// /// the hardware that is available to replace with /// IHardware[] AvailableHardware { get; set; } /// /// initializes the replacement view given a test id /// void InitializeReplace(ITestSetup setup, IsoViewMode viewMode); void GetHardware(bool bIncludeModules, bool bIncludeOverdue, bool bIncludeBridges, int? testId, int? groupId); void GetAvailableSampleRates(int[] availableSampleRates); void SetTestSampleRates(Dictionary testSampleRates); void SetHasIncludedChildren(); void UpdateTestSampleRate(string childSerialNumber, double testSampleRate); int TestAAFRateHzColumnWidth { get; set; } void SetTestAAFRates(Dictionary testAAFRates); void UpdateTestAAFilterRate(string childSerialNumber, float testAAFilterRate); Func GetAAFForHardwareFunc { get; set; } void CheckForMixedDAS(string nonParentSerialNumber, double testSampleRate); void SetParentMixedRates(string parentDAS, bool mixedRates); int TestSampleRateColumnWidth { get; set; } int TestClockMasterColumnWidth { get; set; } int PTPDomainColumnWidth { get; set; } void SetTestClockProfiles(DTS.Common.ClockSyncProfile masterProfile, DTS.Common.ClockSyncProfile slaveProfile); void SetTestClockMasters(Dictionary testClockMasters); void UpdateTestClockMaster(string childSerialNumber, bool testClockMaster); void SetTestPTPDomainIDs(Dictionary testPTPDomainIDs); void UpdateTestPTPDomainID(string childSerialNumber, byte ptpDomainId); void Unset(); void Sort(object o, bool columnClick); void SortOverdue(object o, bool columnClick); void SetIncluded(string[] serialNumbers, bool included); void SetIncluded(int[] dasId); void Filter(string term); void MouseDoubleClick(int index); void SetCache(IISOHardware[] hardware); /// /// whether to show a compact view (no rack modules) or /// expanded (show rack modules) /// bool ShowCompact { get; set; } /// /// loads tree for given hardware /// /// void LoadTreeView(string serialNumber); /// /// all the SLICE6 associated with a S6DB /// (LoadTreeView will set this) /// ISLICE6TreeNode[] SLICE6TreeNodes { get; set; } /// /// associates a SLICE6 with a SLICE6DB /// [does not commit] /// /// void Associate(ISLICE6TreeNode node); /// /// associates units from one SLICE6DB /// with another /// [does not commit] /// /// void Associate(IHardware node); /// /// removes the association of a SLICE6 with a SLICE6DB /// [does not commit] /// /// void UnAssociate(ISLICE6TreeNode node); /// /// associates or de-associates SLICE6 from a SLICE6DB /// void SaveSLICE6Associations(string serialNumber); IHardware[] GetSelectedItems(); /// /// Replaces HardwareToReplace with ReplacementHardware /// void Replace(); /// /// the selected hardware to replace with /// IHardware ReplacementHardware { get; set; } void SetCalPeriods(int g5CalPeriod, int slice1CalPeriod, int slice1_5CalPeriod, int slice2_CalPeriod, int slice6_CalPeriod, int tdasCalPeriod, int powerpro_CalPeriod, int slice6Air_CalPeriod, int slice6DB_CalPeriod, int tsrAir_CalPeriod, int slice6AirBridge_CalPeriod, int sliceTcCalPeriod); } }