using System;
namespace DTS.Common.Interface.Sensors.SensorsList
{
public interface IDigitalOutputSetting
{
///
/// database id for digital output setting
/// only ids > 0 are valid
///
int DatabaseId { get; set; }
///
/// whether digital output should have a check in a list with a checkbox
///
bool Included { get; set; }
///
/// serialnumber/setting name for digital output setting
///
string SerialNumber { get; set; }
///
/// description/comment for setting
///
string Description { get; set; }
///
/// delay in ms before outputting
///
double DODelay { get; set; }
///
/// duration in ms of output (if limiting duration)
///
double DODuration { get; set; }
///
/// who last modified the digital output
///
string ModifiedBy { get; set; }
///
/// when the digital output was last modified
///
DateTime LastModified { get; set; }
///
/// returns true if the digital output matches filter criteria
///
///
///
bool Filter(string term);
///
/// whether digital output is associated with a channel
///
bool Assigned { get; set; }
///
/// whether digital output was found online or not (there's no real way of finding digital output online, it has no EID)
///
bool Online { get; set; }
///
/// isocode associated with digital output
/// digital outputs aren't in collected data so there's not a real need for this ...
///
string ISOCode { get; set; }
///
/// iso channel name associated with digital output
/// digital outputs aren't in collected data so there's no real need for this ...
///
string ISOChannelName { get; set; }
///
/// user code associated with digital output
/// there's no collected data for outputs so there's no real need for this
///
string UserCode { get; set; }
///
/// user channel name associated with digital output
/// there's no collected data for outputs so there's no real need for this
///
string UserChannelName{ get; set; }
///
/// whether output should be limited or not
///
bool LimitDuration { get; set; }
///
/// the output mode for the digital output setting
///
Enums.DigitalOutputModes DOMode { get; set; }
///
/// used to mark whether the digital output is broken
/// broken sensors do not appear in selectable lists of sensors in edit group or edit test setup
///
bool Broken{ get; set; }
///
/// used to mark whether the digital output should not be used
/// donotuse sensors do not appear in selectable lists of sensors in edit group or edit test setup
///
bool DoNotUse{ get; set; }
}
}