This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
using DTS.Common.Interface.StatusAndProgressBar;
using DTS.Common.Utilities;
using System.Collections.Generic;
using System.Threading;
namespace DTS.Common.Interface.DASFactory
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Acronym")]
public interface IDASFactory
{
void StartMulticastAutoDiscovery();
void StopMulticastAutoDiscovery();
/// <summary>
/// returns any discovered devices
/// </summary>
/// <returns></returns>
IDiscoveredDevice[] GetDiscoveredDevices();
bool PingAll();
string Language { get; set; }
void TakeOwnership();
bool AllowSDBCommandPort { get; set; }
double S6ConnectNewTimeout { get; set; }
string[] SliceDBHostNames { get; set; }
string[] GetConnectedDevices();
/// <summary>
/// TDAS Host Names
/// </summary>
string[] TDASHostNames { get; set; }
string[] TDASSerialPortNames { get; set; }
string TDASSerialRackSerialNumber { get; set; }
/// <summary>
/// gets a list of all connected DAS devices.
/// </summary>
/// <returns>List of all connected DAS hardware</returns>
List<IDASCommunication> GetDASList();
List<IDASCommunication> GetSortedDASList();
/// <summary>
/// Retrieves the ICommunication object of all hardware currently connected.
/// </summary>
/// <returns>List of ICommunications representing all hardware connected.</returns>
List<ICommunication> GetDevList();
/// <summary>
/// Make DASFactory forget about all devices.
/// </summary>
void DetachAllDevices(bool detachUSB = false);
/// <summary>
/// Initiate a refresh of the DASFactory (i.e. make sure GetDASList() reflects what's actually connected)
/// </summary>
/// <param name="action">The action to perform when the refresh is done</param>
void Refresh(ActionCompleteDelegate action);
/// <summary>
/// configures the default timeout in ms for Multicast auto discovery receive functions
/// </summary>
int MultiCastAutoDiscoveryDefaultTimeoutMS { get; set; }
SortableBindingList<IDiscoveredDevice> AutoDiscoverMulticast(CancellationToken cancelToken, bool discoverParents = true);
}
}