5.0 KiB
5.0 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||
|---|---|---|---|---|---|---|
|
2026-04-17T15:42:14.920523+00:00 | zai-org/GLM-5-FP8 | 1 | bd941e1c9e197388 |
Documentation: Download State Machine Components
1. Purpose
This module provides the parameter configuration and status management components for a download state machine within the DTS.DASLib.Service namespace. DownloadParameters serves as a data transfer object encapsulating all configuration, runtime parameters, and callbacks needed for download operations from DAS (Data Acquisition System) units. DownloadStatusInformation manages the execution state, progress reporting, and cancellation handling for asynchronous download operations, coordinating between the state machine, DAS hardware communication layer, and UI consumers through delegate callbacks.
2. Public Interface
DownloadParameters Class
Implements: IStatusParameters
| Member | Signature | Description |
|---|---|---|
ProceedWhenDone |
bool { get; set; } |
Controls whether the state machine should remain in state after completion. Default: false. |
RequireAllDASFinish |
bool { get; set; } |
Determines whether all DAS units must complete their downloads. Default: false. |
DefaultDownloadFolder |
string { get; set; } |
Download folder path from configuration. Default: string.Empty. |
DefaultUploadBinaries |
bool { get; set; } |
Upload binaries setting from config. Default: false. |
DefaultUploadExports |
bool { get; set; } |
Upload exports setting from config. Default: false. |
DefaultUploadLogs |
bool { get; set; } |
Upload logs setting from config. Default: false. |
DefaultUploadReports |
bool { get; set; } |
Upload reports setting from config. Default: false. |
DefaultUploadSetups |
bool { get; set; } |
Upload test setups setting from config. Default: false. |
DASList |
IDASCommunication[] { get; set; } |
Array of DAS units to download from. Default: empty array. |
CurrentTestTestId |
string { get; set; } |
Test ID of current test. Default: string.Empty. |
CurrentTestTestIdNode |
string { get; set; } |
Test ID node of current test. Default: string.Empty. |
CurrentTestTestDirectory |
string { get; set; } |
Test directory location. Default: string.Empty. |
CurrentTestOriginalTestDirectory |
string { get; set; } |
Original test directory location. Default: string.Empty. |
ROI |
bool { get; set; } |
Indicates ROI (Region of Interest) mode. Default: false. |
Recovery |
bool { get; set; } |
Indicates Recovery mode. Default: false. |
FoldersCopied |
bool { get; set; } |
Prevents unnecessary re-copying of folders (DASConfigs, SETUP, etc.) when running from Download tile. |
ErrorCallback |
ErrorCallback { get; set; } |
Callback for error handling. |
Reset |
void Reset() |
Resets all parameters to default values. Does NOT reset FoldersCopied, ProceedWhenDone, or RequireAllDASFinish. |
ToString |
string ToString() |
Returns empty string (implementation appears incomplete). |
DownloadStatusInformation Class
Implements: IStatusInfo
| Member | Signature | Description |
|---|---|---|
StatusValues |
enum |
Status values for consumer notification: Preparing, Downloading, CaptureAttributes, Failed, ROIFailed, Completed, Cancelling, Cancelled, CancelledPartial, DownloadDirectory, MissingHardware, NoDataToDownload, NotAllChannelsDownloaded, ExistingFiles, CleaningUp, QueryEventData. |
CancelEvent |
ManualResetEvent |
Signals that cancel was requested. Initialized to false (non-signaled). |
DoneEvent |
ManualResetEvent |
Signals when download operation is finished. Initialized to false. |
CompleteAction |
ActionCompleteDelegate { get; set; } |
Action invoked on completion. |
ProgressAction |
SetProgressValueDelegate { get; set; } |
Action invoked for progress notifications. |
StatusAction |
StatusIntDelegate { get; set; } |
Action invoked for status notifications. |
StatusExAction |
StatusExIntDelegate { get; set; } |
Action invoked for extended status notifications. |
AllDASFinished |
bool { get; set; } |
Indicates whether all DAS units completed download. Default: false. |
Reset |
void Reset() |
Resets status fields to defaults and nulls all delegate actions. |
Download |
void Download() |
Starts asynchronous download operation; returns immediately. Spawns internal task via Task.Run(). |
Cancel |
async Task Cancel() |
Requests cancellation and waits for acknowledgment. Sets CancelEvent, invokes Cancelling status, waits 100ms, then waits on DoneEvent, and invokes Cancelled status. |
DirectoryCopy |
bool DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs, DownloadParameters param, ref bool copied, bool uploadingData) |
Copies directory contents |