41 lines
2.2 KiB
Markdown
41 lines
2.2 KiB
Markdown
|
|
---
|
||
|
|
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.
|
||
|
|
|
||
|
|
---
|