41 lines
2.7 KiB
Markdown
41 lines
2.7 KiB
Markdown
|
|
---
|
|||
|
|
source_files:
|
|||
|
|
- Common/DTS.Common/Enums/SettingsExport/TopLevelFields.cs
|
|||
|
|
generated_at: "2026-04-16T03:19:43.404409+00:00"
|
|||
|
|
model: "Qwen/Qwen3-Coder-Next-FP8"
|
|||
|
|
schema_version: 1
|
|||
|
|
sha256: "342aa68e489c8962"
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# SettingsExport
|
|||
|
|
|
|||
|
|
### 1. **Purpose**
|
|||
|
|
This module defines a strongly-typed enumeration (`TopLevelFields`) that enumerates the valid top-level XML element names used in settings export/serialization contexts within the DTS system. It serves as a canonical source of truth for root-level XML tags, ensuring consistency across components that generate, parse, or validate settings export XML documents.
|
|||
|
|
|
|||
|
|
### 2. **Public Interface**
|
|||
|
|
The module exposes only one public type:
|
|||
|
|
|
|||
|
|
- **`TopLevelFields`** (`enum`)
|
|||
|
|
Represents the set of allowed root-level XML element names in settings export files.
|
|||
|
|
Members:
|
|||
|
|
- `GlobalSettings`
|
|||
|
|
- `TestSetupDefaultSettings`
|
|||
|
|
- `SensorSettings`
|
|||
|
|
- `TestHistorySettings`
|
|||
|
|
|
|||
|
|
Each member corresponds to a specific logical section of configuration data in the exported XML.
|
|||
|
|
|
|||
|
|
### 3. **Invariants**
|
|||
|
|
- The enum values are exhaustive and fixed; no new members may be added without updating all consumers that rely on this set (e.g., XML serializers/deserializers, schema validators).
|
|||
|
|
- The underlying type is `int` (default for C# enums), but values are not explicitly assigned and thus default to `0`, `1`, `2`, `3` respectively.
|
|||
|
|
- Only these four values are considered valid root tags; any other XML root element name is invalid per this specification.
|
|||
|
|
|
|||
|
|
### 4. **Dependencies**
|
|||
|
|
- **No external dependencies**: This file contains only a self-contained enum definition with no `using` directives or references to other types.
|
|||
|
|
- **Consumers**: Based on naming and documentation, this enum is likely used by modules responsible for XML serialization/deserialization of settings (e.g., in `DTS.Common` or downstream projects like `DTS.Export`, `DTS.Settings`). Exact consumers are not visible in this file but would typically be in XML processing or configuration modules.
|
|||
|
|
|
|||
|
|
### 5. **Gotchas**
|
|||
|
|
- **No explicit values assigned**: The enum relies on default sequential integer values (`0`–`3`). If serialization/deserialization logic depends on specific numeric values (e.g., for backward compatibility or binary formats), this could be fragile.
|
|||
|
|
- **No documentation for semantics**: While the XML tag names are listed, the *meaning* or *schema* of each settings section (e.g., what fields belong under `SensorSettings`) is not defined here and must be found elsewhere.
|
|||
|
|
- **Namespace is specific**: The `DTS.Common.Enums.SettingsExport` namespace suggests this enum is part of a larger settings export domain model; using it outside that context may be inappropriate.
|
|||
|
|
- **None identified from source alone.**
|