Files
DP44/docs/ai/Common/DTS.CommonCore/Interface/DownloadEvent.md

41 lines
2.2 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Interface/DownloadEvent/IDownloadEvent.cs
generated_at: "2026-04-17T16:25:53.216988+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "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.
---