5.3 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||||
|---|---|---|---|---|---|---|---|---|
|
2026-04-16T12:20:35.290001+00:00 | zai-org/GLM-5-FP8 | 1 | 7b8cfe6060429ed5 |
ISO Settings Module Documentation
1. Purpose
This module defines the contract for ISO (International Organization for Standardization) settings management within the DTS system. It establishes a Model-View-ViewModel (MVVM) architecture through four interfaces that govern how ISO-related configuration data is stored, displayed, and manipulated. The module provides a decoupled interface layer allowing implementations to vary without affecting dependent components.
2. Public Interface
IISOSettingsView
Namespace: DTS.Common.Interface
Inherits: IBaseView
A marker interface representing the view component in the MVVM pattern. Contains no members beyond those inherited from IBaseView.
IISOSettingsModel
Namespace: DTS.Common.Interface
Inherits: IBaseModel
Defines the data persistence contract for ISO settings.
| Method | Signature | Description |
|---|---|---|
SaveData |
void SaveData(IISOSettingsData data) |
Persists the provided ISO settings data. |
LoadData |
IISOSettingsData LoadData() |
Retrieves and returns the stored ISO settings data. |
IISOSettingsViewModel
Namespace: DTS.Common.Interface
Inherits: IBaseViewModel
Defines the coordinator between view and model for ISO settings.
| Property | Type | Access | Description |
|---|---|---|---|
View |
IISOSettingsView |
get/set | Reference to the associated view instance. |
ISOData |
IISOSettingsData |
get/set | The ISO settings data being managed. |
Model |
IISOSettingsModel |
get/set | Reference to the model for data operations. |
IISOSettingsData
Namespace: DTS.Common.Interface
Inherits: IBaseClass
Defines the data structure for ISO configuration settings.
| Property | Type | Access | Description |
|---|---|---|---|
UniqueISOCodesRequired |
bool |
get/set | Controls whether ISO codes must be unique. |
ISOViewMode |
IsoViewMode |
get/set | Determines the view mode for ISO display. |
ShowISOStringBuilder |
bool |
get/set | Controls visibility of ISO string builder UI. |
ShowChannelCodeLookupHelper |
bool |
get/set | Controls visibility of channel code lookup helper. |
UseISOCodeFilterMapping |
bool |
get/set | Enables/disables ISO code filter mapping. |
ShowISOCodes |
bool |
get only | Indicates whether ISO codes should be displayed. |
ShowUserCodes |
bool |
get only | Indicates whether user codes should be displayed. |
ChannelNamesOnly |
bool |
get only | Indicates whether only channel names are shown. |
3. Invariants
- Inheritance Hierarchy: All interfaces in this module inherit from base interfaces in
DTS.Common.Base(IBaseView,IBaseModel,IBaseViewModel,IBaseClass). Implementations must satisfy these base contracts. - Read-only Properties: The properties
ShowISOCodes,ShowUserCodes, andChannelNamesOnlyonIISOSettingsDataare read-only. Their values must be derived from other state (likely computed fromISOViewModeor other properties), but the derivation logic is not specified in these interfaces. - ViewModel Composition:
IISOSettingsViewModelrequires non-null references toView,Model, andISODatafor proper operation (implied by the architecture, though not enforced at interface level).
4. Dependencies
This module depends on:
DTS.Common.Base— Provides base interfaces (IBaseView,IBaseModel,IBaseViewModel,IBaseClass) that all ISO settings interfaces extend.DTS.Common.Enums— Provides theIsoViewModeenum used inIISOSettingsData.ISOViewMode.
What depends on this module:
- Unclear from source alone. Concrete implementations of these interfaces and any consumers of
IISOSettingsView,IISOSettingsModel,IISOSettingsViewModel, orIISOSettingsDataare not present in the provided files.
5. Gotchas
- Naming Inconsistency: The file name
IisoSettingsView.csuses lowercase "iso" while the interface name isIISOSettingsView(uppercase). The file includes a// ReSharper disable InconsistentNamingdirective inIISOSettingsViewModel.cs, suggesting naming conventions around "ISO" have been a point of friction. - Read-only Property Derivation: The three read-only properties on
IISOSettingsData(ShowISOCodes,ShowUserCodes,ChannelNamesOnly) have no visible implementation. Their relationship toISOViewModeor other writable properties is not documented in these interfaces—implementers must consult concrete implementations or other documentation. - Empty View Interface:
IISOSettingsViewdefines no members beyond its base interface. This may indicate either a placeholder for future expansion or that all view behavior is defined inIBaseView.