Files
DP44/docs/ai/Common/DTS.CommonCore/Interface/DownloadEvent.md
2026-04-17 14:55:32 -04:00

2.2 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Interface/DownloadEvent/IDownloadEvent.cs
2026-04-17T16:25:53.216988+00:00 zai-org/GLM-5-FP8 1 133af851e3ef2c89

DownloadEvent

Purpose

This module defines IDownloadEvent, an interface representing a download event within the DTS system. It appears to model individual events in a multi-event download scenario (referenced by FB 6399), providing properties for event identification, UI state management, and duration tracking. The interface extends INotifyPropertyChanged, indicating it is designed for data-binding scenarios in a UI layer.

Public Interface

IDownloadEvent (extends INotifyPropertyChanged)

Property Type Access Description
EventNumber int get/set Numeric identifier for the download event.
EventNumberDisplay string get/set Display string representation of the event number.
IsEnabled bool get/set Controls whether the event is enabled for interaction.
IsReadonly bool get/set Controls whether the event is in a read-only state.
IsDefault bool get Indicates whether this event is the default selection.
EventLength TimeSpan get/set Total length available for the download event.
ShouldDisplayLength bool get/set Controls whether event length is displayed in the UI.

Invariants

  • Implementations must raise PropertyChanged events (inherited from INotifyPropertyChanged) when any property value changes.
  • The relationship between EventNumber and EventNumberDisplay is not defined by the interface; they may or may not be synchronized.

Dependencies

  • Depends on: System, System.ComponentModel (for INotifyPropertyChanged).
  • Depended on by: Cannot be determined from source alone.

Gotchas

  • The reference "FB 6399" in the comment suggests this interface was created or modified in response to a feature request or bug fix; historical context may be found in issue tracking.
  • The interface does not define how IsDefault is determined; it is read-only, implying it is computed or set internally by implementations.