66 lines
3.4 KiB
Markdown
66 lines
3.4 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.CommonCore/Enums/Channels/ChannelCodeType.cs
|
||
|
|
generated_at: "2026-04-16T02:44:43.138694+00:00"
|
||
|
|
model: "Qwen/Qwen3-Coder-Next-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "de8650eabd4f19a6"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Channels
|
||
|
|
|
||
|
|
### **Purpose**
|
||
|
|
This module defines shared enumerations and constants related to channel code types within the DTS system. It standardizes the representation and validation of channel codes—specifically distinguishing between standardized ISO 13499-compliant codes and custom user-defined codes—ensuring consistency across modules that handle channel identification and data exchange.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### **Public Interface**
|
||
|
|
All members are defined in the nested `ChannelCodeType` enum and constant fields inside the `ChannelEnumsAndConstants` class:
|
||
|
|
|
||
|
|
- **`ChannelEnumsAndConstants.ChannelCodeType`**
|
||
|
|
*Type:* `enum`
|
||
|
|
*Values:*
|
||
|
|
- `ISO` — Represents an ISO 13499-compliant channel code.
|
||
|
|
- `User` — Represents a user-defined channel code.
|
||
|
|
|
||
|
|
- **`ChannelEnumsAndConstants.IsoCodeTypeString`**
|
||
|
|
*Type:* `const string`
|
||
|
|
*Value:* `"ISO 13499"`
|
||
|
|
*Purpose:* Human-readable identifier for the ISO channel code type; likely used for serialization, logging, or UI display.
|
||
|
|
|
||
|
|
- **`ChannelEnumsAndConstants.UserCodeTypeString`**
|
||
|
|
*Type:* `const string`
|
||
|
|
*Value:* `"User"`
|
||
|
|
*Purpose:* Human-readable identifier for the user-defined channel code type.
|
||
|
|
|
||
|
|
- **`ChannelEnumsAndConstants.ISO_CODE_LENGTH`**
|
||
|
|
*Type:* `const int`
|
||
|
|
*Value:* `16`
|
||
|
|
*Purpose:* Expected fixed length (in characters) of an ISO-compliant channel code string.
|
||
|
|
|
||
|
|
- **`ChannelEnumsAndConstants.USER_CODE_LENGTH`**
|
||
|
|
*Type:* `const int`
|
||
|
|
*Value:* `50`
|
||
|
|
*Purpose:* Maximum allowed length (in characters) of a user-defined channel code string.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### **Invariants**
|
||
|
|
- A channel code string of type `ISO` **must** be exactly `16` characters long (`ISO_CODE_LENGTH`).
|
||
|
|
- A channel code string of type `User` **must not exceed** `50` characters (`USER_CODE_LENGTH`).
|
||
|
|
- The enum `ChannelCodeType` has only two valid values: `ISO` and `User`. No other states are defined.
|
||
|
|
- The string constants `IsoCodeTypeString` and `UserCodeTypeString` are fixed and must not be modified at runtime.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### **Dependencies**
|
||
|
|
- **Internal:** Depends only on core .NET types (`string`, `int`, `enum`). No external NuGet or third-party dependencies.
|
||
|
|
- **Consumers:** Likely referenced by modules handling channel configuration, message parsing, or data validation (e.g., serialization/deserialization logic, UI components, or database mapping layers). The namespace `DTS.Common.Enums.Channels` suggests it is part of a shared `DTS.CommonCore` library used across multiple components.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### **Gotchas**
|
||
|
|
- The `ChannelCodeType` enum is defined *inside* a class (`ChannelEnumsAndConstants`) rather than as a top-level type—this is unconventional for enums and may cause confusion (e.g., `ChannelEnumsAndConstants.ChannelCodeType` vs. `ChannelCodeType`).
|
||
|
|
- No validation logic is provided in this module; consumers must enforce length constraints (`ISO_CODE_LENGTH`, `USER_CODE_LENGTH`) themselves.
|
||
|
|
- The `IsoCodeTypeString` and `UserCodeTypeString` values are hardcoded strings; mismatched usage (e.g., `"ISO"` instead of `"ISO 13499"`) could cause interoperability issues if external systems expect exact string matches.
|
||
|
|
- No documentation is provided on how `ChannelCodeType` maps to actual channel code strings (e.g., encoding scheme for ISO codes).
|