--- 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.**