Files
DP44/DataPRO/IService/Interfaces/IDownloadActions.cs
2026-04-17 14:55:32 -04:00

92 lines
3.6 KiB
C#

using System;
namespace DTS.DASLib.Service
{
internal interface IDownloadActions
{
/// <summary>
/// Download the data specified in the WhatToDownload property
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
void Download(ServiceCallback callback, object userData);
/// <summary>
/// Cancel the current operation
/// </summary>
void Cancel();
/// <summary>
/// Cancels the current operation (with a smaller clear cancel time)
/// </summary>
void ForceCancel();
/// <summary>
/// Clear the cancel flag
/// </summary>
void ClearCancel();
/// <summary>
/// Retrieve info about available events to download
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
void QueryDownload(ServiceCallback callback, object userData, int eventIndex, TDASServiceSetupInfo setupInfo);
/// <summary>
/// Figure out if events have been downloaded
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
void QueryDownloadedStatus(ServiceCallback callback, object userData);
/// <summary>
/// Update the recorded trigger sample numbers in HW
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
void SetTriggerSampleNumbers(ServiceCallback callback, object userData);
/// <summary>
/// Set event status to downloaded (to be used when there is no data to download)
/// </summary>
/// <param name="callback">The function to call with information</param>
/// <param name="userData">Whatever you want to pass along</param>
///
void SetDownloaded(ServiceCallback callback, object userData);
/// <summary>
/// updates an event with new information
/// </summary>
/// <param name="eventIndex"></param>
/// <param name="id"></param>
/// <param name="guid"></param>
/// <param name="totalSamples"></param>
/// <param name="triggerSamples"></param>
/// <param name="startRecordSample"></param>
/// <param name="callback"></param>
/// <param name="userData"></param>
void SetEventInfo(int eventIndex,
string id,
Guid guid,
ulong totalSamples,
ulong[] triggerSamples,
ulong startRecordSample,
UInt32 eventHasDownloaded,
ServiceCallback callback,
object userData);
/// <summary>
/// corrects the T0 and Total samples recorded attributes
/// note that not all IDownloadAction devices support
/// devices that don't support will return an error and complete
/// this functionality searches ADC on a device for rails and
/// local peaks and troughs
/// 18469 Implement missing trigger(t0) recovery(Circular Buffer / Hybrid Recorder)
/// </summary>
/// <param name="callback"></param>
/// <param name="userData"></param>
void CorrectT0s(ServiceCallback callback,
object userData);
}
}