Files
DP44/docs/ai/DataPRO/Modules/DatabaseImporter/DatabaseImport/Classes.md

54 lines
4.9 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
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.
---