66 lines
2.5 KiB
C#
66 lines
2.5 KiB
C#
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);
|
|
}
|
|
}
|