--- source_files: - DataPRO/Modules/DatabaseImporter/DatabaseImport/Classes/Constants.cs - DataPRO/Modules/DatabaseImporter/DatabaseImport/Classes/Enums.cs generated_at: "2026-04-17T16:28:42.803827+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "9657b5b95f022b50" --- # Classes ### Purpose This module provides core constant and enumeration definitions for the DatabaseImport subsystem. It defines sentinel values for non-ISO test object handling, recording mode configurations, sensor compatibility levels, and an extensive taxonomy of test template tags used throughout the test configuration and execution pipeline. ### Public Interface **`Constants` (static class)** - `public const string NON_ISO_TESTOBJECT_CHANNEL_TYPE = "x_NonISOTestObjectType_x"` — Sentinel string value identifying non-ISO test object channel types. - `public const string NON_ISO_TESTOBJECT_NAME = "x_NonISOTestObjectName_x"` — Sentinel string value identifying non-ISO test object names. **`RecordingModes` (enum)** - `CircularBuffer` — Recording mode using circular buffer, description "RecordingModes_CircularBuffer". - `Recorder` — Standard recorder mode, description "RecordingModes_Recorder". - `HybridRecorder` — Hybrid recorder mode, description "RecordingModes_HybridRecorder". - Decorated with `[TypeConverter(typeof(EnumDescriptionTypeConverter))]` for description-based conversion. **`IsoChannelSensorCompatibilityLevels` (enum)** - `DontWarn` — No warning for compatibility issues. - `Warn` — Warn on compatibility issues. - `DontAllow` — Block on compatibility issues. **`TestTemplateTags` (enum)** - Extensive enumeration with 100+ values including: `UploadData`, `UploadExportsOnly`, `UploadFolder`, `CommonLine`, `AllCustomers`, `AllTestEngineers`, `AllLabs`, `Test`, `AllowMissingSensors`, `AllowSensorIdToBlankChannel`, `AutomaticProgression`, `AutomaticProgressionDelayMS`, `InvertTriggerCompletion`, `TriggerCheckStep`, `PostTestDiagnostics`, `TriggerCheckRealtime`, `InvertStartRecordCompletion`, `ViewDiagnostics`, `VerifyChannels`, `AutoVerifyProgress`, `AutoVerifyDelaySeconds`, `TestGraphs`, `GraphCount`, `Name`, `TestId`, `SetupFile`, `Description`, `AvailableTestObjects`, `SamplesPerSecond`, `SampleRateText`, `PreTriggerSeconds`, `PostTriggerSeconds`, `RecordingMode`, `RecordingModeText`, `StrictDiagnostics`, `TestObjects`, `AllTestObjects`, `SysBuiltTestObjects`, `RequireUserConfirmationOnErrors`, `DoROIDownload`, `ROIButtonVisibility`, `ViewROIDownload`, `ViewROIDownloadButtonVisibility`, `DownloadAll`, `DownloadAllButtonVisibility`, `ViewRealtime`, `ViewRealtimeButtonVisibility`, `RegionsOfInterest`, `ROIStart`, `ROIEnd`, `ViewDownloadAll`, `ViewDownloadAllButtonVisibility`, `ViewExport`, `ViewExportButtonVisibility`, `ExportFormats`, `DownloadFolder`, `ExportFolder`, `SameAsDownloadFolder`, `TestTime`, `LabDetails`, `CustomerDetails`, `TestEngineerDetails`, `DefaultNumberRealtimeGraphs`, `GraphDetailsVisibility`, `CurrentGraph`, `UseCustomerDetails`, `UseTestEngineerDetails`, `TurnOffExcitation`, `UseLabratoryDetails`, `TestDirectory`, `OriginalTestDirectory`, `LocalOnly`, `LastModified`, `LastMmodifiedBy`, `ExpressTestSetup`, `EW`, `ExcitationWarmupTimeMS`, `ArmCheckListStep`, `CheckListBatteryVoltageCheck`, `CheckListInputVoltageCheck`, `CheckListSquibResistanceCheck`, `CheckListSensorIDCheck`, `CheckListTriggerStartCheck`, `CheckListMustPass`, `WarnOnFailedBattery`, `HardwareOverrides`, `DoAutoArm`, `SysBuiltTestObjectTypes`, `AddedGroupRemoved`, `CheckoutMode`, `QuitTestWithoutWarning`, `SuppressMissingSensorsWarning`, `ISFFile`, `TestObjectsAndAddedGroups`, `NotAllChannelsRealTime`, `NotAllChannelsViewer`, `GroupsStepValid`. **`StrictLevel` (enum)** - `Strict` — Strict validation mode. - `UpdateTable` — Update table mode. ### Invariants - The sentinel constants `NON_ISO_TESTOBJECT_CHANNEL_TYPE` and `NON_ISO_TESTOBJECT_NAME` use distinctive `x_..._x` delimiters to avoid collision with legitimate values. - `RecordingModes` values are paired with description strings via `[Description]` attributes; the `EnumDescriptionTypeConverter` must be available at runtime for proper conversion. - `TestTemplateTags` enum values map to configuration keys/tags; the enum serves as a type-safe accessor for template properties. ### Dependencies - **Depends on**: `System`, `System.ComponentModel` (for `TypeConverter` and `DescriptionAttribute`). - **Depended on by**: Unclear from source alone; likely consumed by test configuration, validation, and database import logic throughout the DatabaseImporter module. ### Gotchas - The `TestTemplateTags` enum contains a typo: `UseLabratoryDetails` (should be "Laboratory"). This typo may be persisted in configuration files or databases. - The `LastMmodifiedBy` tag has a typo (double 'm'). This may affect configuration key lookups. - The sentinel values in `Constants` use `x_` prefix and `_x` suffix pattern; code matching these values must use exact string comparison. ---