using System;
namespace DTS.DASLib.Service
{
internal interface IArmActions
{
void TurnOffT0Lights(ServiceCallback callback, object userData);
///
/// initiates background flash erase for units that support it
/// will return immediately after flash erase begins
///
///
///
void BeginBackgroundFlashErase(ServiceCallback callback, object userData);
///
/// returns whether unit is capable of flash erase
///
bool SupportsBackgroundFlashErase { get; }
///
/// returns whether unit has started background flash erase
///
bool BackgroundFlashEraseStarted { get; }
DateTime? BackgroundFlashEraseStartTime { get; }
///
/// Start an asynchronous flash erase on a single DAS.
///
///
///
void BeginFlashErase(ServiceCallback callback, object userData, bool DummyArm);
///
/// Query a single DAS for flash erase progress and an errors that have occurred.
///
/// The function to call with update information
///
void QueryFlashEraseStatus(ServiceCallback callback, object userData);
void ReadyForArming(ServiceCallback callback, object userData, Guid eventGuid, int
armNowTimeout, bool testingMode,
int maxNumberEvents, bool DummyArm, bool SysMode);
///
/// Arm a single DAS now
///
/// The function to call with information
/// Whatever you want to pass along
/// A unique GUID that this event will be tagged
/// with
void ArmNow(ServiceCallback callback, object userData, Guid eventGuid, int
armNowTimeout, bool testingMode,
int maxNumberEvents, bool SysMode);
void PrepareForArmNow(ServiceCallback callback, object userData, Guid eventGuid, int
armNowTimeout, bool testingMode,
int maxNumberEvents, bool SysMode);
void PreparedArmNow(ServiceCallback callback, object userData, Guid eventGuid, int
armNowTimeout, bool checkoutMode,
int maxNumberEvents, bool SysMode);
///
/// re-arm all units, potentially setting auto arm and repeat enable flags as well and whether to
/// call arm right away (or rely on the unit being restarted)
///
void ReArm(ServiceCallback callback, object userData, bool autoArm, bool arm, bool repeatEnable);
///
/// the UDP settings to broadcast auto arm status to on auto arm boot
/// 17583 Monitor Test UI
///
string AutoArmUDPSetting { get; set; }
///
/// Auto Arm a single DAS now
///
/// The function to call with information
/// Whatever you want to pass along
/// A unique GUID that this event will be tagged
/// with
void AutoArmNow(ServiceCallback callback, object userData, Guid eventGuid, int
armNowTimeout, bool testingMode, UInt32 diagnosticsDelayMs, int MaxEventCount, bool repeatEnable, bool preserveDiagnostics);
///
/// Arm multiple chained DAS now
///
/// The function to call with information
/// Whatever you want to pass along
void EnableFaultChecking(ServiceCallback callback, object userData);
///
/// checks all channels to see if the are level triggered
/// sets the AlreadyLevelTriggered channel for the channel accordingly.
///
///
///
void CheckAlreadyLevelTriggered(ServiceCallback callback, object userData);
///
/// Disarm the DAS
///
/// The function to call with information
/// Whatever you want to pass along
void Disarm(ServiceCallback callback, object userData);
///
/// DisAutoArm the DAS
///
/// The function to call with information
/// Whatever you want to pass along
void DisAutoArm(ServiceCallback callback, object userData);
///
/// Retrieve the current arm status from the DAS
///
/// The function to call with information
/// Whatever you want to pass along
void GetArmStatus(ServiceCallback callback, object userData, uint inputVoltageCutoff, int maxTimeout);
///
/// Retrieve the current auto arm status from the DAS
///
///
///
void GetAutoArmStatus(ServiceCallback callback, object userData);
///
/// Set the DAS to low power mode
///
/// The function to call with information
/// Whatever you want to pass along
void EnterLowPowerMode(ServiceCallback callback, object userData);
///
/// Tells the DAS to start record
///
/// The function to call with information
/// Whatever you want to pass along
void StartRecord(ServiceCallback callback, object userData);
///
/// Sends trigger signal to HW
///
/// The function to call with information
/// Whatever you want to pass along
void Trigger(ServiceCallback callback, object userData);
///
/// queries for extended fault ids from hw
///
///
///
void GetExtendedFaultIds(ServiceCallback callback, object userData);
}
}