init
This commit is contained in:
39
docs/ai/Common/DTS.CommonCore/Interface/BuildTestSetup.md
Normal file
39
docs/ai/Common/DTS.CommonCore/Interface/BuildTestSetup.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/BuildTestSetup/IBuildTestSetup.cs
|
||||
generated_at: "2026-04-17T16:25:53.219851+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "8a0bd4f98bf0d795"
|
||||
---
|
||||
|
||||
# BuildTestSetup
|
||||
|
||||
### Purpose
|
||||
This module defines `IBuildTestSetup`, a comprehensive configuration interface for test setup in a Data Acquisition System (DAS). It encapsulates all aspects of test configuration including hardware identification (DAS serial number), recording parameters (sample rate, trigger settings), diagnostic checklist options, download behavior, and extensive export format preferences. The interface supports property change notification for UI binding.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IBuildTestSetup`** (extends `INotifyPropertyChanged`)
|
||||
|
||||
**Identification & Metadata:**
|
||||
- `string DASSerialNumber { get; set; }` - Serial number of the DAS unit.
|
||||
- `string SetupName { get; set; }` - Name of the test setup.
|
||||
- `string SetupDescription { get; set; }` - Description of the test setup.
|
||||
- `string LastModified { get; set; }` - Timestamp of last modification.
|
||||
- `string LastModifiedBy { get; set; }` - User who last modified the setup.
|
||||
|
||||
**Recording Configuration:**
|
||||
- `string AutomaticMode { get; set; }`
|
||||
- `string AutomaticModeDelay { get; set; }`
|
||||
- `string RecordingMode { get; set; }`
|
||||
- `string SamplesPerSecond { get; set; }`
|
||||
- `string PreTriggerSeconds { get; set; }`
|
||||
- `string PostTriggerSeconds { get; set; }`
|
||||
- `string NumberOfEvents { get; set; }`
|
||||
- `string WakeUpMotionTimeout { get; set; }`
|
||||
- `string ExcitationWarmupTimeMS { get; set; }`
|
||||
|
||||
**Diagnostic & Checklist Options:**
|
||||
- `string StrictDiagnostics { get; set; }`
|
||||
- `string RequireConfirmationOn
|
||||
74
docs/ai/Common/DTS.CommonCore/Interface/Channels.md
Normal file
74
docs/ai/Common/DTS.CommonCore/Interface/Channels.md
Normal file
@@ -0,0 +1,74 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Channels/IChannelSettingRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Channels/IGroupChannelSettingRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Channels/IChannelCode.cs
|
||||
- Common/DTS.CommonCore/Interface/Channels/IChannelSetting.cs
|
||||
- Common/DTS.CommonCore/Interface/Channels/IChannelDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Channels/IGroupChannel.cs
|
||||
generated_at: "2026-04-17T15:35:42.370595+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "fe273a540c2ecd1d"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.Channels
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core interfaces for the channel management subsystem within DTS. It provides abstractions for channel configuration persistence (`IChannelDbRecord`), channel settings with type-agnostic value access (`IChannelSetting`, `IChannelSettingRecord`, `IGroupChannelSettingRecord`), channel code identification (`IChannelCode`), and the comprehensive `IGroupChannel` interface that orchestrates the relationship between hardware channels, sensors, calibration data, and test configuration. These interfaces serve as the contract between the data layer, business logic, and UI components for channel-related operations.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IChannelSettingRecord
|
||||
Defines a channel setting type definition with a default value.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `Id` | `int Id { get; set; }` | Unique identifier for the setting type. |
|
||||
| `SettingName` | `string SettingName { get; set; }` | Name of the setting. |
|
||||
| `DefaultValue` | `string DefaultValue { get; set; }` | Default value for this setting type. |
|
||||
|
||||
### IGroupChannelSettingRecord
|
||||
Defines a specific setting value applied to a channel.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `ChannelId` | `long ChannelId { get; set; }` | ID of the channel this setting belongs to. |
|
||||
| `SettingId` | `int SettingId { get; set; }` | ID referencing the setting type. |
|
||||
| `SettingValue` | `string SettingValue { get; set; }` | The value applied to this channel. |
|
||||
|
||||
### IChannelCode
|
||||
Defines a channel code with type classification.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `Id` | `int Id { get; }` | Unique identifier (read-only). |
|
||||
| `Code` | `string Code { get; }` | The code string. |
|
||||
| `Name` | `string Name { get; }` | Display name. |
|
||||
| `CodeType` | `ChannelEnumsAndConstants.ChannelCodeType CodeType { get; }` | Type classification of the channel code. |
|
||||
|
||||
### IChannelSetting
|
||||
Defines a channel setting with typed value accessors and cloning capability.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `ChannelId` | `long ChannelId { get; set; }` | ID of the associated channel. |
|
||||
| `SettingTypeId` | `int SettingTypeId { get; }` | ID of the setting type (read-only). |
|
||||
| `SettingName` | `string SettingName { get; }` | Name of the setting (read-only). |
|
||||
| `DefaultValue` | `string DefaultValue { get; }` | Default value for this setting (read-only). |
|
||||
| `Value` | `string Value { get; set; }` | Raw string value. |
|
||||
| `IntValue` | `int IntValue { get; set; }` | Integer representation of the value. |
|
||||
| `DoubleValue` | `double DoubleValue { get; set; }` | Double representation of the value. |
|
||||
| `BoolValue` | `bool BoolValue { get; set; }` | Boolean representation of the value. |
|
||||
| `Clone` | `IChannelSetting Clone()` | Creates a copy of this setting instance. |
|
||||
|
||||
### IChannelDbRecord
|
||||
Defines the database schema for a channel record with Entity Framework attributes.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `Id` | `long Id { get; set; }` | Primary key, mapped to column "Id". |
|
||||
| `GroupId` | `int GroupId
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Channels/ChannelCodes/IChannelCodesListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Channels/ChannelCodes/IChannelCodesListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Channels/ChannelCodes/IChannelCode.cs
|
||||
generated_at: "2026-04-17T16:35:31.488668+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c5ac64d4a1bfdb6b"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.Channels.ChannelCodes
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for a channel code management UI component within the DTS system. It provides interfaces for displaying, editing, and validating both ISO-standard and user-defined channel codes through a list-based view. The module separates concerns between the view (`IChannelCodesListView`), the view model (`IChannelCodesListViewModel`), and the individual data items (`IChannelCode`), enabling a Model-View-ViewModel (MVVM) architecture for channel code configuration.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IChannelCodesListView`
|
||||
**Signature:** `public interface IChannelCodesListView : IBaseView`
|
||||
|
||||
A marker interface extending `IBaseView` with no additional members. Represents the view abstraction for the channel codes list UI.
|
||||
|
||||
---
|
||||
|
||||
### `IChannelCodesListViewModel`
|
||||
**Signature:** `public interface IChannelCodesListViewModel : IBaseViewModel`
|
||||
|
||||
The primary interface for managing channel code lists.
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `View` | `IChannelCodesListView` | Gets or sets the associated view instance. |
|
||||
| `ISOChannelCodes` | `ObservableCollection<IChannelCode>` | Collection of ISO channel codes displayed in the UI. |
|
||||
| `UserChannelCodes` | `ObservableCollection<IChannelCode>` | Collection of user-defined channel codes displayed in the UI. |
|
||||
| `ChannelCodesFunc` | `Func<IList<IChannelCode>>` | A function delegate that returns a list of channel codes. |
|
||||
| `ShowISOStringBuilder` | `bool` | Controls visibility of the ISO string builder UI element. |
|
||||
| `UniqueISOCodesRequired` | `bool` | Indicates whether ISO codes must be unique. |
|
||||
| `ShowChannelCodeLookupHelper` | `bool` | Controls visibility of the channel code lookup helper UI element. |
|
||||
| `IsReadOnly` | `bool` | Controls whether the UI is in read-only mode. |
|
||||
| `SelectedCodes` | `IChannelCode[]` | Returns an array of currently selected channel codes. |
|
||||
|
||||
**Methods:**
|
||||
|
||||
| Method | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `Unset` | `void Unset()` | Clears or resets the view model state. |
|
||||
| `SetPage` | `void SetPage(object page)` | Associates a page object with the view model. |
|
||||
| `OnSetActive` | `void OnSetActive()` | Called when the view becomes active. |
|
||||
| `Save` | `bool Save()` | Persists changes; returns success status. |
|
||||
| `Validate` | `bool Validate(bool bDisplayWindow)` | Validates the current state; `bDisplayWindow` controls whether validation errors are shown in a UI window. |
|
||||
| `CopySelected` | `void CopySelected()` | Copies the currently selected channel codes. |
|
||||
| `DeleteSelected` | `void DeleteSelected()` | Deletes the currently selected channel codes. |
|
||||
| `Filter` | `void Filter(object columnTag, string searchTerm)` | Filters the displayed items based on a column tag and search term. |
|
||||
| `Sort` |
|
||||
61
docs/ai/Common/DTS.CommonCore/Interface/CheckChannels.md
Normal file
61
docs/ai/Common/DTS.CommonCore/Interface/CheckChannels.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/CheckChannels/ICheckChannelsView.cs
|
||||
- Common/DTS.CommonCore/Interface/CheckChannels/ICheckChannelsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/CheckChannels/ICheckChannelsMenuView.cs
|
||||
- Common/DTS.CommonCore/Interface/CheckChannels/ICheckChannelsMenuViewModel.cs
|
||||
generated_at: "2026-04-17T16:34:43.911097+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "3147d34744b82543"
|
||||
---
|
||||
|
||||
# Documentation: CheckChannels Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines four marker interfaces for the CheckChannels feature within the DTS application, following the Model-View-ViewModel (MVVM) architectural pattern. These interfaces establish contracts for View and ViewModel components, separating the main CheckChannels view from its Ribbon-based menu interface. They serve as extension points for type identification, dependency injection, and navigation registration within the broader system.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ICheckChannelsView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inherits from:** `DTS.Common.Base.IBaseView`
|
||||
- **Signature:** `public interface ICheckChannelsView : IBaseView { }`
|
||||
- **Description:** Marker interface for the primary CheckChannels view. Defines no additional members beyond its base interface.
|
||||
|
||||
### `ICheckChannelsViewModel`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inherits from:** `DTS.Common.Base.IBaseViewModel`
|
||||
- **Signature:** `public interface ICheckChannelsViewModel : IBaseViewModel { }`
|
||||
- **Description:** Marker interface for the CheckChannels ViewModel. Defines no additional members beyond its base interface.
|
||||
|
||||
### `ICheckChannelsMenuView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inherits from:** `DTS.Common.RibbonControl.IRibbonView`
|
||||
- **Signature:** `public interface ICheckChannelsMenuView : IRibbonView { }`
|
||||
- **Description:** Marker interface for the CheckChannels Ribbon menu view. Defines no additional members beyond its base interface.
|
||||
|
||||
### `ICheckChannelsMenuViewModel`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inherits from:** `DTS.Common.RibbonControl.IRibbonViewModel`
|
||||
- **Signature:** `public interface ICheckChannelsMenuViewModel : IRibbonViewModel { }`
|
||||
- **Description:** Marker interface for the CheckChannels Ribbon menu ViewModel. Defines no additional members beyond its base interface.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All four interfaces are marker interfaces with no additional members; any invariants must be defined by their respective base interfaces (`IBaseView`, `IBaseViewModel`, `IRibbonView`, `IRibbonViewModel`).
|
||||
- The View/ViewModel pairing convention implies that `ICheckChannelsView` should be paired with `ICheckChannelsViewModel`, and `ICheckChannelsMenuView` should be paired with `ICheckChannelsMenuViewModel`.
|
||||
- The separation of "Menu" interfaces suggests a distinction between the main view and a Ribbon-specific menu view, but specific behavioral constraints are not defined in these interfaces.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — provides `IBaseView` and `IBaseViewModel` base interfaces
|
||||
- `DTS.Common.RibbonControl` — provides `IRibbonView` and `IRibbonViewModel`
|
||||
47
docs/ai/Common/DTS.CommonCore/Interface/CheckTrigger.md
Normal file
47
docs/ai/Common/DTS.CommonCore/Interface/CheckTrigger.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/CheckTrigger/ICheckTriggerView.cs
|
||||
- Common/DTS.CommonCore/Interface/CheckTrigger/ICheckTriggerViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:18.184208+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "a2e651bebe370a84"
|
||||
---
|
||||
|
||||
# Documentation: ICheckTriggerView and ICheckTriggerViewModel
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two marker interfaces—`ICheckTriggerView` and `ICheckTriggerViewModel`—that establish the View and ViewModel contracts for a "CheckTrigger" feature within an MVVM (Model-View-ViewModel) architecture. These interfaces serve as type identifiers, inheriting from base framework interfaces (`IBaseView` and `IBaseViewModel` respectively) without adding additional members. They exist to enable type-safe binding, dependency injection, or navigation registration within the DTS.CommonCore system.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ICheckTriggerView`
|
||||
- **Signature:** `public interface ICheckTriggerView : IBaseView { }`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Behavior:** Empty marker interface extending `IBaseView`. Provides no additional members beyond those inherited from `IBaseView`. Intended to be implemented by View components associated with CheckTrigger functionality.
|
||||
|
||||
### `ICheckTriggerViewModel`
|
||||
- **Signature:** `public interface ICheckTriggerViewModel : IBaseViewModel { }`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Behavior:** Empty marker interface extending `IBaseViewModel`. Provides no additional members beyond those inherited from `IBaseViewModel`. Intended to be implemented by ViewModel components associated with CheckTrigger functionality.
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Any class implementing `ICheckTriggerView` must also satisfy the contract of `IBaseView` (defined in `DTS.Common.Base`).
|
||||
- Any class implementing `ICheckTriggerViewModel` must also satisfy the contract of `IBaseViewModel` (defined in `DTS.Common.Base`).
|
||||
- The actual member requirements for these interfaces are determined entirely by their base interfaces, which are not shown in the provided source.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unclear from source alone.** Consumers would include any View or ViewModel classes implementing these interfaces, as well as any navigation, routing, or dependency injection infrastructure that registers or resolves these types.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Marker interfaces with no members:** Neither interface defines any properties, methods, or events. All contractual behavior is inherited from `IBaseView` and `IBaseViewModel`. Developers implementing these interfaces must consult the base interface definitions to understand required members.
|
||||
- **Naming convention:** The "CheckTrigger" naming suggests a specific feature domain, but the purpose and behavior of this feature cannot be determined from these interface definitions alone.
|
||||
- **No explicit View-ViewModel pairing:** While the naming suggests these interfaces are paired (View/ViewModel), there is no compile-time enforcement of this relationship in the source.
|
||||
57
docs/ai/Common/DTS.CommonCore/Interface/Communication.md
Normal file
57
docs/ai/Common/DTS.CommonCore/Interface/Communication.md
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Communication/ICommunicationReport.cs
|
||||
- Common/DTS.CommonCore/Interface/Communication/IDASConnectedDevice.cs
|
||||
- Common/DTS.CommonCore/Interface/Communication/ICommunication_DASInfo.cs
|
||||
generated_at: "2026-04-17T16:35:08.973224+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "2d2df26efcd514a6"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.Communication
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines three interfaces for communication-related data structures within the DTS system. `ICommunicationReport` provides a standard contract for communication operation results, encapsulating status, result codes, and payload data. `IDASConnectedDevice` describes hardware devices connected to a Data Acquisition System (DAS), capturing physical and logical identification properties. `ICommunication_DASInfo` aggregates information about a DAS unit itself, including its connected devices, serial numbers, firmware versions, and feature support flags. These interfaces support the auto-discovery and monitoring of DAS hardware status.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ICommunicationReport`
|
||||
|
||||
A data transfer interface for reporting communication operation outcomes.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `UserState` | `object { get; set; }` | Arbitrary user state associated with the communication operation. |
|
||||
| `Result` | `CommunicationConstantsAndEnums.CommunicationResult { get; set; }` | The result status of the communication operation. |
|
||||
| `Data` | `byte[] { get; set; }` | Raw byte payload from the communication operation. |
|
||||
|
||||
---
|
||||
|
||||
### `IDASConnectedDevice`
|
||||
|
||||
Describes a device physically connected to a DAS unit (e.g., an S6 connected to an S6DB).
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `DeviceType` | `HardwareTypes { get; }` | The hardware type classification of the connected device. |
|
||||
| `Port` | `int { get; }` | The port index on the DAS where the device is connected (0-based). |
|
||||
| `SpotOnPort` | `int { get; }` | The position in the daisy chain on the given port (0-based). |
|
||||
| `PhysicalAddress` | `PhysicalAddress { get; }` | The MAC address or physical address of the device. |
|
||||
| `IPAddress` | `string { get; }` | The IP address of the device. |
|
||||
| `SerialNumber` | `string { get; }` | The serial number of the device. |
|
||||
| `Location` | `string { get; }` | The physical location descriptor of the device. |
|
||||
| `Version` | `string { get; }` | The firmware/hardware version string of the device. |
|
||||
|
||||
---
|
||||
|
||||
### `ICommunication_DASInfo`
|
||||
|
||||
Aggregates metadata and connected device information for a DAS unit.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `ConnectedDevices` | `IDASConnectedDevice[] { get; }` | Array of devices currently connected to this D
|
||||
71
docs/ai/Common/DTS.CommonCore/Interface/Components.md
Normal file
71
docs/ai/Common/DTS.CommonCore/Interface/Components.md
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Components/IAssemblyView.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/IAssemblyListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/ITileView.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/IGroupView.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/ITileListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/IGroupListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/IAssemblyViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/IAssemblyListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/ITileViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/IGroupViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/ITileListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Components/IGroupListViewModel.cs
|
||||
generated_at: "2026-04-17T16:34:19.310098+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "e1c9470d04b176fb"
|
||||
---
|
||||
|
||||
# Documentation: View/ViewModel Component Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a set of interfaces for a Model-View-ViewModel (MVVM) architecture used to display and manage grouped assembly information in a UI. It provides interfaces for both individual item views (`IAssemblyView`, `ITileView`, `IGroupView`) and collection views (`IAssemblyListView`, `ITileListView`, `IGroupListView`), along with their corresponding ViewModel contracts. The module appears to support multiple presentation modes (Assembly, Tile, Group) for displaying assembly data with associated images.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### View Interfaces
|
||||
|
||||
| Interface | Namespace | Base | Description |
|
||||
|-----------|-----------|------|-------------|
|
||||
| `IAssemblyView` | `DTS.Common.Interface` | `IBaseView` | Marker interface for an assembly item view. No members defined. |
|
||||
| `IAssemblyListView` | `DTS.Common.Interface` | `IBaseView` | Marker interface for a collection view of assemblies. No members defined. |
|
||||
| `ITileView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a tile item view. No members defined. |
|
||||
| `IGroupView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a group item view. No members defined. |
|
||||
| `ITileListView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a collection view of tiles. No members defined. |
|
||||
| `IGroupListView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a collection view of groups. No members defined. |
|
||||
|
||||
### ViewModel Interfaces
|
||||
|
||||
#### `IAssemblyViewModel` (`DTS.Common.Interface`)
|
||||
```csharp
|
||||
public interface IAssemblyViewModel : IBaseViewModel
|
||||
{
|
||||
IAssemblyView View { get; set; }
|
||||
string GroupName { get; set; }
|
||||
List<AssemblyNameImage> AssemblyList { get; set; }
|
||||
}
|
||||
```
|
||||
Defines the contract for a ViewModel that manages a single assembly group display, including the associated view reference, group name, and list of assembly name/image pairs.
|
||||
|
||||
#### `IAssemblyListViewModel` (`DTS.Common.Interface`)
|
||||
```csharp
|
||||
public interface IAssemblyListViewModel : IBaseViewModel
|
||||
{
|
||||
IMainViewModel Parent { get; set; }
|
||||
IAssemblyListView View { get; set; }
|
||||
List<IAssemblyView> GroupList { get; set; }
|
||||
}
|
||||
```
|
||||
Defines the contract for a ViewModel that manages a collection of assembly views, with a reference to a parent `IMainViewModel`.
|
||||
|
||||
#### `ITileViewModel` (`DataPro.Common.Interface`)
|
||||
```csharp
|
||||
public interface ITileViewModel : IBaseViewModel
|
||||
{
|
||||
ITileView View { get; set; }
|
||||
string Group
|
||||
42
docs/ai/Common/DTS.CommonCore/Interface/Connection.md
Normal file
42
docs/ai/Common/DTS.CommonCore/Interface/Connection.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Connection/IConnection.cs
|
||||
generated_at: "2026-04-17T16:08:23.342605+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c423b632187ca2f1"
|
||||
---
|
||||
|
||||
# Connection
|
||||
|
||||
### Purpose
|
||||
This module defines the `IConnection` interface, which provides an abstraction layer for network socket connections. It supports both synchronous and asynchronous communication patterns, connection lifecycle management (including a "soft disconnect" state for temporary disconnections with reconnection intent), and server-side operations like binding and listening. The interface extends `IDisposable` to ensure proper resource cleanup.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**Interface: `IConnection`** (extends `IDisposable`)
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `SendAsync` | `Task<int> SendAsync(byte[] sendBuffer, int bufferStartOffset, int bufferSizeToSend)` | Asynchronously sends data from the buffer. Returns the number of bytes sent. |
|
||||
| `IsSoftDisconnected` | `bool IsSoftDisconnected { get; }` | Returns `true` if the unit is soft disconnected (voluntarily disconnected with expectation of reconnecting). |
|
||||
| `SoftDisconnect` | `void SoftDisconnect()` | Performs a soft disconnect (voluntary disconnect with intention to reconnect later). |
|
||||
| `SoftConnect` | `void SoftConnect()` | Reconnects a soft disconnected unit. |
|
||||
| `Flags` | `System.Net.Sockets.SocketFlags Flags { get; set; }` | Gets or sets socket flags for send/receive operations. |
|
||||
| `OnDisconnected` | `event EventHandler OnDisconnected` | Event raised when the connection is disconnected. |
|
||||
| `KeepAliveErrorReceived` | `void KeepAliveErrorReceived()` | Called to indicate the device has not received a timely response to keep-alive. |
|
||||
| `ConnectString` | `string ConnectString { get; }` | Gets the connection string for this connection. |
|
||||
| `Connected` | `bool Connected { get; }` | Gets whether the connection is currently active. |
|
||||
| `Create` | `void Create(string connectString)` | Initializes the connection with a connection string. |
|
||||
| `Create` | `void Create(string connectString, string hostIPAddress)` | Initializes the connection with a connection string and specific host IP address. |
|
||||
| `GetConnectionData` | `string GetConnectionData()` | Retrieves connection data as a string. |
|
||||
| `BeginConnect` | `IAsyncResult BeginConnect(AsyncCallback callback, object callbackObject)` | Begins an asynchronous connection attempt. |
|
||||
| `EndConnect` | `void EndConnect(IAsyncResult ar)` | Completes an asynchronous connection attempt. |
|
||||
| `BeginDisconnect` | `IAsyncResult BeginDisconnect(bool reuseSocket, AsyncCallback callback, object state)` | Begins an asynchronous disconnection. |
|
||||
| `EndDisconnect` | `void EndDisconnect(IAsyncResult asyncResult)` | Completes an asynchronous disconnection. |
|
||||
| `BeginAccept` | `IAsyncResult BeginAccept(AsyncCallback callback, object state)` | Begins an asynchronous operation to accept an incoming connection. |
|
||||
| `EndAccept` | `IConnection EndAccept(IAsyncResult asyncResult)` | Completes an accept operation and returns the accepted `IConnection`. |
|
||||
| `Bind` | `void Bind(int port)` | Binds the connection to a specific local port. |
|
||||
| `Listen` | `void Listen(int backlog)` | Places the connection in a listening state with specified backlog. |
|
||||
| `BeginSend` | `IAsyncResult BeginSend(byte[] sendBuffer, int bufferStartOffset, int bufferSizeToSend, AsyncCallback callback, object callbackObject)` | Begins an asynchronous send operation. |
|
||||
| `End
|
||||
35
docs/ai/Common/DTS.CommonCore/Interface/CustomChannels.md
Normal file
35
docs/ai/Common/DTS.CommonCore/Interface/CustomChannels.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/CustomChannels/ICustomChannelsView.cs
|
||||
- Common/DTS.CommonCore/Interface/CustomChannels/ICustomChannelsExportView.cs
|
||||
- Common/DTS.CommonCore/Interface/CustomChannels/ICustomChannelsImportView.cs
|
||||
- Common/DTS.CommonCore/Interface/CustomChannels/ICustomChannelModel.cs
|
||||
- Common/DTS.CommonCore/Interface/CustomChannels/ICustomChannelsViewModel.cs
|
||||
generated_at: "2026-04-17T16:02:06.150178+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f946b77217c5883d"
|
||||
---
|
||||
|
||||
# CustomChannels
|
||||
|
||||
### Purpose
|
||||
This module defines the interfaces for a Custom Channels feature, supporting import and export functionality. It follows a Model-View-ViewModel (MVVM) pattern with separate interfaces for views, view models, and models. The interfaces enable selection and management of custom channel configurations that can be imported from or exported to files.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**ICustomChannelsView** (interface, inherits `IBaseView`)
|
||||
- Marker interface for the main custom channels view. No additional members beyond `IBaseView`.
|
||||
|
||||
**ICustomChannelsExportView** (interface, inherits `IBaseView`)
|
||||
- Marker interface for the export view. No additional members beyond `IBaseView`.
|
||||
|
||||
**ICustomChannelsImportView** (interface, inherits `IBaseView`)
|
||||
- Marker interface for the import view. No additional members beyond `IBaseView`.
|
||||
|
||||
**ICustomChannelModel** (interface)
|
||||
- `string Name { get; }` - Read-only name of the custom channel.
|
||||
- `bool Included { get; set; }` - Gets or sets whether this channel is included in the selection.
|
||||
|
||||
**ICustomChannelsViewModel** (interface, inherits `IBaseViewModel`)
|
||||
- `ICustom
|
||||
67
docs/ai/Common/DTS.CommonCore/Interface/CustomerDetails.md
Normal file
67
docs/ai/Common/DTS.CommonCore/Interface/CustomerDetails.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/CustomerDetails/ICustomerDetailsView.cs
|
||||
- Common/DTS.CommonCore/Interface/CustomerDetails/ICustomerDetailsViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:39.753469+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "68517ff654ee10bc"
|
||||
---
|
||||
|
||||
# Documentation: Customer Details Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two marker interfaces, `ICustomerDetailsView` and `ICustomerDetailsViewModel`, which establish the View and ViewModel contracts for a Customer Details feature within an MVVM (Model-View-ViewModel) architecture. These interfaces extend base framework types (`IBaseView` and `IBaseViewModel`) without adding additional members, serving primarily as type identifiers for dependency injection, navigation, or view-binding purposes within the DTS.CommonCore system.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ICustomerDetailsView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public interface ICustomerDetailsView : IBaseView { }
|
||||
```
|
||||
**Description:** A marker interface representing the View component for customer details. Inherits from `IBaseView` (defined in `DTS.Common.Base`). Declares no additional members beyond its base interface.
|
||||
|
||||
---
|
||||
|
||||
### `ICustomerDetailsViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public interface ICustomerDetailsViewModel : IBaseViewModel { }
|
||||
```
|
||||
**Description:** A marker interface representing the ViewModel component for customer details. Inherits from `IBaseViewModel` (defined in `DTS.Common.Base`). Declares no additional members beyond its base interface.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both interfaces are empty marker interfaces; any invariants are inherited from their respective base interfaces (`IBaseView` and `IBaseViewModel`).
|
||||
- **Unclear from source:** The specific contracts, properties, or methods guaranteed by `IBaseView` and `IBaseViewModel` are not defined in the provided source files.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` namespace
|
||||
- `IBaseView` — base interface for `ICustomerDetailsView`
|
||||
- `IBaseViewModel` — base interface for `ICustomerDetailsViewModel`
|
||||
|
||||
### What depends on this module:
|
||||
- **Unclear from source alone.** Consumers would typically include:
|
||||
- Concrete View implementations (e.g., WPF windows, pages, or user controls implementing `ICustomerDetailsView`)
|
||||
- Concrete ViewModel implementations implementing `ICustomerDetailsViewModel`
|
||||
- DI container registrations or navigation service configurations
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Empty marker interfaces:** Neither interface defines any members. All functionality must come from the base interfaces (`IBaseView`, `IBaseViewModel`) or be added via extension methods elsewhere in the codebase.
|
||||
- **No explicit contract:** Without visibility into `IBaseView` and `IBaseViewModel`, the actual capabilities and requirements of these interfaces cannot be determined from the provided source.
|
||||
- **Naming convention:** The interfaces follow a strict naming pattern (`ICustomerDetailsView` / `ICustomerDetailsViewModel`) suggesting a paired relationship, but this pairing is not enforced at the type level.
|
||||
296
docs/ai/Common/DTS.CommonCore/Interface/DASFactory.md
Normal file
296
docs/ai/Common/DTS.CommonCore/Interface/DASFactory.md
Normal file
@@ -0,0 +1,296 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IAutoArmed.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/ITiltSensorCalAware.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IRangeBandwidthLimited.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IAutoArmStatus.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/ITimeSynchronization.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IConnectedEthernetDevice.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IDASConfigurationArg.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IRealtime.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IUDPQATSEntry.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IDASFactory.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/ICommunication.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IDiscoveredDevice.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IAnalogInputDASChannel.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/IDASCommunication.cs
|
||||
generated_at: "2026-04-17T15:30:14.944547+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "4752ac593e608823"
|
||||
---
|
||||
|
||||
# DTS.Common.Interface.DASFactory Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core abstraction layer for Data Acquisition System (DAS) hardware communication, discovery, configuration, and control. It provides interfaces for managing DAS devices (SLICE, TDAS, and related hardware), handling real-time data streaming, configuring analog input channels, and coordinating device discovery and ownership. The module serves as the primary contract between the DTS application and physical data acquisition hardware, enabling hardware-agnostic operations through polymorphic interfaces.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IAutoArmed
|
||||
```csharp
|
||||
public interface IAutoArmed
|
||||
{
|
||||
bool AutoArmed { get; set; }
|
||||
}
|
||||
```
|
||||
Simple marker interface exposing an `AutoArmed` boolean property for devices supporting auto-arm functionality.
|
||||
|
||||
### ITiltSensorCalAware
|
||||
```csharp
|
||||
public interface ITiltSensorCalAware
|
||||
{
|
||||
double[] TiltSensorCals { get; }
|
||||
}
|
||||
```
|
||||
Exposes read-only tilt sensor calibration values as a `double[]` array.
|
||||
|
||||
### IRangeBandwidthLimited
|
||||
```csharp
|
||||
public interface IRangeBandwidthLimited
|
||||
{
|
||||
bool RangeBandwidthLimited { get; }
|
||||
}
|
||||
```
|
||||
Read-only property indicating whether the device has range bandwidth limitations.
|
||||
|
||||
### IAutoArmStatus
|
||||
```csharp
|
||||
public interface IAutoArmStatus
|
||||
{
|
||||
DFConstantsAndEnums.CommandStatus AutoArmStatus { get; set; }
|
||||
}
|
||||
```
|
||||
Exposes the auto-arm command status using `DFConstantsAndEnums.CommandStatus` enum.
|
||||
|
||||
### ITimeSynchronization
|
||||
```csharp
|
||||
public interface ITimeSynchronization
|
||||
{
|
||||
bool SupportsTimeSynchronization { get; }
|
||||
DateTime SystemBaseTime { get; }
|
||||
}
|
||||
```
|
||||
Defines time synchronization capabilities and provides access to the system base time.
|
||||
|
||||
### IConnectedEthernetDevice
|
||||
```csharp
|
||||
public interface IConnectedEthernetDevice
|
||||
{
|
||||
string MACAddress { get; }
|
||||
int Port { get; }
|
||||
string SerialNumber { get; set; }
|
||||
}
|
||||
```
|
||||
Represents an ethernet-connected device with MAC address, port, and serial number properties.
|
||||
|
||||
### IDASConfigurationArg
|
||||
```csharp
|
||||
public interface IDASConfigurationArg
|
||||
{
|
||||
IDASCommunication DAS { get; }
|
||||
bool BlankConfigurationRead { get; }
|
||||
bool ConfigurationFailedValidation { get; }
|
||||
}
|
||||
```
|
||||
Describes arguments passed to configuration events. Used when performing emergency downloads with DAS units that have blank filestores (per comment reference 17872).
|
||||
|
||||
### IRealTime
|
||||
```csharp
|
||||
public interface IRealTime
|
||||
{
|
||||
List<int> RealtimeDASChannels { get; set; }
|
||||
List<double> TiltAxisData { get; set; }
|
||||
string UDPStreamAddress { get; }
|
||||
}
|
||||
```
|
||||
Defines real-time data streaming capabilities including channel selection, tilt axis data (X, Y, Z in degrees), and UDP stream address.
|
||||
|
||||
### IUDPQATSEntry
|
||||
```csharp
|
||||
public interface IUDPQATSEntry
|
||||
{
|
||||
string ResponseHostMac { get; }
|
||||
string ResponseClientMacAddress { get; }
|
||||
string SerialNumber { get; }
|
||||
byte ArmState { get; }
|
||||
byte ArmMode { get; }
|
||||
byte Started { get; }
|
||||
byte Triggered { get; }
|
||||
byte FaultFlags { get; }
|
||||
uint SampleRate { get; }
|
||||
ulong TotalSamples { get; }
|
||||
ulong CurrentSample { get; }
|
||||
ushort EventNumber { get; }
|
||||
ulong FaultSampleNumber { get; }
|
||||
ushort LegacyFaultFlags { get; }
|
||||
float InputVoltage { get; }
|
||||
float BackupVoltage { get; }
|
||||
float BatterySOC { get; }
|
||||
ulong EstimateMaxSamples { get; }
|
||||
short TiltSensorCh1 { get; }
|
||||
short TiltSensorCh2 { get; }
|
||||
short TiltSensorCh3 { get; }
|
||||
float SysTempC { get; }
|
||||
byte SyncClockEnable { get; }
|
||||
byte ADCExtClockSyncEnable { get; }
|
||||
byte SyncClockStatus { get; }
|
||||
byte ADCExtClockSyncStatus { get; }
|
||||
ulong EventTriggerSample { get; }
|
||||
float[] ChannelOffsetMV { get; }
|
||||
float[] ShuntDeviationPercent { get; }
|
||||
DateTime Timestamp { get; }
|
||||
}
|
||||
```
|
||||
Comprehensive interface representing UDP QATS (Quick Acquisition/Transfer System) entry data, exposing hardware status including arm state, trigger state, sample rates, voltages, battery state, tilt sensor readings, temperature, clock synchronization status, and channel calibration data.
|
||||
|
||||
### IDASFactory
|
||||
```csharp
|
||||
public interface IDASFactory
|
||||
{
|
||||
bool PingAll();
|
||||
string Language { get; set; }
|
||||
void TakeOwnership();
|
||||
bool AllowSDBCommandPort { get; set; }
|
||||
double S6ConnectNewTimeout { get; set; }
|
||||
string[] SliceDBHostNames { get; set; }
|
||||
string[] GetConnectedDevices();
|
||||
string[] TDASHostNames { get; set; }
|
||||
string[] TDASSerialPortNames { get; set; }
|
||||
string TDASSerialRackSerialNumber { get; set; }
|
||||
List<IDASCommunication> GetDASList();
|
||||
List<IDASCommunication> GetSortedDASList();
|
||||
List<ICommunication> GetDevList();
|
||||
void DetachAllDevices(bool detachUSB = false);
|
||||
void Refresh(ActionCompleteDelegate action);
|
||||
int MultiCastAutoDiscoveryDefaultTimeoutMS { get; set; }
|
||||
SortableBindingList<IDiscoveredDevice> AutoDiscoverMulticast(bool discoverParents = true);
|
||||
}
|
||||
```
|
||||
Factory interface for managing DAS device lifecycle: discovery, ownership, connection management, and device enumeration.
|
||||
|
||||
### ICommunication
|
||||
```csharp
|
||||
public interface ICommunication : IComparable<ICommunication>, IComparable<string>
|
||||
{
|
||||
IConnection Transport { get; set; }
|
||||
void SetupReader();
|
||||
int ReceiveBufferSize { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
string FirmwareVersion { get; set; }
|
||||
byte ProtocolVersion { get; set; }
|
||||
ICommunication_DASInfo DASInfo { get; set; }
|
||||
Dictionary<DFConstantsAndEnums.ProtocolLimitedCommands, byte> MinimumProtocols { get; set; }
|
||||
void InitMinProto();
|
||||
bool IsCommandSupported(DFConstantsAndEnums.ProtocolLimitedCommands command);
|
||||
byte GetMinProto(DFConstantsAndEnums.ProtocolLimitedCommands command);
|
||||
event EventHandler OnDisconnected;
|
||||
string ConnectString { get; }
|
||||
bool Connected { get; }
|
||||
void Connect(string ConnectString, CommunicationConstantsAndEnums.CommunicationCallback Callback, object CallbackObject, int CallbackTimeout, string ipAddress);
|
||||
void Disconnect(bool reuseSocket, CommunicationConstantsAndEnums.CommunicationCallback Callback, object CallbackObject, int CallbackTimeout);
|
||||
void Close(int Timeout);
|
||||
void Flush(int Timeout);
|
||||
bool ExecuteIsBusy { get; set; }
|
||||
void Execute(byte[] byteData, CommunicationConstantsAndEnums.CommunicationCallback Callback, object CallbackObject, int CallbackTimeout);
|
||||
void PseudoExecute(byte[] byteData, CommunicationConstantsAndEnums.CommunicationCallback Callback, object CallbackObject, int CallbackTimeout);
|
||||
byte[] SyncExecute(byte[] byteData, int Timeout);
|
||||
void Cancel();
|
||||
void ForceCancel();
|
||||
bool IsCanceled();
|
||||
void ClearCancel();
|
||||
ManualResetEvent CancelEvent { get; }
|
||||
}
|
||||
```
|
||||
Core communication interface for hardware-level message exchange. Supports both asynchronous (callback-based) and synchronous execution patterns, with cancellation support via `ManualResetEvent`.
|
||||
|
||||
### IDiscoveredDevice
|
||||
```csharp
|
||||
public interface IDiscoveredDevice
|
||||
{
|
||||
string Serial { get; set; }
|
||||
MultiCastDeviceClasses DevClass { get; set; }
|
||||
string Mac { get; set; }
|
||||
IDiscoveredDevice Parent { get; set; }
|
||||
bool IsParent(IDiscoveredDevice possibleChild);
|
||||
int GetPort(IDiscoveredDevice device);
|
||||
int GetSlot(IDiscoveredDevice child, Dictionary<string, IDiscoveredDevice> lookup);
|
||||
int GetSlotOnPort(IDiscoveredDevice child, Dictionary<string, IDiscoveredDevice> lookup);
|
||||
bool IsModule { get; set; }
|
||||
int Port { get; set; }
|
||||
int PositionOnDistributor { get; set; }
|
||||
int PositionOnChain { get; set; }
|
||||
bool Dhcp { get; set; }
|
||||
string Ip { get; set; }
|
||||
string Subnet { get; set; }
|
||||
string Gateway { get; set; }
|
||||
string Dns { get; set; }
|
||||
bool Connected { get; set; }
|
||||
string ConnectedIp { get; set; }
|
||||
string ConnectedHost { get; set; }
|
||||
ushort SystemId { get; set; }
|
||||
string Location { get; set; }
|
||||
string FirmwareVersion { get; set; }
|
||||
string BuildId { get; set; }
|
||||
IConnectedEthernetDevice[] Connections { get; set; }
|
||||
}
|
||||
```
|
||||
Represents a network-discovered device with full topology information including parent/child relationships, network configuration, and connection status.
|
||||
|
||||
### IAnalogInputDASChannel
|
||||
```csharp
|
||||
public interface IAnalogInputDASChannel
|
||||
{
|
||||
SensorConstants.BridgeType TypeOfBridge { get; set; }
|
||||
int ShuntTargetADC { get; set; }
|
||||
SensorConstants.BridgeType[] SupportedBridges { get; set; }
|
||||
DigitalInputModes[] SupportedDigitalInputModes { get; set; }
|
||||
SensorConstants.CouplingModes CouplingMode { get; set; }
|
||||
double BridgeResistanceOhms { get; set; }
|
||||
double ZeroPoint { get; set; }
|
||||
double SensorCapacityEU { get; set; }
|
||||
double SensorCapacity { get; set; }
|
||||
string SensorPolarity { get; set; }
|
||||
double DesiredRangeWithHeadroomEU { get; set; }
|
||||
double SensitivityMilliVoltsPerEU { get; set; }
|
||||
double SensitivityMilliVoltsPerEUNormalized { get; }
|
||||
bool IsProportionalToExcitation { get; set; }
|
||||
bool IsSupported(ExcitationVoltageOptions.ExcitationVoltageOption o);
|
||||
bool IsInverted { get; set; }
|
||||
string OriginalChannelName { get; set; }
|
||||
string ChannelName2 { get; set; }
|
||||
string ChannelId { get; set; }
|
||||
string ChannelGroupName { get; set; }
|
||||
string HardwareChannelName { get; set; }
|
||||
string DIUnits { get; set; }
|
||||
DigitalInputModes DigitalMode { get; set; }
|
||||
DTS.Common.Classes.Sensors.LinearizationFormula LinearizationFormula { get; set; }
|
||||
ExcitationVoltageOptions.ExcitationVoltageOption Excitation { get; set; }
|
||||
ExcitationVoltageOptions.ExcitationVoltageOption[] SupportedExcitation { get; set; }
|
||||
string EngineeringUnits { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
string Manufacturer { get; set; }
|
||||
string Model { get; set; }
|
||||
string Description { get; set; }
|
||||
ZeroMethodType ZeroMethod { get; set; }
|
||||
double ZeroAverageStartSeconds { get; set; }
|
||||
double ZeroAverageStopSeconds { get; set; }
|
||||
double InitialEU { get; set; }
|
||||
string InitialOffset { get; set; }
|
||||
bool Unipolar { get; set; }
|
||||
bool ShuntIsEnabled { get; set; }
|
||||
short ZeromVInADC { get; set; }
|
||||
bool VoltageInsertionCheckEnabled { get; set; }
|
||||
bool IEPEChannel { get; set; }
|
||||
bool DigitalInputChannel { get; set; }
|
||||
bool CalSignalIsEnabled { get; set; }
|
||||
bool RemoveOffset { get; set; }
|
||||
bool VerifyOffset { get; set; }
|
||||
double OffsetToleranceLowMilliVolts { get; set; }
|
||||
double OffsetToleranceHighMilliVolts { get; set; }
|
||||
DateTime LastCalibrationDate { get; set; }
|
||||
DateTime CalDueDate { get; set; }
|
||||
string ISOCode { get;
|
||||
65
docs/ai/Common/DTS.CommonCore/Interface/DASFactory/ARM.md
Normal file
65
docs/ai/Common/DTS.CommonCore/Interface/DASFactory/ARM.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/ARM/IArmStatus.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/ARM/IArmStatusData.cs
|
||||
generated_at: "2026-04-17T16:37:00.691878+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "a74fab277087c73b"
|
||||
---
|
||||
|
||||
# Documentation: DTS.CommonCore.Interface.DASFactory.ARM
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two interfaces—`IArmStatus` and `IArmStatusData`—that model the operational state of a DAS (Data Acquisition System) unit. `IArmStatus` provides the behavioral contract for transitioning a unit between Arm and Realtime modes, while `IArmStatusData` serves as a data transfer object capturing the complete status snapshot of a DAS unit, including armed/triggered/recording states, timing information, sample counts, voltage readings, and fault conditions. These interfaces abstract the ARM status management layer from concrete hardware implementations.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IArmStatus` (interface)
|
||||
|
||||
**Methods:**
|
||||
|
||||
| Signature | Description |
|
||||
|-----------|-------------|
|
||||
| `void SetInArm(bool WriteToDb)` | Marks the unit as being in Arm mode. Optionally persists state to database based on `WriteToDb` parameter. |
|
||||
| `void SetInRealtime(bool WriteToDb, bool ExitRealtimeIfPossible)` | Marks the unit as being in Realtime mode. Optionally persists to database and conditionally exits realtime mode. |
|
||||
| `bool GetIsInArm()` | Returns `true` if the unit is known to be in Arm. Does not query hardware—returns cached flag state only. |
|
||||
| `bool GetIsInRealtime()` | Returns `true` if the unit is known to be in Realtime. Does not query hardware—returns cached flag state only. |
|
||||
| `bool GetIsStreaming()` | Returns `true` if the unit is known to be streaming. Does not query hardware—returns cached flag state only. |
|
||||
| `void SetDASArmStatus(IArmStatusData status, bool bSetInDb)` | Sets `DASArmStatus` property and optionally persists to database. |
|
||||
| `void SetDASArmStatus()` | Persists current `DASArmStatus` to database (if connected). |
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `DASArmStatus` | `IArmStatusData` | Gets or sets the current ARM status data object. |
|
||||
|
||||
---
|
||||
|
||||
### `IArmStatusData` (interface)
|
||||
|
||||
**State Flags (Boolean Properties):**
|
||||
|
||||
| Property | Description |
|
||||
|----------|-------------|
|
||||
| `ReceivedInvalidModeDuringSetup` | Indicates unit received `InvalidMode` response to query commands during initial setup. Used to detect streaming state (related to issue 15932). |
|
||||
| `IsArmed` | Indicates whether the DAS is currently armed. |
|
||||
| `IsTriggered` | Indicates whether the DAS has sensed a trigger. Set in multiple locations. |
|
||||
| `IsTriggerShorted` | Indicates trigger was shorted. Only set during `TriggerCheck`. Distinct from `IsTriggered`. |
|
||||
| `IsStartShorted` | Indicates start trigger was shorted. Only set during `TriggerCheck`. |
|
||||
| `IsRecording` | Indicates whether the DAS is currently recording sample data. |
|
||||
| `IsFaulted` | Indicates whether the DAS has faulted. |
|
||||
| `IsInRealtime` | Indicates whether the DAS is in real-time mode. |
|
||||
| `IsInFlashWrite` | Indicates whether the DAS is in flash write mode (G5-specific). |
|
||||
| `IsUndefined` | Used when `TDAS ARM STAT READ` returns nothing. |
|
||||
| `IsInPostTestDiagnostics` | Indicates whether the DAS is in post-test diagnostics. |
|
||||
| `IsRearming` | Indicates whether the DAS is currently rearming. |
|
||||
| `HasBeenRecording` | Indicates whether the DAS has been recording at some point. |
|
||||
|
||||
**Timing & Progress Properties:**
|
||||
|
||||
| Property | Type | Description |
|
||||
149
docs/ai/Common/DTS.CommonCore/Interface/DASFactory/Config.md
Normal file
149
docs/ai/Common/DTS.CommonCore/Interface/DASFactory/Config.md
Normal file
@@ -0,0 +1,149 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IEID.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IVoltageInsertionEnabled.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IInformation.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IConfigurationData.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IConfiguration.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IInfoResultModule.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IDASChannel.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IInfoResult.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Config/IDASModule.cs
|
||||
generated_at: "2026-04-17T15:32:19.088231+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "9d6b732bd258d118"
|
||||
---
|
||||
|
||||
# DTS.Common.Interface.DASFactory.Config Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core configuration interfaces for a Data Acquisition System (DAS). It provides abstractions for hardware configuration, module management, channel configuration, and device information retrieval. These interfaces enable the system to configure, serialize, and interact with DAS hardware components—including modules, channels, and EIDs (Electronic IDs)—in a hardware-agnostic manner, supporting operations such as test setup, recording configuration, channel mapping, and XML-based configuration persistence.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IEID
|
||||
**Namespace:** `DTS.Common.Interface.DASFactory.Config`
|
||||
|
||||
Represents an Electronic ID with validation capability.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `ID` | `string` | Gets or sets the identifier string. |
|
||||
| `Blob` | `byte[]` | Gets or sets the binary data associated with the EID. |
|
||||
| `IsValid()` | `bool` | Validates the EID data. |
|
||||
|
||||
---
|
||||
|
||||
### IVoltageInsertionEnabled
|
||||
**Namespace:** `DTS.Common.Interface.DASFactory.Config`
|
||||
|
||||
Indicates whether voltage insertion was detected as being enabled.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `VoltageInsertionEnabled` | `bool` | Read-only property indicating voltage insertion status. |
|
||||
|
||||
---
|
||||
|
||||
### IInformation
|
||||
**Namespace:** `DTS.Common.Interface.DASFactory.Config`
|
||||
|
||||
Provides information interface for an `IDASCommunication` object.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `DASInfo` | `IInfoResult` | Gets or sets the DAS info populated from hardware values. |
|
||||
| `SetDASInfo(IInfoResult dasInfo, bool bSetInDb = true)` | `void` | Sets the DAS info with optional database persistence. |
|
||||
| `SetDASInfo()` | `void` | Sets the DAS info (overload without parameters). |
|
||||
|
||||
---
|
||||
|
||||
### IConfigurationData
|
||||
**Namespace:** `DTS.Common.Interface.DASFactory.Config`
|
||||
|
||||
Contains the pre-test setup and configuration of all modules and channels in the DAS hardware.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `Modules` | `IDASModule[]` | Array of Module objects in the DAS. |
|
||||
| `IDs` | `IEID[]` | EIDs for the whole DAS. |
|
||||
| `TestID` | `string` | ID of the current test/event. |
|
||||
| `TestSetupUniqueId` | `string` | Unique ID for the test setup. |
|
||||
| `Description` | `string` | Description of the current test/event. |
|
||||
| `ClearSetup` | `bool` | Flag to clear setup. |
|
||||
| `DisplayOrder` | `int[]` | Gets or sets the display order array. |
|
||||
| `DasDisplayOrder` | `int` | Gets or sets the DAS display order. |
|
||||
| `UDPReceiveAddress` | `string` | Address the DAS receives UDP information from (for OBR-DDR control). |
|
||||
| `NumberOfConfiguredChannels()` | `int` | Returns count of channels where `IsConfigured` is `true`. |
|
||||
| `NumberOfChannels()` | `int` | Returns total channel count regardless of configuration. |
|
||||
| `NumberOfDownloadChannels()` | `int` | Returns count of downloadable channels (excludes UART and StreamOut). |
|
||||
| `GetDisplayOrder(uint channelIdx)` | `int` | Gets display order for a specific channel index. |
|
||||
| `WriteXml(XmlWriter writer)` | `void` | Serializes configuration to XML. |
|
||||
| `ReadXml(XmlReader reader)` | `void` | Deserializes configuration from XML. |
|
||||
| `GetSchema()` | `XmlSchema` | Returns the XML schema. |
|
||||
|
||||
---
|
||||
|
||||
### IConfiguration
|
||||
**Namespace:** `DTS.Common.Interface.DASFactory.Config`
|
||||
|
||||
Main configuration interface for DAS device settings.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `TestDirectory` | `string` | Path where the device stores test information. |
|
||||
| `SupportsAutoDetect` | `bool` | Returns `true` if unit supports channel type auto-detection (bridge/IEPE). |
|
||||
| `ConfigData` | `IConfigurationData` | Gets or sets the configuration data object. |
|
||||
| `DASClockSyncProfile` | `ClockSyncProfile` | Gets or sets the clock sync profile for the hardware. |
|
||||
| `QueryConnectedDevices()` | `void` | Directly queries if any devices are connected to this unit. |
|
||||
| `GetDASDisplayOrder()` | `int` | Returns display order for this DAS (default: -1). |
|
||||
| `GetChannelDisplayOrder()` | `int[]` | Returns display order array for channels. |
|
||||
| `SetDASDisplayOrder(int order)` | `void` | Sets DAS display order (should only be called from FWTU). |
|
||||
| `SetChannelDisplayOrder(int[] order)` | `void` | Sets channel display order (should only be called from FWTU). |
|
||||
|
||||
---
|
||||
|
||||
### IInfoResult
|
||||
**Namespace:** `DTS.Common.Interface.DASFactory.Config`
|
||||
|
||||
Contains DAS information populated from hardware, including channel mapping utilities.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `MACAddress` | `string` | MAC address of the DAS. |
|
||||
| `Modules` | `IInfoResultModule[]` | Array of modules in this DAS. |
|
||||
| `ActiveExternalTilts` | `List<ExternalTilt>` | List of active external tilt sensors. |
|
||||
| `MaxNumberOfModules` | `uint` | Maximum number of modules supported. |
|
||||
| `MaxEventStorageSpaceInBytes` | `ulong?` | Total sample storage bytes (null if per-module). |
|
||||
| `NumberOfBytesPerSampleClock` | `uint?` | Bytes stored per sample clock (null if per-module). |
|
||||
| `DeviceStreamingOnly` | `bool?` | Whether device is hardware-configured for streaming only (null if unsupported). |
|
||||
| `NumberOfBridgeChannels` | `int` | Number of bridge channels. |
|
||||
| `BatteryID` | `IEID` | EID for the battery. |
|
||||
| `HasBattery` | `bool` | Returns `true` if a battery is present. |
|
||||
| `CalibrationDate` | `DateTime?` | Returns calibration datetime (1970-01-01 indicates invalid/NA). |
|
||||
| `MapDASChannelNumber2RealtimeChannelNumber(int channelNumber)` | `byte` | Maps DAS channel number to realtime channel number. |
|
||||
| `MapDASChannelNumber2ModuleArrayIndex(int channelNumber)` | `byte` | Maps DAS channel (0..29) to module array index (0..9). |
|
||||
| `MapDASChannelNumber2ModuleDeviceID(int channelNumber)` | `byte` | Maps DAS channel (0..29) to module device ID (1..10). |
|
||||
| `MapDASChannelNumber2ModuleChannelNumber(int channelNumber)` | `byte` | Maps DAS channel (0..29) to module channel (0..2). |
|
||||
| `MapModuleArrayIndexAndChannelNum2DASChannel(int moduleArrayIdx, int channelNumber)` | `byte` | Maps module index (0..9) and channel (0..2) to DAS channel (0..29). |
|
||||
|
||||
---
|
||||
|
||||
### IInfoResultModule
|
||||
**Namespace:** `DTS.Common.Interface.DASFactory.Config`
|
||||
|
||||
Contains module-specific information retrieved from hardware.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `SerialNumber` | `string` | Serial number of this module. |
|
||||
| `FirmwareVersion` | `string` | Firmware version. |
|
||||
| `ModuleArrayIndex` | `int` | Index of this module in an array (0-based). |
|
||||
| `NumberOfChannels` | `uint` | Number of channels connected to this module. |
|
||||
| `SupportedSampleRates` | `uint[]` | Supported sample rates in samples per second. |
|
||||
| `SampleRate2AAFrequency` | `Dictionary<uint, float>` | Maps sample rates to anti-aliasing filter frequencies. |
|
||||
| `MaxEventStorageSpaceInBytes` |
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/ITriggerCheck.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/IOptimizationValues.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/IArmCheckActions.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/IModuleDiagnosticsResult.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/ITriggerCheckResult.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/IDiagnos.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/IArmCheckResults.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/IDiagnosticActions.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/IBaseInputValues.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Diagnostics/IDiagnosticResult.cs
|
||||
generated_at: "2026-04-17T15:31:23.664734+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "3dab786251f09aaf"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.DASFactory.Diagnostics
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract interfaces for the Data Acquisition System (DAS) diagnostics subsystem. It provides abstractions for configuring diagnostic actions, capturing diagnostic results, monitoring trigger states, and tracking hardware health metrics (voltage, temperature, tilt, clock synchronization). These interfaces enable a separation between the diagnostic orchestration logic and the concrete DAS hardware implementations, allowing different DAS units (e.g., TDAS Pro, SLICE Pro) to be handled polymorphically.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ITriggerCheck`
|
||||
Simple container interface for trigger check results.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `TriggerResult` | `ITriggerCheckResult` | Stores the trigger check results. |
|
||||
|
||||
---
|
||||
|
||||
### `ITriggerCheckResult`
|
||||
Represents the state of trigger and start-record lines on a DAS unit.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `IsStatusGood` | `bool` | Indicates if DAS status is good. |
|
||||
| `IsStartRecordActive` | `bool` | Indicates if start record line is currently active. |
|
||||
| `HasStartRecordBeenActive` | `bool` | Indicates if start record line was active at any point after arm. |
|
||||
| `IsTriggered`
|
||||
@@ -0,0 +1,65 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Download/IDownloadReport.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Download/IEventInfoAggregate.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Download/IUARTDownload.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Download/IUARTDownloadRequest.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Download/IUARTEventInfo.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Download/IDownloadRequest.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Download/IDownload.cs
|
||||
- Common/DTS.CommonCore/Interface/DASFactory/Download/IEventInfo.cs
|
||||
generated_at: "2026-04-17T15:33:03.788375+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f0069795c6f49e52"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.DASFactory.Download
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a set of interfaces for managing data download operations from a Data Acquisition System (DAS). It provides abstractions for requesting downloads of recorded events (both standard and UART-based), retrieving event metadata, configuring serial communication parameters, and reporting on stored event data. The interfaces serve as contracts between DAS hardware abstraction layers and higher-level application logic, enabling decoupled communication with various DAS device implementations.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IDownloadReport`
|
||||
Defines a container for event information retrieved from a DAS.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `Events` | `IEventInfo[]` | Array of all events stored on the DAS. |
|
||||
| `UARTEvents` | `IUARTEventInfo[]` | Array of all UART events stored on the DAS. |
|
||||
|
||||
---
|
||||
|
||||
### `IEventInfoAggregate`
|
||||
Defines an aggregate view of event information with summary statistics.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `EventId` | `string` | Identifier for the event. |
|
||||
| `EventDescription` | `string` | Text description of the event. |
|
||||
| `DurationSeconds` | `double` | Duration of the event in seconds. |
|
||||
| `GUID` | `string` | Globally unique identifier for the event. |
|
||||
| `HasBeenDownloaded` | `bool` | Whether the event has been downloaded. |
|
||||
| `WasTriggered` | `bool` | Whether the event received a trigger. |
|
||||
| `NumberOfChannels` | `int` | Number of channels in the event. |
|
||||
| `NumberOfSamples` | `ulong` | Total number of samples. |
|
||||
| `NumberOfBytes` | `ulong` | Total number of bytes. |
|
||||
| `Faulted` | `bool` | Whether the event faulted. |
|
||||
| `EventNumber` | `int` | The event number. |
|
||||
| `Add(IEventInfo)` | `void` | Adds an `IEventInfo` instance to the aggregate. |
|
||||
|
||||
---
|
||||
|
||||
### `IDownload`
|
||||
Primary interface for managing download operations and event metadata.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `WhatToDownload` | `IDownloadRequest` | Specifies what data to download. |
|
||||
| `SetWhatToDownload(IDownloadRequest, bool)` | `void` | Sets the download request; optional `bSetInDb` parameter (default `true`). |
|
||||
| `EventInfo` | `IDownloadReport` | Retrieved information about stored events. |
|
||||
| `SetEventInfo(IDownloadReport, bool)` | `void` | Sets event info; optional `bSetInDb` parameter (
|
||||
33
docs/ai/Common/DTS.CommonCore/Interface/DTS.Common.CPU.md
Normal file
33
docs/ai/Common/DTS.CommonCore/Interface/DTS.Common.CPU.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Common.CPU/IcpuEngine.cs
|
||||
generated_at: "2026-04-17T16:38:36.125096+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "eebca49edae73f6d"
|
||||
---
|
||||
|
||||
# Documentation: ICPUEngine Interface
|
||||
|
||||
## 1. Purpose
|
||||
This module defines the `ICPUEngine` interface within the `DTS.Common.Interface` namespace. It serves as a specific contract for CPU engine components, deriving from the root `IBaseClass` interface. As the interface contains no members, it functions primarily as a marker interface or a type definition for dependency injection and polymorphic type checking within the larger system architecture.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ICPUEngine`
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface ICPUEngine : IBaseClass
|
||||
```
|
||||
**Description:**
|
||||
Defines the contract for a CPU engine. It inherits from `IBaseClass` but declares no additional methods, properties, or events.
|
||||
|
||||
## 3. Invariants
|
||||
- Any class implementing `ICPUEngine` must also implement the members defined in `IBaseClass` (imported from `DTS.Common.Base`).
|
||||
- The interface itself enforces no specific behavior or state due to the absence of members.
|
||||
|
||||
## 4. Dependencies
|
||||
- **Internal Dependency:** Relies on `DTS.Common.Base` for the `IBaseClass` interface.
|
||||
- **External Dependents:** Unknown. The source file does not indicate which concrete classes implement this interface or which consumers utilize it.
|
||||
|
||||
## 5.
|
||||
64
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer.md
Normal file
64
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer.md
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ITabView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IDiagView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ITestsView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IStatsView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ICursorView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IViewerView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ITabItemView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IPropertyView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IViewerShellView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IGraphPropertyView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IDockPanelVerticalView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IDockPanelHorizontalView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/GroupChannelReadCalcDelegate.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ITabViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IDiagViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IStatsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ICursorViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ITestsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IViewerViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IPropertyViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IViewerModule.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IPSDReportModule .cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IGraphPropertyViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IDockPanelVerticalViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IDockPanelHorizontalViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ITabItemViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IViewerShellViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IMainLiteView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IMainViewerView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ISelectedDataViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IMainLiteViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/IMainViewModel.cs
|
||||
generated_at: "2026-04-17T15:25:24.011466+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "ca9aa424995a827f"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface (Viewer Module)
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract layer for the DTS Viewer application components, implementing a Model-View-ViewModel (MVVM) architecture with Prism modularity support. It provides interfaces for views, view models, and modules that enable loose coupling between UI components and their controllers. The interfaces support a tabbed document interface with dockable panels, diagnostic views, statistics displays, test management, and graph property editing capabilities.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### View Interfaces
|
||||
|
||||
All view interfaces inherit from `IBaseView` (defined in `DTS.Common.Base`) and are currently marker interfaces with no additional members:
|
||||
|
||||
| Interface | Purpose (inferred from naming) |
|
||||
|-----------|-------------------------------|
|
||||
| `ITabView` | Marker for tab container views |
|
||||
| `IDiagView` | Marker for diagnostic views |
|
||||
| `ITestsView` | Marker for test management views |
|
||||
| `IStatsView` | Marker for statistics views |
|
||||
| `ICursorView` | Marker for cursor-related views |
|
||||
| `IViewerView` | Marker for main viewer views |
|
||||
| `ITabItemView` | Marker for individual tab item views |
|
||||
| `
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/CalculatedChannel/IAddCalculatedChannelView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/CalculatedChannel/IAddCalculatedChannelViewModel.cs
|
||||
generated_at: "2026-04-17T16:37:00.038248+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "1ccb27a039f0f14f"
|
||||
---
|
||||
|
||||
# Documentation: Calculated Channel View Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the view and view model interfaces for the "Add Calculated Channel" feature within a larger MVVM (Model-View-ViewModel) architecture. It provides the contract for a dialog or panel that allows users to create calculated channels, exposing properties for ISO export configuration, DTS encoding settings, and a command for adding the calculated channel. The separation of `IAddCalculatedChannelView` and `IAddCalculatedChannelViewModel` follows the MVVM pattern to decouple UI presentation from business logic.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IAddCalculatedChannelView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IAddCalculatedChannelView : IBaseView { }
|
||||
```
|
||||
|
||||
**Description:** A marker interface extending `IBaseView`. It defines no members of its own and serves solely as a type identifier for views that implement the Add Calculated Channel functionality.
|
||||
|
||||
---
|
||||
|
||||
### `IAddCalculatedChannelViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IAddCalculatedChannelViewModel : IBaseViewModel
|
||||
```
|
||||
|
||||
**Members:**
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `View` | `IBaseView` | get/set | Gets or sets the associated Search View. |
|
||||
| `Parent` | `IBaseViewModel` | get/set | Gets or sets the parent view model in the hierarchy. |
|
||||
| `PublishChanges()` | `void` | method | Publishes changes made in the view model. Implementation behavior is not specified in the interface. |
|
||||
| `IncludeGroupNameInISOExport` | `bool` | get/set | Gets or sets a flag indicating whether the group name should be included in ISO export. |
|
||||
| `DefaultDTSEncoding` | `int` | get/set | Gets or sets the default DTS encoding value. |
|
||||
| `AddCalculatedChannelCommand` | `ICommand` | get | Gets the command for adding a calculated channel. |
|
||||
| `ContextSearchRegion` | `object` | get/set | Gets or sets the context for the search region. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `IAddCalculatedChannelView` must always be assignable to `IBaseView`.
|
||||
- `IAddCalculatedChannelViewModel` must always be assignable to `IBaseViewModel`.
|
||||
- `AddCalculatedChannelCommand` is read-only (getter only); implementations must provide the command instance at construction or via dependency injection.
|
||||
- The `View` property on the view model is typed as `IBaseView`, suggesting it may hold a reference to any view implementing that base interface, not specifically `IAddCalculatedChannelView`.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- **`DTS.Common.Base`** — Provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
- **`System.Windows.Input`** — Provides `ICommand` interface (indicates WPF or similar XAML-based UI framework).
|
||||
|
||||
### What depends on this module:
|
||||
- **Unclear from source alone.** Concrete implementations of `IAddCalculatedChannelView` and `IAddCalculatedChannelViewModel` would exist elsewhere in the codebase, likely in view and view model classes for the calculated channel feature.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
1. **Namespace discrepancy with file
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ChartOptions/IChartOptionsView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ChartOptions/IChartOptionsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ChartOptions/IChartOptionsModel.cs
|
||||
generated_at: "2026-04-17T16:35:27.913668+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "5a364fa570e5a57f"
|
||||
---
|
||||
|
||||
# Documentation: Chart Options Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for chart configuration and visualization options within the DTS system. It provides the `IChartOptionsView`, `IChartOptionsViewModel`, and `IChartOptionsModel` interfaces that implement a Model-View-ViewModel (MVVM) pattern for managing chart display settings, including axis scaling, unit types, cursor functionality, zoom controls, and PDF export capabilities. These interfaces serve as the abstraction layer between chart visualization components and their underlying data/logic.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IChartOptionsView
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
|
||||
```csharp
|
||||
public interface IChartOptionsView : IBaseView { }
|
||||
```
|
||||
|
||||
A marker interface extending `IBaseView` with no additional members. Used to identify chart options view implementations.
|
||||
|
||||
---
|
||||
|
||||
### IChartOptionsViewModel
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
|
||||
```csharp
|
||||
public interface IChartOptionsViewModel : IBaseViewModel
|
||||
```
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Name | Type | Description |
|
||||
|------|------|-------------|
|
||||
| `View` | `IBaseView` | Gets or sets the Search View. |
|
||||
| `Parent` | `IBaseViewModel` | Gets or sets the parent view model. |
|
||||
| `Model` | `IChartOptionsModel`
|
||||
41
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer/Filter.md
Normal file
41
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer/Filter.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Filter/IFilterView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Filter/IFilterViewModel.cs
|
||||
generated_at: "2026-04-17T16:24:21.604994+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "61f92ffaad776a8f"
|
||||
---
|
||||
|
||||
# Filter
|
||||
|
||||
### Purpose
|
||||
This module defines the contract for filter components within the DTS Viewer subsystem. It provides the `IFilterView` and `IFilterViewModel` interfaces that establish the View-ViewModel pattern for filter UI components, enabling filtering functionality within search or data view contexts.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IFilterView`**
|
||||
- Signature: `public interface IFilterView : IBaseView`
|
||||
- Description: Marker interface extending `IBaseView` for filter view components. No members defined.
|
||||
|
||||
**`IFilterViewModel`**
|
||||
- Signature: `public interface IFilterViewModel : IBaseViewModel`
|
||||
- Description: ViewModel interface for filter components with the following members:
|
||||
- `IBaseView View { get; set; }` - Gets or sets the associated Search View.
|
||||
- `IBaseViewModel Parent { get; set; }` - Gets or sets the parent ViewModel reference.
|
||||
- `object ContextSearchRegion { get; set; }` - Gets or sets the context for the search region.
|
||||
|
||||
### Invariants
|
||||
- `IFilterViewModel.View` must be assignable to an `IBaseView` implementation.
|
||||
- `IFilterViewModel.Parent` must reference a valid parent `IBaseViewModel` when set.
|
||||
- The namespace is declared as `DTS.Common.Interface` (note: file path suggests `DTS.Viewer/Filter` but namespace differs).
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (for `IBaseView`, `IBaseViewModel`)
|
||||
- **Dependents**: Unknown from source alone (consumers would implement these interfaces).
|
||||
|
||||
### Gotchas
|
||||
- The file path suggests a `DTS.Viewer` namespace component, but the actual namespace is `DTS.Common.Interface`. The `// ReSharper disable CheckNamespace` directive in `IFilterViewModel.cs` indicates intentional namespace suppression, suggesting a historical discrepancy between file organization and namespace declaration.
|
||||
|
||||
---
|
||||
95
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs.md
Normal file
95
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs.md
Normal file
@@ -0,0 +1,95 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/IGraphMainView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/IGraphChannelView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/IGraphPropertyView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/ITestDataView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/IGraphPropertyViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/ITestDataSeriesView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/IGraphView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/IGraphViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/ITestDataViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/ITestDataSeriesViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/IGraphChannelViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/IGraphMainViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Graphs/ITestDataSeries.cs
|
||||
generated_at: "2026-04-17T16:22:46.438361+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "90119c50c8a714cd"
|
||||
---
|
||||
|
||||
# Graphs
|
||||
|
||||
### Purpose
|
||||
This module defines the core interfaces for the Graph visualization subsystem within the DTS Viewer application. It establishes the contracts for the Model-View-ViewModel (MVVM) architecture, specifically handling the display of test data series, channel selection, and graph properties. It serves as the abstraction layer between the data models (test results) and the UI components rendering the graphs.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**Views**
|
||||
* `IGraphMainView` : `IBaseView` - Marker interface for the main graph view.
|
||||
* `IGraphChannelView` : `IBaseView` - Marker interface for the channel selection view.
|
||||
* `IGraphPropertyView` : `IBaseView` - Marker interface for the graph properties view.
|
||||
* `ITestDataView` : `IBaseView` - Marker interface for the test data view.
|
||||
* `IGraphView` : `IBaseView` - Marker interface for the graph view. Contains a commented-out method `SetGraphs`.
|
||||
* `ITestDataSeriesView` : `IBaseView` - Interface for the data series view.
|
||||
* `bool SaveReportToPDF(string directory)` - Saves the report to PDF.
|
||||
* `bool SaveReportToCSV(string directory)` - Saves the report to CSV.
|
||||
|
||||
**ViewModels**
|
||||
* `IGraphPropertyViewModel` : `IBaseViewModel`
|
||||
* `IGraphPropertyView View { get; }` - Gets the associated View.
|
||||
* `IGraphViewModel` : `IBaseViewModel`
|
||||
* `IGraphView View { get; }` - Gets the associated View.
|
||||
* `ITestDataSeriesView DataSeriesView { get; set; }` - Gets or sets the data series view.
|
||||
* `ITestDataViewModel` : `IBaseViewModel`
|
||||
* `ITestDataView View { get; set; }` - Gets or sets the View.
|
||||
* `ITestDataSeries Model { get; set; }` - Gets or sets the Model.
|
||||
* `ITestDataSeriesViewModel` : `IBaseViewModel`
|
||||
* `ITestDataSeriesView View { get; set; }` - Gets or sets the View.
|
||||
* `ITestDataSeries Model { get; set; }` - Gets or sets the Model.
|
||||
* `void MoveCursor(object sender, KeyEventArgs e)` - Handles cursor movement logic.
|
||||
* `string CurrentCursorValues { get; set; }` - Holds current cursor values.
|
||||
* `IGraphChannelViewModel` : `IBaseViewModel`
|
||||
* `IGraphChannelView View { get; }` - Gets the associated View.
|
||||
* `ObservableCollection<ITestChannel> GraphChannelList { get; set; }` - List of available channels.
|
||||
* `ObservableCollection<ITestChannel> SelectedGraphChannelList { get; set; }` - List of selected channels.
|
||||
* `TestChannel SelectedGraphChannel { get; set; }` - Currently selected channel.
|
||||
* `IGraphMainViewModel` : `IBaseViewModel`
|
||||
* `IGraphMainView View { get; set; }` - Gets or sets the View.
|
||||
* `IBaseViewModel Parent { get; set; }` - Reference to the parent ViewModel.
|
||||
* `List<ITestChannel> LockedChannelList { get; set; }` - List of locked channels.
|
||||
* `List<ITestChannel> SelectedChannelList { get; set; }` - List of selected channels.
|
||||
* `string LockedGroupName { get; set; }` - Name of the locked group.
|
||||
* `void PublishSelectedChannels()` - Publishes selected channels.
|
||||
* `void AddSelectedChannel(ITestChannel channel)` - Adds a channel to selection.
|
||||
* `void AddSelectedGroupChannels(string groupName, List<ITestChannel> channels)` - Adds a group of channels.
|
||||
* `void AddLockedChannel(ITestChannel channel, bool isLocked)` - Adds a locked channel.
|
||||
* `void AddLockedGroupChannels(string testName, string groupName, List<ITestChannel> channels, bool isLocked)` - Adds a locked group.
|
||||
* `void GraphList_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)` - Handles collection changes.
|
||||
|
||||
**Models**
|
||||
* `ITestDataSeries` : `IBaseModel` - Represents a single series of test data.
|
||||
* Identifiers: `TestGroup`, `TestSetupName`, `TestId`, `ChannelId`, `HardwareChannel`, `Bridge`, `GroupName`, `ChannelName`.
|
||||
* Data: `double[] Xvalue`, `double[] Yvalue`, `Brush GraphColor`.
|
||||
* Metadata: `SWAAF`, `HWAAF`, `SampleRate`, `ISOCode`, `ISOChannelName`, `UserCode`, `UserChannelName`, `Description`, `SensorSN`, `EngineeringUnits`, `Excitation`, `Polarity`, `RecordingMode`.
|
||||
* Statistics: `MinY`, `MaxY`, `AvgY`, `StdDevY`, `T0EUValue` (all strings).
|
||||
* FFT Specifics: `bool FFT`, `double PeakFrequency`, `double PeakMagnitude`, `double GRMS`.
|
||||
* HIC Specifics: `bool HIC`, `string HICValue`, `string T1Time`, `string T2Time`.
|
||||
|
||||
### Invariants
|
||||
* All View interfaces must inherit from `IBaseView`.
|
||||
* All ViewModel interfaces must inherit from `IBaseViewModel`.
|
||||
* `ITestDataSeries` properties `PeakFrequency` and `PeakMagnitude` are only valid when `FFT` is true.
|
||||
* `ITestDataSeries.GRMS` is only calculated for PSD results graphs.
|
||||
|
||||
### Dependencies
|
||||
* `DTS.Common.Base` (for `IBaseView`, `IBaseViewModel`, `IBaseModel`).
|
||||
* `DTS.Common.Classes.Viewer.TestMetadata` (for `TestChannel`, `ITestChannel`).
|
||||
* `System.Windows.Media` (for `Brush`).
|
||||
* `System.Collections.ObjectModel` (for `ObservableCollection`).
|
||||
* `System.Windows.Input` (for `KeyEventArgs`).
|
||||
|
||||
### Gotchas
|
||||
* Several files contain `// ReSharper disable CheckNamespace`, indicating potential namespace mismatches or refactoring in progress.
|
||||
* `IGraphView` contains a commented-out
|
||||
27
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer/Legend.md
Normal file
27
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer/Legend.md
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Legend/ILegendView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Legend/ILegendViewModel.cs
|
||||
generated_at: "2026-04-17T16:24:10.493440+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "5097be44fb6f9cdc"
|
||||
---
|
||||
|
||||
# Legend
|
||||
|
||||
### Purpose
|
||||
This module defines the contract for the Legend component within the DTS Viewer subsystem. It provides interfaces for the View and ViewModel following the MVVM pattern, with the ViewModel exposing a reference to its associated View for legend display functionality.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**ILegendView** (extends `IBaseView`)
|
||||
- Marker interface with no additional members.
|
||||
- Represents the view contract for legend display UI.
|
||||
|
||||
**ILegendViewModel** (extends `IBaseViewModel`)
|
||||
- `ILegendView View { get; }` — Gets the Tab View associated with this ViewModel. Read-only property returning the paired legend view instance.
|
||||
|
||||
### Invariants
|
||||
- `ILegendViewModel.View` must return a non-null `ILegendView` instance when accessed (assumed, not explicit in source).
|
||||
-
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/MainView/IMainView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/MainView/IViewerMainView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/MainView/IViewerMainViewGrid.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/MainView/IMainViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/MainView/IViewerMainViewModel.cs
|
||||
generated_at: "2026-04-17T16:02:06.098089+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "3ab13d6a0117777e"
|
||||
---
|
||||
|
||||
# MainView
|
||||
|
||||
### Purpose
|
||||
This module defines the core view and view-model interfaces for the DTS Viewer application's main window. It establishes the contract for main view implementations and provides region management for UI composition, supporting both standard and "Viewer" variants of the main view with navigation, graph, test, legend, diagnostic, statistics, cursor, and property regions.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IMainView** : `IBaseView`
|
||||
- Empty marker interface extending `IBaseView`. No members defined.
|
||||
|
||||
**IViewerMainView** : `IBaseView`
|
||||
- Empty marker interface extending `IBaseView`. No members defined.
|
||||
|
||||
**IViewerMainViewGrid** : `IBaseView`
|
||||
- Empty marker interface extending `IBaseView`. No members defined.
|
||||
|
||||
**IMainViewModel** : `IBaseViewModel`
|
||||
- `IBaseView View { get; }` — Gets the Main View.
|
||||
- `object ContextNavigationRegion { get; set; }` — Region for navigation UI.
|
||||
- `object ContextGraphRegion { get; set; }` — Region for graph display.
|
||||
- `object ContextTestsRegion { get; set; }` — Region for tests UI.
|
||||
- `object ContextGraphsRegion { get; set; }` — Region for graphs collection.
|
||||
- `object ContextLegendRegion { get; set; }` — Region for legend display.
|
||||
- `object ContextDiagRegion { get; set; }` — Region for diagnostics.
|
||||
- `object ContextStatsRegion { get; set; }` — Region for statistics.
|
||||
- `object ContextCursorRegion { get; set; }` — Region for cursor controls.
|
||||
- `object ContextPropertyRegion { get; set; }` — Region for property display.
|
||||
- `List<FrameworkElement> GetRegions()` — Returns a list of all region FrameworkElements.
|
||||
|
||||
**IViewerMainViewModel** : `IBaseViewModel`, `ISelectedDataViewModel`
|
||||
- `IBaseView View { get; set; }` — Gets or sets the Main View.
|
||||
- `bool Standalone { get; set; }` — Indicates if running in standalone mode.
|
||||
- `string ConfigPath { get; set; }` — Path to configuration file.
|
||||
- `bool DoesUserHaveEditPermission { get; set; }` — User edit permission flag.
|
||||
- `Common.Enums.IsoViewMode ChannelCodeViewMode { get; set; }` — Channel code view mode setting.
|
||||
- `Common.Enums.Sensors.CalibrationBehaviors CalibrationBehaviorSetting { get; set; }` — Calibration behavior setting.
|
||||
- `bool CalibrationBehaviorSettableInViewer { get; set; }` — Whether calibration behavior can be set in viewer.
|
||||
- `Visibility SettingsVisibility { get; }` — Visibility state for settings UI.
|
||||
- `void ZoomReset()` — Resets zoom to default.
|
||||
- `void LeftKeyPress()` — Handles left arrow key press.
|
||||
- `void RightKeyPress()` — Handles right arrow key press.
|
||||
- Inherits all region properties from `IMainViewModel` pattern (ContextNavigationRegion, ContextGraphRegion, etc.).
|
||||
- `List<FrameworkElement> GetRegions()` — Returns a list of all region FrameworkElements.
|
||||
|
||||
### Invariants
|
||||
- All view interfaces (`IMainView`, `IViewerMainView`, `IViewerMainViewGrid`) must inherit from `IBaseView`.
|
||||
- `IMainViewModel.View` is read-only (getter only), while `IViewerMainViewModel.View` is read-write.
|
||||
- All region properties (`ContextNavigationRegion`, `ContextGraphRegion`, etc.) are typed as `object`, suggesting loose typing for region content.
|
||||
- `IViewerMainViewModel` additionally inherits from `ISelectedDataViewModel` (behavior unspecified in source).
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (for `IBaseView`, `IBaseViewModel`, `IBaseClass`, `ISelectedDataViewModel`), `System.Collections.Generic`, `System.Windows`.
|
||||
- **Depended on by**: Not determinable from source alone.
|
||||
|
||||
### Gotchas
|
||||
- The module suppresses namespace checks via `// ReSharper disable CheckNamespace`, suggesting the file location may not match the declared namespace `DTS.Common.Interface`.
|
||||
- `IMainViewModel` and `IViewerMainViewModel` have nearly identical region properties, but `View` differs in accessor (get vs get/set). The reason for this inconsistency is unclear from source.
|
||||
- Region properties are typed as `object` rather than specific UI types, which may require runtime casting.
|
||||
|
||||
---
|
||||
62
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer/Menu.md
Normal file
62
docs/ai/Common/DTS.CommonCore/Interface/DTS.Viewer/Menu.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Menu/IMenuView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Menu/IMenuViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:46.261350+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "13bf8dbc76bc4cec"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface Menu Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the view and view model contracts for a menu component within an MVVM (Model-View-ViewModel) architecture. It establishes the relationship between `IMenuView` and `IMenuViewModel`, enabling the view model to maintain a reference to its associated view. The interfaces extend base view/view model abstractions from `DTS.Common.Base`, integrating the menu component into the broader application framework.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IMenuView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
A marker interface with no additional members. It serves as a type identifier for menu view implementations, inheriting all behavior from `IBaseView`.
|
||||
|
||||
---
|
||||
|
||||
### `IMenuViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseViewModel`
|
||||
|
||||
| Member | Type | Accessor | Description |
|
||||
|--------|------|----------|-------------|
|
||||
| `View` | `IMenuView` | get only | Returns the associated menu view instance. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `IMenuViewModel.View` is read-only; implementations must provide the view at construction or through internal initialization, not via a public setter.
|
||||
- All implementations of `IMenuView` must also satisfy the contract of `IBaseView`.
|
||||
- All implementations of `IMenuViewModel` must also satisfy the contract of `IBaseViewModel`.
|
||||
- The `View` property must return a non-null `IMenuView` instance when accessed (implied by typical MVVM patterns, though not explicitly enforced in the interface).
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `DTS.Common.Base` — provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
|
||||
**What depends on this module:**
|
||||
- Cannot be determined from the provided source files alone. These interfaces are likely consumed by concrete menu view/view model implementations and possibly a dependency injection container or navigation system.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Marker interface:** `IMenuView` defines no members of its own. All behavior must come from `IBaseView`, which is not shown in these files.
|
||||
- **Documentation mismatch:** The XML comment on `IMenuViewModel.View` states "Gets the Shell View," but the property is named `View` and returns `IMenuView`. It is unclear whether this is a copy-paste error or if the menu view is intended to serve as a shell component.
|
||||
- **Tight coupling:** The view model holds a direct reference to the view interface, which may indicate a non-pure MVVM implementation or a specific framework requirement.
|
||||
@@ -0,0 +1,79 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Navigation/INavigationView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Navigation/INavigationViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:43.112741+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "94b9c4671c376030"
|
||||
---
|
||||
|
||||
# Documentation: Navigation Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core navigation interfaces for the DTS Viewer system, establishing the contract between navigation views and their corresponding view models within an MVVM (Model-View-ViewModel) architecture. It provides a typed abstraction layer that allows navigation components to be referenced generically while maintaining a clear separation between view and view model concerns.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `INavigationView` (interface)
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseView`
|
||||
|
||||
A marker interface for navigation view components. No members are defined; it serves solely as a type identifier that extends `IBaseView`.
|
||||
|
||||
```csharp
|
||||
public interface INavigationView : IBaseView { }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `INavigationViewModel` (interface)
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseViewModel`
|
||||
|
||||
Defines the contract for navigation view models, providing access to an associated navigation view instance.
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Name | Type | Access | Description |
|
||||
|------|------|--------|-------------|
|
||||
| `NavigationView` | `INavigationView` | `get` | Returns the associated navigation view instance. The XML documentation describes this as "Gets the Shell View." |
|
||||
|
||||
```csharp
|
||||
public interface INavigationViewModel : IBaseViewModel
|
||||
{
|
||||
INavigationView NavigationView { get; }
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `INavigationViewModel.NavigationView` must return a non-null `INavigationView` instance in a properly configured implementation (not enforced at interface level, but implied by the architecture).
|
||||
- Any class implementing `INavigationView` must also satisfy the contract of `IBaseView`.
|
||||
- Any class implementing `INavigationViewModel` must also satisfy the contract of `IBaseViewModel`.
|
||||
- The `NavigationView` property is read-only; implementations are expected to provide this reference at construction or through internal initialization.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- **`DTS.Common.Base`** — Provides base interfaces:
|
||||
- `IBaseView` (base for `INavigationView`)
|
||||
- `IBaseViewModel` (base for `INavigationViewModel`)
|
||||
|
||||
### What depends on this module:
|
||||
- **Unclear from source alone.** Consumers would include any concrete implementations of `INavigationView` or `INavigationViewModel`, as well as any components that need to reference navigation components generically.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Marker interface pattern:** `INavigationView` defines no members of its own. All expected behavior must come from `IBaseView` or be cast to a concrete type.
|
||||
- **Documentation inconsistency:** The XML comment for `NavigationView` states "Gets the Shell View," which may be a copy-paste artifact or may indicate this interface is specifically intended for shell-level navigation. The relationship between "Shell View" and "Navigation View" terminology is unclear from the source alone.
|
||||
- **No setter:** The `NavigationView` property is getter-only. How the view reference is initialized (constructor injection, property injection, service locator, etc.) is not specified in these interfaces.
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IPSDReportMainViewGrid.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IPSDReportResultsView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IPSDReportSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IPSDReportMainView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IChannelGRMSSummary.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IPSDReportSettingsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IPSDReportResultsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IPSDReportSettingsModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/Reports/PowerSpectralDensity/IPSDReportMainViewModel.cs
|
||||
generated_at: "2026-04-17T16:34:19.269870+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "fe27c5bceaa4e73e"
|
||||
---
|
||||
|
||||
# Documentation: PSD Report Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the interface contracts for the Power Spectral Density (PSD) Report feature within the DTS Viewer application. It follows the Model-View-ViewModel (MVVM) architectural pattern, providing interfaces for Views, ViewModels, and Models that handle PSD analysis configuration, signal processing parameters (filters, windowing), and results presentation including GRMS (G-RMS) summaries per channel.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### View Interfaces
|
||||
|
||||
#### `IPSDReportMainView`
|
||||
- **Signature:** `public interface IPSDReportMainView : IBaseView`
|
||||
- **Behavior:** Marker interface for the main PSD report view. Extends `IBaseView`.
|
||||
|
||||
#### `IPSDReportMainViewGrid`
|
||||
- **Signature:** `public interface IPSDReportMainViewGrid : IBaseView`
|
||||
- **Behavior:** Marker interface for a grid component within the main PSD report view. Extends `IBaseView`.
|
||||
|
||||
#### `IPSDReportSettingsView`
|
||||
- **Signature:** `public interface IPSDReportSettingsView : IBaseView`
|
||||
- **Behavior:** Marker interface for the PSD report settings/configuration view. Extends `IBaseView`.
|
||||
|
||||
#### `IPSDReportResultsView`
|
||||
- **Signature:** `public interface IPSDReportResultsView : IBaseView`
|
||||
- **Behavior:** Marker interface for the PSD report results display view. Extends `IBaseView`.
|
||||
|
||||
---
|
||||
|
||||
### ViewModel Interfaces
|
||||
|
||||
#### `IPSDReportMainViewModel`
|
||||
- **Signature:** `public interface IPSDReportMainViewModel : IBaseViewModel, ISelectedDataViewModel`
|
||||
- **Behavior:** Main view model for the PSD Report feature. Manages navigation regions, user permissions, key press handling, and display settings.
|
||||
- **Properties:**
|
||||
- `IBaseView View { get; set; }` — Associated view instance.
|
||||
- `object ContextNavigationRegion { get; set; }` — Navigation region context.
|
||||
- `object ContextGraphRegion { get; set; }` — Graph region context.
|
||||
- `object ContextTestsRegion { get; set; }` — Tests region context.
|
||||
- `object ContextGraphsRegion { get; set; }` — Graphs region context.
|
||||
- `object ContextLegendRegion { get; set; }` — Legend region context.
|
||||
- `object ContextPropertyRegion { get; set; }`
|
||||
@@ -0,0 +1,94 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestMetadata.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestGraphs.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestSetupMetadata.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestSummary.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestRunMetadata.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestModule.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestCalculatedChannel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestDefinition/ITestChannel.cs
|
||||
generated_at: "2026-04-17T15:33:03.656826+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "0be730e443db10bc"
|
||||
---
|
||||
|
||||
# Test Definition Interfaces Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core data contracts for test definitions in the DTS data acquisition system. It provides interfaces that model the hierarchical structure of a test run—including test metadata, hardware modules, measurement channels (both physical and calculated), and graph configurations. These interfaces serve as the abstraction layer between test data storage/parsing and the viewer application, enabling loose coupling between data representation and UI components.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ITestMetadata`
|
||||
**Namespace:** `DTS.Common.Interface.TestDefinition`
|
||||
|
||||
Container interface aggregating test run and setup metadata.
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `TestRun` | `ITestRunMetadata` | get/set | Reference to test run metadata |
|
||||
| `TestSetup` | `ITestSetupMetadata` | get/set | Reference to test setup metadata |
|
||||
|
||||
---
|
||||
|
||||
### `ITestRunMetadata`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `INotifyPropertyChanged`
|
||||
|
||||
Represents metadata for a single test run execution.
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `Name` | `string` | get/set | Test run name |
|
||||
| `Id` | `string` | get/set | Test run identifier |
|
||||
| `Description` | `string` | get/set | Test description |
|
||||
| `InlineSerializedData` | `bool` | get/set | Whether data is serialized inline |
|
||||
| `TestGuid` | `string` | get/set | Unique test identifier |
|
||||
| `FaultFlags` | `int` | get/set | Fault status flags |
|
||||
| `Software` | `string` | get/set | Software name used for test |
|
||||
| `SoftwareVersion` | `string` | get/set | Software version |
|
||||
| `DataType` | `string` | get/set | Type of data |
|
||||
| `FileDate` | `DateTime` | get/set | File creation/modification date |
|
||||
| `FilePath` | `string` | get/set | Path to test file |
|
||||
| `Modules` | `List<ITestModule>` | get/set | Collection of hardware modules |
|
||||
| `Channels` | `List<ITestChannel>` | get/set | Collection of measurement channels |
|
||||
| `CalculatedChannels` | `List<ITestChannel>` | get/set | Collection of calculated channels |
|
||||
|
||||
---
|
||||
|
||||
### `ITestSetupMetadata`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
|
||||
Represents configuration metadata for test setup.
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `SetupName` | `string` | get/set | Name of the setup configuration |
|
||||
| `TimeStamp` | `DateTime` | get/set | Setup timestamp |
|
||||
| `TestGraphs` | `List<ITestGraphs>` | get/set | Collection of graph configurations |
|
||||
| `CalibrationBehavior` | `CalibrationBehaviors` | get/set | Calibration behavior setting (enum from `DTS.Common.Enums.Sensors`) |
|
||||
|
||||
---
|
||||
|
||||
### `ITestModule`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `INotifyPropertyChanged`
|
||||
|
||||
Represents a hardware data acquisition module with extensive configuration.
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `SerialNumber` | `string` | get/set | Module serial number |
|
||||
| `BaseSerialNumber` | `string` | get/set | Base serial number |
|
||||
| `AaFilterRateHz` | `int` | get/set | Anti-aliasing filter rate |
|
||||
| `Number` | `int` | get/set | Module number |
|
||||
| `NumberOfSamples` | `int` | get/set | Total sample count |
|
||||
| `UnsubsampledNumberOfSamples` | `int` | get/set | Sample count before subsampling |
|
||||
| `RequestedPostTriggerSeconds` | `double` | get/set | Requested post-trigger duration |
|
||||
| `RequestedPreTriggerSeconds` | `double` | get/set | Requested pre-trigger duration |
|
||||
| `PostTriggerSeconds` | `
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestModification/ITestModificationView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestModification/ITestModificationViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestModification/ITestModificationModel.cs
|
||||
generated_at: "2026-04-17T16:03:49.804655+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "499e2b4f1f7002a7"
|
||||
---
|
||||
|
||||
# TestModification
|
||||
|
||||
### Purpose
|
||||
This module defines the interfaces for the test modification feature, which allows users to modify channel properties including description, EU multiplier/offset, T0 timing, line fit parameters, sensitivity, software filters, and data flags. It follows the MVVM pattern with separate interfaces for View, ViewModel, and Model layers.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**ITestModificationView**
|
||||
- Signature: `public interface ITestModificationView : IBaseView`
|
||||
- Description: Marker interface for test modification views. Inherits from `IBaseView` with no additional members.
|
||||
|
||||
**ITestModificationViewModel**
|
||||
- Signature: `public interface ITestModificationViewModel : IBaseViewModel`
|
||||
- Description: View model interface for test modification operations.
|
||||
- Properties:
|
||||
- `ITestModificationView View { get; set; }` - The associated view instance.
|
||||
- `IBaseViewModel Parent { get; set; }` - Reference to the parent view model.
|
||||
- `bool UseISOCodeFilterMapping { get; set; }` - Controls whether ISO code should be modified when software filter is modified.
|
||||
- `bool UseZeroForUnfiltered { get; set; }` - Controls whether '0' or 'P' is used when ISO code is modified due to software filter modification.
|
||||
- Methods:
|
||||
- `void PublishChanges()` - Publishes modification changes.
|
||||
|
||||
**ITestModificationModel**
|
||||
- Signature: `public interface ITestModificationModel : IBaseModel`
|
||||
- Description: Model interface containing the state and validation logic for test modifications.
|
||||
- Properties:
|
||||
- `ITestModificationViewModel Parent { get; set; }` - Reference to parent view model.
|
||||
- `ITestChannel SelectedChannel { get; set; }` - The channel on which modifications are based.
|
||||
- `bool IsModifiedDescription { get; }` - Indicates if Description field has been modified.
|
||||
- `string Description { get; set; }` - The `ChannelDescriptionString` of the selected channel.
|
||||
- `bool IsModifiedEuMultiplier { get; }` - Indicates if EU multiplier has been modified.
|
||||
- `double EuMultiplier { get; set; }` - EU multiplier of the selected channel.
|
||||
- `double EuOffset { get; set; }` - EU offset of the selected channel.
|
||||
- `bool IsModifiedEuOffset { get; }` - Indicates if EU offset has been modified.
|
||||
- `bool IsModifiedT
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestModule/ITestModuleView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestModule/ITestModuleViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:42.241451+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "46a1136c4533f580"
|
||||
---
|
||||
|
||||
# Documentation: ITestModuleView & ITestModuleViewModel
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two interfaces—`ITestModuleView` and `ITestModuleViewModel`—that establish the contract for a Test Module viewer component within the DTS system. Following the Model-View-ViewModel (MVVM) pattern, these interfaces provide the abstraction layer between the view layer and its corresponding view model, enabling decoupled UI components for test module inspection or management. The view model interface specifically exposes assembly-related functionality, suggesting this component is responsible for displaying or interacting with loaded .NET assemblies in a testing context.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ITestModuleView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseView`
|
||||
|
||||
An empty marker interface that extends `IBaseView`. No members are defined beyond the inherited contract.
|
||||
|
||||
---
|
||||
|
||||
### `ITestModuleViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseViewModel`
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `AssemblyList` | `List<Assembly>` | get; set; | A mutable list of .NET assemblies available to or managed by the test module view model. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
1. **Namespace Consistency**: Both interfaces reside in `DTS.Common.Interface` regardless of their physical file location in a `TestModule` subdirectory.
|
||||
2. **Inheritance Chain**:
|
||||
- `ITestModuleView` must always be assignable to `IBaseView`
|
||||
- `ITestModuleViewModel` must always be assignable to `IBaseViewModel`
|
||||
3. **AssemblyList Nullability**: The source does not specify whether `AssemblyList` may be null or must be initialized to an empty list. Callers should not assume non-null without external verification.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- **`DTS.Common.Base`** — Provides `IBaseView` and `IBaseViewModel` base interfaces
|
||||
- **`System.Collections.Generic`** — Provides `List<T>` for the `AssemblyList` property
|
||||
- **`System.Reflection`** — Provides the `Assembly` type used in `AssemblyList`
|
||||
|
||||
### What depends on this module:
|
||||
*Cannot be determined from the provided source files alone.* Concrete implementations of these interfaces and consumers of `ITestModuleView`/`ITestModuleViewModel` are not present in the provided code.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
1. **Namespace/Folder Mismatch**: The files are physically located in a `TestModule` subdirectory (`Common/DTS.CommonCore/Interface/DTS.Viewer/TestModule/`), but the declared namespace is `DTS.Common.Interface`—not `DTS.Common.Interface.TestModule` or `DTS.Common.Viewer.TestModule`. The `// ReSharper disable CheckNamespace` directive suppresses IDE warnings about this discrepancy. This may indicate:
|
||||
- A deliberate flattening of the namespace hierarchy
|
||||
- Historical refactoring that moved files without updating namespaces
|
||||
- An organizational choice to keep all interfaces in a single namespace
|
||||
|
||||
2. **Empty View Interface**: `ITestModule
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestSummary/ITestSummaryListView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestSummary/ITestSummaryListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/TestSummary/ITestSummary.cs
|
||||
generated_at: "2026-04-17T16:35:09.324243+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "11bec197c9c0a2ab"
|
||||
---
|
||||
|
||||
# Documentation: TestSummary Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for a Test Summary visualization component within the DTS system. It provides three interfaces—`ITestSummaryListView`, `ITestSummaryListViewModel`, and `ITestSummary`—that establish a Model-View-ViewModel (MVVM) pattern for displaying, selecting, and managing test summary data. The module serves as the abstraction layer between test data entities and their presentation in the viewer, enabling users to view lists of test summaries, select individual summaries for further operations, and access associated metadata, channels, and graphs.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ITestSummaryListView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
A marker interface with no members. Represents the view component for displaying test summary lists.
|
||||
|
||||
---
|
||||
|
||||
### `ITestSummaryListViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseViewModel`
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `View` | `ITestSummaryListView` (get) | Provides access to the associated Shell View. |
|
||||
| `TestSummaryList` | `ObservableCollection<ITestSummary>` (get/set) | The bindable collection of test summaries displayed in the view. |
|
||||
| `SelectedTestSummaryList` | `List<ITestSummary>` (get/set) | The subset of test summaries currently selected by the user. |
|
||||
| `PublishSelectedTestSummaryList()` | `void` | Publishes the currently selected test summaries (mechanism unspecified in interface). |
|
||||
| `TestSummaryList_CollectionChanged(object, NotifyCollectionChangedEventArgs)` | `void` | Event handler for changes to the `TestSummaryList` collection. |
|
||||
|
||||
---
|
||||
|
||||
### `ITestSummary`
|
||||
**Namespace:** `DTS.Common.Interface.TestDefinition`
|
||||
**Inherits:** `IBaseClass`
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Id` | `string` | Unique identifier for the test summary. |
|
||||
| `SetupName` | `string` | Name of the test setup configuration. |
|
||||
| `Description` | `string` | Human-readable
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ViewerSettings/IViewerSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/DTS.Viewer/ViewerSettings/IViewerSettingsViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:42.748844+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "0c5939668c00e6fc"
|
||||
---
|
||||
|
||||
# Documentation: IViewerSettingsView & IViewerSettingsViewModel
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for a Viewer Settings component within an MVVM architecture. `IViewerSettingsView` serves as a marker interface for the view layer, while `IViewerSettingsViewModel` defines the presentation logic for configuring viewer-related settings, specifically around calibration behavior options. The module facilitates the display and modification of viewer settings, including visibility control for calibration-related UI elements and the ability to persist changes.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IViewerSettingsView
|
||||
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public interface IViewerSettingsView : IBaseView { }
|
||||
```
|
||||
|
||||
**Description:** A marker interface extending `IBaseView`. It defines no additional members beyond its base interface, serving purely as a type identifier for viewer settings views.
|
||||
|
||||
---
|
||||
|
||||
### IViewerSettingsViewModel
|
||||
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public interface IViewerSettingsViewModel : IBaseViewModel
|
||||
```
|
||||
|
||||
**Members:**
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `View` | `IViewerSettingsView` | get/set | The associated view instance bound to this view model. |
|
||||
| `Parent` | `IBaseViewModel` | get/set | Reference to the parent view model in the hierarchy. |
|
||||
| `PublishChanges()` | `void` | N/A | Method to persist or broadcast settings changes. |
|
||||
| `CalibrationBehaviorSettingVisibility` | `Visibility` | get/set | Controls visibility of the calibration behavior setting UI element. |
|
||||
| `OverallSettingsVisibility` | `Visibility` | get | Read-only visibility state for overall settings UI elements. |
|
||||
| `AvailableCalibrationBehaviors` | `DisplayedCalibrationBehavior[]` | get | Array of available calibration behavior options for selection. |
|
||||
| `CalibrationBehaviorSetting` | `DisplayedCalibrationBehavior` | get/set | The currently selected calibration behavior setting. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `IViewerSettingsView` must always be assignable to `IBaseView`.
|
||||
- `IViewerSettingsViewModel` must always be assignable to `IBaseViewModel`.
|
||||
- `OverallSettingsVisibility` is read-only; implementing classes determine its value internally and cannot be set from outside the implementation.
|
||||
- `AvailableCalibrationBehaviors` returns an array (not a collection), implying a fixed or snapshot set of options at the time of access.
|
||||
- The `View` property establishes a two-way relationship between the view model and its view.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- **`System.Windows`** - For the `Visibility` enumeration type (WPF-specific).
|
||||
- **`DTS.Common.Base`** - For `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
- **`DTS.Common.Classes.Sensors`** - For the `DisplayedCalibrationBehavior` class.
|
||||
|
||||
### What depends on this module:
|
||||
- Not determinable from the provided source files alone.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **WPF Coupling:** The use of `System.Windows.Visibility` ties this interface to WPF. This may limit portability to other UI frameworks (e.g., no direct compatibility with non-WPF platforms).
|
||||
- **Array Return Type:** `Available
|
||||
43
docs/ai/Common/DTS.CommonCore/Interface/DataRecorders.md
Normal file
43
docs/ai/Common/DTS.CommonCore/Interface/DataRecorders.md
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DataRecorders/IHardwareChannel.cs
|
||||
- Common/DTS.CommonCore/Interface/DataRecorders/IDASDBRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/DataRecorders/IDASHardware.cs
|
||||
- Common/DTS.CommonCore/Interface/DataRecorders/IDASChannelDBRecord.cs
|
||||
generated_at: "2026-04-17T15:38:16.225418+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c047de1696bc64b3"
|
||||
---
|
||||
|
||||
# Documentation: Data Recorder Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core interfaces for Data Acquisition System (DAS) hardware abstraction within the DTS system. It provides contracts for representing hardware channels (`IHardwareChannel`), DAS hardware units (`IDASHardware`), and their corresponding database persistence records (`IDASDBRecord`, `IDASChannelDBRecord`). These interfaces enable the system to interact with various hardware types (SLICE, TDAS, TSRAIR, G5) through a unified abstraction layer while supporting database tracking of hardware configuration, calibration status, and usage history.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IHardwareChannel
|
||||
|
||||
Represents a single hardware channel on a DAS device.
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Signature | Description |
|
||||
|-----------|-------------|
|
||||
| `IDiagnosticResult Diagnostics { get; }` | Diagnostic results for this channel; `null` if unavailable. |
|
||||
| `int ChannelNumber { get; }` | The channel number. |
|
||||
| `bool IsAnalog { get; }` | Returns `true` if the channel supports analog sensors. |
|
||||
| `bool IsSquib { get; }` | Returns `true` if the channel supports squibs. |
|
||||
| `bool IsDigitalOut { get; }` | Returns `true` if the channel supports digital outputs. |
|
||||
| `bool IsDigitalIn { get; }` | Returns `true` if the channel supports digital inputs. |
|
||||
| `bool IsUart { get; }` | Returns `true` if the channel supports UART I/O. |
|
||||
| `bool IsStreamIn { get; }` | Returns `true` if the channel supports stream input. |
|
||||
| `bool IsStreamOut { get; }` | Returns `true` if the channel supports stream output. |
|
||||
| `bool IsClock { get; }` | Returns `true` if the channel supports clocks. |
|
||||
| `bool IsTSRAIR { get; }` | Returns `true` if the channel is TSRAIR type. |
|
||||
| `bool IsTSRAIRModule { get; }` | Returns `true` if the channel is a TSRAIR module. |
|
||||
| `string ModuleSerialNumber { get
|
||||
94
docs/ai/Common/DTS.CommonCore/Interface/Database.md
Normal file
94
docs/ai/Common/DTS.CommonCore/Interface/Database.md
Normal file
@@ -0,0 +1,94 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Database/IDatabaseCopyView.cs
|
||||
- Common/DTS.CommonCore/Interface/Database/IDatabaseSwitchView.cs
|
||||
- Common/DTS.CommonCore/Interface/Database/IDatabaseStatusBarView.cs
|
||||
- Common/DTS.CommonCore/Interface/Database/IDatabaseSwitchViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Database/IUserDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Database/IDatabaseCopyViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Database/IDatabaseStatusBarViewModel.cs
|
||||
generated_at: "2026-04-17T16:22:17.503077+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "67bd14e2aba6132e"
|
||||
---
|
||||
|
||||
# Database
|
||||
|
||||
### Purpose
|
||||
This module defines the contract layer for database management operations in a desktop application, specifically handling database switching (remote/local), database copying, and status bar display. It follows a Model-View-ViewModel (MVVM) pattern where views are abstracted behind interfaces to enable testability and loose coupling between UI components and business logic for database operations.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IDatabaseCopyView** : IBaseView
|
||||
- Marker interface for the database copy view. No members defined.
|
||||
|
||||
**IDatabaseSwitchView** : IBaseView
|
||||
- Marker interface for the database switch view. No members defined.
|
||||
|
||||
**IDatabaseStatusBarView** : IBaseView
|
||||
- Marker interface for the database status bar view. No members defined.
|
||||
|
||||
**IDatabaseSwitchViewModel** : IBaseViewModel
|
||||
- `IDatabaseSwitchView View { get; set; }` - The associated view instance.
|
||||
- `void Unset()` - Releases memory/resources associated with the viewmodel.
|
||||
- `bool RemoteIsActive { get; }` - Indicates whether the remote database is currently active.
|
||||
- `string DefaultDbName { get; }` - Returns the default database name.
|
||||
- `void InitializeDbSettings(string defaultDbName, string dbHost, bool ntlmAuthentication, string dbUser, string dbPassword)` - Initializes database connection settings.
|
||||
- `void SwitchRemote()` - Switches to the remote database.
|
||||
- `void SwitchLocal()` - Switches to the local database.
|
||||
- `string DbHost { get; }` - Database host address.
|
||||
- `bool NTLMAuthentication { get; }` - Whether NTLM authentication is enabled.
|
||||
- `string DbUser { get; }` - Database username.
|
||||
- `string DbPassword { get; }` - Database password.
|
||||
|
||||
**IUserDbRecord**
|
||||
- `int ID { get; set; }` - Database ID of the user.
|
||||
- `string UserName { get; set; }` - Unique username.
|
||||
- `string DisplayName { get; set; }` - UI display name for the user.
|
||||
- `string Password { get; set; }` - Hashed and salted password value (not plaintext).
|
||||
- `short Role { get; set; }` - User role identifier.
|
||||
- `DateTime LastModified { get; set; }` - Timestamp of last modification.
|
||||
- `string LastModifiedBy { get; set; }` - Username of the user who made the last modification.
|
||||
- `bool LocalOnly { get; set; }` - Deprecated field for local/remote synchronization control.
|
||||
|
||||
**IDatabaseCopyViewModel** : IBaseViewModel
|
||||
- `IDatabaseCopyView View { get; set; }` - The associated view instance.
|
||||
- `void Unset()` - Releases memory/resources associated with the viewmodel.
|
||||
- `void CopyDatabase()` - Copies from remote database to local database using `DTS.Common.Storage` to determine locations.
|
||||
- `void InitializeState(DbType dbType, string dbName)` - Initializes viewmodel state.
|
||||
- `string DbName { get; }` - The database name.
|
||||
- `IStatusAndProgressBarView OverallProgressBarView { get; }` - Overall progress/status display.
|
||||
- `IStatusAndProgressBarView CurrentTaskProgressBarView { get; }` - Current task progress/status display.
|
||||
- `DbType DatabaseType { get; }` - The type of database.
|
||||
- `bool CopyEnabled { get; }` - Whether copy operation is enabled.
|
||||
- `bool IsCopyVisible { get; set; }` - Visibility state for copy UI.
|
||||
|
||||
**IDatabaseStatusBarViewModel** : IBaseViewModel
|
||||
- `IDatabaseStatusBarView View { get; set; }` - The associated view instance.
|
||||
- `void Unset()` - Releases memory/resources associated with the viewmodel.
|
||||
- `DbType DatabaseType { get; }` - The database type (populated via `InitializeValues`).
|
||||
- `bool RemoteConnected { get; }` - Whether remote database is connected (populated via `InitializeValues`).
|
||||
- `string ServerName { get; }` - Server name, not database name (populated via `InitializeValues`).
|
||||
- `void InitializeValues(DbType dbType, string serverName, bool remoteConnected)` - Sets initial values for display.
|
||||
- `string ActiveDbName { get; }` - Current active database name based on type and connection status.
|
||||
- `Brush BackgroundBrush { get; }` - WPF brush for background styling of the active database name.
|
||||
|
||||
### Invariants
|
||||
- `IUserDbRecord.UserName` must be unique across all users.
|
||||
- `IUserDbRecord.Password` must always be a hashed and salted value, never plaintext.
|
||||
- `IDatabaseCopyViewModel.CopyDatabase()` requires a local database with correct tables and stored procedures pre-existing.
|
||||
- `IDatabaseSwitchViewModel` requires a local database with correct schema before switching to local.
|
||||
- `IDatabaseStatusBarViewModel.InitializeValues` must be called before accessing `DatabaseType`, `RemoteConnected`, `ServerName`, or `ActiveDbName`.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (IBaseView, IBaseViewModel), `DTS.Common.Enums.Database` (DbType), `System.Windows.Media` (Brush), `System` (DateTime).
|
||||
- **Depended on by**: Concrete view/viewmodel implementations, database management services, UI components displaying database status.
|
||||
|
||||
### Gotchas
|
||||
- `IUserDbRecord.LocalOnly` is marked as deprecated in the source comments; avoid using it in new code.
|
||||
- `IDatabaseSwitchViewModel` has a commented-out method `SetDefaultDbName` suggesting API evolution; use `InitializeDbSettings` instead.
|
||||
- The `IDatabaseCopyViewModel` documentation states it "clears the local database and populates it with the remote database" - this is a destructive operation.
|
||||
- `IDatabaseStatusBarViewModel.ServerName` returns the server name, not the database name, despite the property name potentially being ambiguous.
|
||||
|
||||
---
|
||||
20
docs/ai/Common/DTS.CommonCore/Interface/DownloadData.md
Normal file
20
docs/ai/Common/DTS.CommonCore/Interface/DownloadData.md
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DownloadData/IDownloadDataView.cs
|
||||
- Common/DTS.CommonCore/Interface/DownloadData/IDownloadDataViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:37.553336+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "840b6a56bd23dbe7"
|
||||
---
|
||||
|
||||
# Documentation: Download Data View Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
This module defines the core contracts for a "Download Data" feature within an MVVM (Model-View-ViewModel) architecture. It provides two marker interfaces, `IDownloadDataView` and `IDownloadDataViewModel`, which establish a type hierarchy for the View and ViewModel layers respectively. These interfaces allow the system to identify specific components associated with data downloading functionality without enforcing specific members at this level, relying instead on the broader `IBaseView` and `IBaseViewModel` contracts.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IDownloadDataView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **File:** `
|
||||
41
docs/ai/Common/DTS.CommonCore/Interface/DownloadEvent.md
Normal file
41
docs/ai/Common/DTS.CommonCore/Interface/DownloadEvent.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/DownloadEvent/IDownloadEvent.cs
|
||||
generated_at: "2026-04-17T16:25:53.216988+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "133af851e3ef2c89"
|
||||
---
|
||||
|
||||
# DownloadEvent
|
||||
|
||||
### Purpose
|
||||
This module defines `IDownloadEvent`, an interface representing a download event within the DTS system. It appears to model individual events in a multi-event download scenario (referenced by FB 6399), providing properties for event identification, UI state management, and duration tracking. The interface extends `INotifyPropertyChanged`, indicating it is designed for data-binding scenarios in a UI layer.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IDownloadEvent`** (extends `INotifyPropertyChanged`)
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `EventNumber` | `int` | get/set | Numeric identifier for the download event. |
|
||||
| `EventNumberDisplay` | `string` | get/set | Display string representation of the event number. |
|
||||
| `IsEnabled` | `bool` | get/set | Controls whether the event is enabled for interaction. |
|
||||
| `IsReadonly` | `bool` | get/set | Controls whether the event is in a read-only state. |
|
||||
| `IsDefault` | `bool` | get | Indicates whether this event is the default selection. |
|
||||
| `EventLength` | `TimeSpan` | get/set | Total length available for the download event. |
|
||||
| `ShouldDisplayLength` | `bool` | get/set | Controls whether event length is displayed in the UI. |
|
||||
|
||||
### Invariants
|
||||
- Implementations must raise `PropertyChanged` events (inherited from `INotifyPropertyChanged`) when any property value changes.
|
||||
- The relationship between `EventNumber` and `EventNumberDisplay` is not defined by the interface; they may or may not be synchronized.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `System`, `System.ComponentModel` (for `INotifyPropertyChanged`).
|
||||
- **Depended on by**: Cannot be determined from source alone.
|
||||
|
||||
### Gotchas
|
||||
- The reference "FB 6399" in the comment suggests this interface was created or modified in response to a feature request or bug fix; historical context may be found in issue tracking.
|
||||
- The interface does not define how `IsDefault` is determined; it is read-only, implying it is computed or set internally by implementations.
|
||||
|
||||
---
|
||||
37
docs/ai/Common/DTS.CommonCore/Interface/EngineerDetails.md
Normal file
37
docs/ai/Common/DTS.CommonCore/Interface/EngineerDetails.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/EngineerDetails/IEngineerDetailsView.cs
|
||||
- Common/DTS.CommonCore/Interface/EngineerDetails/IEngineerDetailsViewModel.cs
|
||||
generated_at: "2026-04-17T16:05:00.432099+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "9277bec9e9bfc347"
|
||||
---
|
||||
|
||||
# EngineerDetails
|
||||
|
||||
### Purpose
|
||||
This module defines the view/viewmodel contract pair for an "EngineerDetails" feature within the DTS application. It follows the MVVM pattern by providing marker interfaces that extend base view and viewmodel abstractions, enabling type-safe binding and dependency injection of EngineerDetails components.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IEngineerDetailsView`** (interface, `DTS.Common.Interface` namespace)
|
||||
- Inherits from: `IBaseView`
|
||||
- Members: None (marker interface)
|
||||
|
||||
**`IEngineerDetailsViewModel`** (interface, `DTS.Common.Interface` namespace)
|
||||
- Inherits from: `IBaseViewModel`
|
||||
- Members: None (marker interface)
|
||||
|
||||
### Invariants
|
||||
- Both interfaces must be implemented together in a matching View/ViewModel pair to maintain MVVM consistency.
|
||||
- Implementations must satisfy the contracts of `IBaseView` and `IBaseViewModel` respectively.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by**: Cannot be determined from source alone (likely EngineerDetails feature implementations and DI container registrations)
|
||||
|
||||
### Gotchas
|
||||
- Neither interface defines any members beyond their base interfaces. The specific data and behavior for engineer details must be defined in concrete implementations.
|
||||
|
||||
---
|
||||
74
docs/ai/Common/DTS.CommonCore/Interface/ExportData.md
Normal file
74
docs/ai/Common/DTS.CommonCore/Interface/ExportData.md
Normal file
@@ -0,0 +1,74 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/ExportData/IExportDataView.cs
|
||||
- Common/DTS.CommonCore/Interface/ExportData/IExportDataViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/ExportData/IExportHeader.cs
|
||||
generated_at: "2026-04-17T16:35:08.907604+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f519a4b3698c2a1b"
|
||||
---
|
||||
|
||||
# Documentation: Export Data Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a set of interfaces for the export data functionality within the DTS system. It establishes contracts for a View-ViewModel pattern (`IExportDataView`, `IExportDataViewModel`) and a data header configuration component (`IExportHeader`). These interfaces enable decoupled components to participate in data export operations, allowing users to configure which columns/headers to export via selection state.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IExportDataView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inheritance:** `IBaseView`
|
||||
- **Signature:**
|
||||
```csharp
|
||||
public interface IExportDataView : IBaseView
|
||||
```
|
||||
- **Description:** A marker interface for views that handle data export functionality. Inherits from `IBaseView` but defines no additional members. Used for type identification and dependency injection resolution.
|
||||
|
||||
---
|
||||
|
||||
### `IExportDataViewModel`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inheritance:** `IBaseViewModel`
|
||||
- **Signature:**
|
||||
```csharp
|
||||
public interface IExportDataViewModel : IBaseViewModel
|
||||
```
|
||||
- **Description:** A marker interface for view models that manage export data operations. Inherits from `IBaseViewModel` but defines no additional members. Used for type identification and dependency injection resolution.
|
||||
|
||||
---
|
||||
|
||||
### `IExportHeader`
|
||||
- **Namespace:** `DTS.Common.Interface.ExportData`
|
||||
- **Inheritance:** `INotifyPropertyChanged`
|
||||
- **Signature:**
|
||||
```csharp
|
||||
public interface IExportHeader : INotifyPropertyChanged
|
||||
{
|
||||
string HeaderName { get; set; }
|
||||
bool IsSelected { get; set; }
|
||||
}
|
||||
```
|
||||
- **Description:** Represents an exportable column header with user-selectable inclusion state. Implementations must support property change notification via `INotifyPropertyChanged`.
|
||||
- **Properties:**
|
||||
- `HeaderName` (`string`) — The display name of the header/column to be exported.
|
||||
- `IsSelected` (`bool`) — Indicates whether this header is selected for inclusion in the export operation.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Namespace inconsistency:** `IExportDataView` and `IExportDataViewModel` reside in `DTS.Common.Interface`, while `IExportHeader` resides in `DTS.Common.Interface.ExportData`. Consumers must reference the correct namespace.
|
||||
- **Property change notification:** Implementations of `IExportHeader` must raise `PropertyChanged` events when `HeaderName` or `IsSelected` are modified, as the interface inherits from `INotifyPropertyChanged`.
|
||||
- **Base type requirements:** Any class implementing `IExportDataView` or `IExportDataViewModel` must also satisfy the contracts of `IBaseView` or `IBaseViewModel` respectively (contracts not shown in provided source).
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
- `System.ComponentModel` — Provides
|
||||
19
docs/ai/Common/DTS.CommonCore/Interface/Graphs.md
Normal file
19
docs/ai/Common/DTS.CommonCore/Interface/Graphs.md
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Graphs/IGraph.cs
|
||||
- Common/DTS.CommonCore/Interface/Graphs/IGraphRecord.cs
|
||||
generated_at: "2026-04-17T16:05:02.587041+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "4450f221b96345de"
|
||||
---
|
||||
|
||||
# Graphs
|
||||
|
||||
### Purpose
|
||||
This module defines the data contract and behavior interface for graph entities within the DTS system. It separates the persistence-focused record definition (`IGraphRecord`) from the operational graph behavior (`IGraph`), supporting database storage of graph configurations including channel assignments, axis constraints, and threshold visualizations for test setups.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IGraphRecord** (`DTS.Common.Interface.Graphs`)
|
||||
- Signature: `public
|
||||
109
docs/ai/Common/DTS.CommonCore/Interface/GroupTemplate.md
Normal file
109
docs/ai/Common/DTS.CommonCore/Interface/GroupTemplate.md
Normal file
@@ -0,0 +1,109 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateListView.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateExportView.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateImportView.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/ITemplateChannelListView.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateInfoControlView.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateInfoControlViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplate.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/ITemplateChannelListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/IGroupTemplateChannel.cs
|
||||
- Common/DTS.CommonCore/Interface/GroupTemplate/ITestObjectTemplate.cs
|
||||
generated_at: "2026-04-17T15:30:08.015465+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "550573257345b336"
|
||||
---
|
||||
|
||||
# Documentation: GroupTemplate Interfaces Module
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract layer for the Group Template subsystem within the DTS application. It provides interfaces for the Model-View-ViewModel (MVVM) pattern implementation, enabling the management, listing, import/export, and channel configuration of Group Templates. The module also defines `ITestObjectTemplate` for test object metadata and `IGroupTemplateChannel` for channel-level configuration within templates. These interfaces serve as the abstraction boundary between UI components and business logic for template management functionality.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### View Interfaces (Marker Interfaces)
|
||||
|
||||
| Interface | Namespace | Base |
|
||||
|-----------|-----------|------|
|
||||
| `IGroupTemplateListView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` |
|
||||
| `IGroupTemplateExportView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` |
|
||||
| `IGroupTemplateImportView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` |
|
||||
| `ITemplateChannelListView` | `DTS.Common.Interface.GroupTemplate` | `IBaseView` |
|
||||
| `IGroupTemplateInfoControlView` | `DataPro.Common.Interface` | `IBaseView` |
|
||||
|
||||
These are marker interfaces with no members, used for view identification and dependency injection resolution.
|
||||
|
||||
---
|
||||
|
||||
### IGroupTemplate
|
||||
|
||||
**Namespace:** `DTS.Common.Interface.GroupTemplate`
|
||||
|
||||
```csharp
|
||||
public interface IGroupTemplate
|
||||
{
|
||||
bool Disabled { get; set; }
|
||||
string Name { get; set; }
|
||||
string Description { get; set; }
|
||||
string Channels { get; set; }
|
||||
string AssociatedGroups { get; set; }
|
||||
string LastModifiedBy { get; set; }
|
||||
DateTime LastModified { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
bool Filter(string term);
|
||||
}
|
||||
```
|
||||
|
||||
Represents a group template entity with metadata properties and a `Filter` method for search functionality.
|
||||
|
||||
---
|
||||
|
||||
### IGroupTemplateViewModel
|
||||
|
||||
**Namespace:** `DTS.Common.Interface.GroupTemplate`
|
||||
|
||||
```csharp
|
||||
public interface IGroupTemplateViewModel : IBaseViewModel
|
||||
{
|
||||
IGroupTemplateImportView ImportView { get; set; }
|
||||
IGroupTemplateExportView ExportView { get; set; }
|
||||
void Unset();
|
||||
}
|
||||
```
|
||||
|
||||
ViewModel for group template operations, holding references to import/export views and providing a cleanup method.
|
||||
|
||||
---
|
||||
|
||||
### IGroupTemplateInfoControlViewModel
|
||||
|
||||
**Namespace:** `DataPro.Common.Interface`
|
||||
|
||||
```csharp
|
||||
public interface IGroupTemplateInfoControlViewModel : IBaseViewModel
|
||||
{
|
||||
IGroupTemplateInfoView View { get; }
|
||||
IGroupTemplateModel SelectedGroupTemplate { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
ViewModel for the group template info control, exposing the shell view and currently selected template. **Note:** `IGroupTemplateInfoView` and `IGroupTemplateModel` are referenced but not defined in the provided source files.
|
||||
|
||||
---
|
||||
|
||||
### IGroupTemplateListViewModel
|
||||
|
||||
**Namespace:** `DTS.Common.Interface.GroupTemplate`
|
||||
|
||||
```csharp
|
||||
public interface IGroupTemplateListViewModel : IBaseViewModel, IFilterableListView
|
||||
{
|
||||
IGroupTemplateListView View { get; set; }
|
||||
void GetAllTemplates
|
||||
65
docs/ai/Common/DTS.CommonCore/Interface/Groups.md
Normal file
65
docs/ai/Common/DTS.CommonCore/Interface/Groups.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Groups/IGroupImportImportView.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/IGroupHardwareDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/IGroupImportOptionsView.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/IGroupImportPreviewView.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/ITestSetupGroupRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/IGroupChannel.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/ITestObject.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/IGroupDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/IGroupImportViewModel.cs
|
||||
generated_at: "2026-04-17T15:31:49.103401+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "56d6c6478dc26053"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.Groups
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core interfaces for the Groups subsystem within the DTS application. It provides abstractions for group import workflows (file selection, preview, validation, and commit), database record mappings for groups and hardware associations, test object definitions, and channel representations. The module serves as a contract layer between the group import UI components, business logic, and the application's data layer, enabling loose coupling between the import module and the host application.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IGroupImportImportView
|
||||
```csharp
|
||||
public interface IGroupImportImportView : IBaseView
|
||||
```
|
||||
An empty marker interface for views responsible for presenting progress feedback during group creation and commit operations.
|
||||
|
||||
---
|
||||
|
||||
### IGroupHardwareDbRecord
|
||||
```csharp
|
||||
public interface IGroupHardwareDbRecord
|
||||
```
|
||||
Describes a GroupHardware database record.
|
||||
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Id` | `int` | Primary key of the GroupHardware record (annotated with `[Key]`, `[Column("Id")]`) |
|
||||
| `GroupId` | `int` | Foreign key reference to a group |
|
||||
| `DASId` | `int` | Data Acquisition System identifier |
|
||||
| `SerialNumber` | `string` | Serial number of the hardware |
|
||||
|
||||
---
|
||||
|
||||
### IGroupImportOptionsView
|
||||
```csharp
|
||||
public interface IGroupImportOptionsView : IBaseView
|
||||
```
|
||||
Controls file selection and validation for the import workflow.
|
||||
|
||||
| Method | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `Validate` | `bool Validate(out List<string> errors, out List<string> warnings)` | Returns `true` if files have been selected; populates `errors` and `warnings` collections with validation results |
|
||||
|
||||
---
|
||||
|
||||
### IGroupImportPreviewView
|
||||
```csharp
|
||||
public interface IGroupImportPreviewView : IBaseView
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Groups/GroupChannelList/IGroupChannelListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/GroupChannelList/IGroupChannelSettingsListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/GroupChannelList/IGroupChannelListViewModel.cs
|
||||
generated_at: "2026-04-17T15:39:38.978793+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "1325ec3612a15b50"
|
||||
---
|
||||
|
||||
# Documentation: Group Channel List Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for the Group Channel List feature within the DTS system. It provides three interfaces that together implement a Model-View-ViewModel (MVVM) pattern for managing, displaying, and configuring group channels associated with test setups and sensor configurations. The module handles channel population, filtering, sorting, ordering, and synchronization between different view representations of channel data.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IGroupChannelListView
|
||||
**Namespace:** `DTS.Common.Interface.Groups.GroupChannelList`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
| Member | Signature
|
||||
58
docs/ai/Common/DTS.CommonCore/Interface/Groups/GroupList.md
Normal file
58
docs/ai/Common/DTS.CommonCore/Interface/Groups/GroupList.md
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Groups/GroupList/IGroupListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/GroupList/TestSetupParentHelper.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/GroupList/IGroupListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Groups/GroupList/IGroup.cs
|
||||
generated_at: "2026-04-17T16:34:45.339712+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "3f7efb55ec13b58e"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.Groups.GroupList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core interfaces and a helper class for the Group List feature within the DTS system. It establishes the contract for group management, including viewing, filtering, sorting, CRUD operations, hardware association, channel configuration, XML serialization, and test setup relationships. The module serves as the abstraction layer between group data entities and their presentation/view logic.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IGroupListView`
|
||||
**Signature:** `public interface IGroupListView : IBaseView { }`
|
||||
|
||||
A marker interface extending `IBaseView`. No members are defined; it serves as a type identifier for group list view implementations.
|
||||
|
||||
---
|
||||
|
||||
### `TestSetupParentHelper`
|
||||
**Signature:** `public class TestSetupParentHelper`
|
||||
|
||||
A POCO helper class for associating test setup information with groups.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `Id` | `int` | Public field for test setup identifier. |
|
||||
| `Name` | `string` | Property for test setup name. |
|
||||
| `Modified` | `bool` | Property tracking modification state. |
|
||||
| `ToString()` | `string` | Override returning the `Name` property. |
|
||||
|
||||
---
|
||||
|
||||
### `IGroupListViewModel`
|
||||
**Signature:** `public interface IGroupListViewModel : IBaseViewModel, IFilterableListView`
|
||||
|
||||
Defines the contract for a group list view model with filtering capabilities.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `View` | `IGroupListView { get; set; }` | Associated view instance. |
|
||||
| `Groups` | `IGroup[] { get; set; }` | Array of groups managed by this view model. |
|
||||
| `Unset` | `void Unset()` | Clears or resets the view model state. |
|
||||
| `Sort` | `void Sort(object o, bool columnClick)` | Sorts groups; parameters' specific meanings unclear from source. |
|
||||
| `OnSetActive` | `void OnSetActive(object page, bool groupTile, object currentUser)` | Called when the view becomes active; parameter types are generic `object`. |
|
||||
| `MouseDoubleClick` | `void MouseDoubleClick(int index)` | Handles double-click interaction on a group at the specified index. |
|
||||
| `Filter` | `void Filter(string term)` | Filters the group list by search term. |
|
||||
| `GetGroup` | `IGroup GetGroup(int? id, bool updateTags = true)` | Retrieves a group
|
||||
68
docs/ai/Common/DTS.CommonCore/Interface/Hardware.md
Normal file
68
docs/ai/Common/DTS.CommonCore/Interface/Hardware.md
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Hardware/IDASMonitorInfo.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/IISOHardware.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/IATDArmStatus.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/IDiagnosticResult.cs
|
||||
generated_at: "2026-04-17T15:37:13.768712+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "5b4c17b1fc03b90c"
|
||||
---
|
||||
|
||||
# Hardware Interface Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core interfaces for hardware abstraction within the DTS (Data Acquisition System) architecture. It provides contracts for monitoring DAS hardware (`IDASMonitorInfo`), managing ISO hardware lifecycle and validation (`IISOHardware`), tracking arm/trigger device status hierarchies (`IAllATDStatus`, `IATDStatus`, `IDistributorArmStatus`, `IDeviceArmStatus`), and capturing diagnostic calibration results (`IDiagnosticResult`). These interfaces enable decoupled communication between the system's hardware layer and higher-level services, supporting operations such as tilt sensor calibration, device arming state management, and channel-level diagnostic data retrieval.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IDASMonitorInfo
|
||||
|
||||
**Properties:**
|
||||
- `string SerialNumber { get; }` — Device serial number.
|
||||
- `double[] TiltSensorCals { get; }` — Calibration values for tilt sensors.
|
||||
- `short[] TiltSensorDataPre { get; }` — Pre-capture tilt sensor data.
|
||||
- `DFConstantsAndEnums.TiltAxes TiltAxes { get; }` — Configured tilt axes.
|
||||
- `int AxisIgnored { get; }` — Index of any ignored axis.
|
||||
- `double MountOffsetAxisOne { get; }` — Mount offset for axis one.
|
||||
- `double MountOffsetAxisTwo { get; }` — Mount offset for axis two.
|
||||
|
||||
**Methods:**
|
||||
- `string GetChannelName(int index)` — Retrieves the channel name at the specified index.
|
||||
- `double GetOffsetTolerancemVLow(int index)` — Retrieves the low offset tolerance in millivolts for the channel at the specified index.
|
||||
- `double GetOffsetTolerancemVHigh(int index)` — Retrieves the high offset tolerance in millivolts for the channel at the specified index.
|
||||
- `void ReadFromFile(string path)` — Reads monitor configuration from a file at the given path.
|
||||
- `void WriteToFile(string path)` — Writes monitor configuration to a file at the given path.
|
||||
|
||||
---
|
||||
|
||||
### IISOHardware (extends `IDASDBRecord`)
|
||||
|
||||
**Properties:**
|
||||
- `HardwareTypes DASTypeEnum { get; set; }` — The hardware type enumeration.
|
||||
- `string IPAddress { get; set; }` — The IP address of the hardware.
|
||||
|
||||
**Methods:**
|
||||
- `void GetChannelsString(out int analog, out int digitalIn, out int digitalOut, out int squib, out int uart, out int streamOut, out int streamIn)` — Retrieves channel counts for all channel types.
|
||||
- `bool IsPseudoRackModule()` — Indicates whether the hardware is capable of being a pseudo-rack module (e.g., SLICE slabs, SLICE6 with S6DB).
|
||||
- `bool IsTSRAIR()` — Indicates whether the hardware is TSRAIR capable.
|
||||
- `bool ValidateSerialNumber(ref List<string> errors)` — Validates the serial number, populating errors list on failure.
|
||||
- `bool ValidateIPAddress(ref List<string> errors)` — Validates the IP address, populating errors list on failure.
|
||||
- `void Insert()` — Inserts this hardware record into the database.
|
||||
- `void Update()` — Updates this hardware record in the database.
|
||||
- `void Delete()` — Removes this hardware from the database.
|
||||
|
||||
---
|
||||
|
||||
### IAllATDStatus
|
||||
|
||||
**Properties:**
|
||||
- `IATDStatus[] ATDs { get; }` — Array of ATD status objects.
|
||||
- `AllATDStatuses OverallStatus { get; }` — Aggregate status across all ATDs.
|
||||
|
||||
**Methods:**
|
||||
- `void AddDevice(IDeviceArmStatus
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Hardware/AddEditHardware/IAddEditHardwareView.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/AddEditHardware/IAddEditHardwareDASModule.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/AddEditHardware/IAddEditHardwareViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/AddEditHardware/IAddEditHardwareHardware.cs
|
||||
generated_at: "2026-04-17T16:34:44.412956+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "907536c511d406d2"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.Hardware.AddEditHardware
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for the "Add/Edit Hardware" feature within the DTS system. It provides interfaces for a Model-View-ViewModel (MVVM) architecture that manages Data Acquisition System (DAS) hardware configuration, including modules, serial numbers, firmware versions, IP addresses, rack configurations, and SLICE hardware integration. The module supports both physical hardware and "stand-in" (virtual/placeholder) hardware representations, enabling users to create, edit, and validate hardware records before persisting them to the database.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IAddEditHardwareView
|
||||
**Inherits from:** `IBaseView`
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `Activated` | `void Activated()` | Notifies the view that it has been activated and should handle any post-activation work. |
|
||||
| `ViewDbVersion` | `int ViewDbVersion { get; set; }` | Gets or sets the database version associated with the view. |
|
||||
|
||||
---
|
||||
|
||||
### IAddEditHardwareViewModel
|
||||
**Inherits from:**
|
||||
@@ -0,0 +1,55 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Hardware/HardwareList/ISLICE6TreeView.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/HardwareList/IHardwareListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/HardwareList/IHardwareListSelectView.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/HardwareList/IHardwareListOverdueView.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/HardwareList/IHardwareListReplaceView.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/HardwareList/ISLICE6TreeNode.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/HardwareList/IHardware.cs
|
||||
- Common/DTS.CommonCore/Interface/Hardware/HardwareList/IHardwareListViewModel.cs
|
||||
generated_at: "2026-04-17T15:32:47.168530+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "af82a8a0bf11db3d"
|
||||
---
|
||||
|
||||
# Hardware List Interfaces Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the interfaces for managing hardware inventory within the DTS diagnostics system. It provides abstractions for viewing, selecting, replacing, and tracking calibration status of various hardware types (SLICE6, SLICE6DB, TDAS, G5, POWERPRO, TSR Air, etc.). The module supports hardware association workflows (linking SLICE6 units to SLICE6DB units), calibration overdue tracking, hardware replacement during tests, and sample rate/clock synchronization configuration. It follows a Model-View-ViewModel (MVVM) pattern with view interfaces and a main `IHardwareListViewModel` orchestrating operations.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### View Interfaces
|
||||
|
||||
All view interfaces are marker interfaces extending `IBaseView` with no additional members:
|
||||
|
||||
| Interface | Purpose (inferred from name) |
|
||||
|-----------|------------------------------|
|
||||
| `IHardwareListView` | Main hardware list display |
|
||||
| `IHardwareListSelectView` | Hardware selection UI |
|
||||
| `IHardwareListOverdueView` | Displays overdue calibration hardware |
|
||||
| `IHardwareListReplaceView` | Hardware replacement workflow UI |
|
||||
| `ISLICE6TreeView` | Tree view for SLICE6 hardware associations |
|
||||
|
||||
### ISLICE6TreeNode
|
||||
|
||||
Represents a node in the SLICE6 tree hierarchy.
|
||||
|
||||
```csharp
|
||||
public interface ISLICE6TreeNode
|
||||
{
|
||||
int DASId { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
int Port { get; set; }
|
||||
string PortString { get; } // Read-only
|
||||
int Number { get; set; }
|
||||
int PositionOnChain { get; set; }
|
||||
string PositionOnChainString { get; } // Read-only
|
||||
}
|
||||
```
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/ISO/ExtraProperties/IExtraPropertiesListView.cs
|
||||
- Common/DTS.CommonCore/Interface/ISO/ExtraProperties/IExtraPropertiesListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/ISO/ExtraProperties/IExtraProperty.cs
|
||||
generated_at: "2026-04-17T16:35:09.375049+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "81b9bbf7852fdb8a"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.ISO.ExtraProperties
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for a Model-View-ViewModel (MVVM) pattern implementation for managing extra properties in an ISO-related context. It provides interfaces for a key-value property list system where users can view, edit, copy, delete, filter, and sort custom properties. The module supports read-only modes, multi-row paste operations (e.g., CSV data), and validation with error reporting. It is designed to integrate with a broader page-based application framework.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IExtraPropertiesListView`
|
||||
**Signature:** `public interface IExtraPropertiesListView : IBaseView { }`
|
||||
|
||||
A marker interface representing the view component in the MVVM pattern. It extends `IBaseView` and defines no additional members.
|
||||
|
||||
---
|
||||
|
||||
### `IExtraPropertiesListViewModel`
|
||||
**Signature:** `public interface IExtraPropertiesListViewModel : IBaseViewModel`
|
||||
|
||||
Defines the ViewModel contract for managing a collection of extra properties.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `SetPage` | `void SetPage(IDataPROPage page)` | Associates a page context with the ViewModel. |
|
||||
| `SetParent` | `void SetParent(object parent)` | Sets a parent object reference. |
|
||||
| `View` | `IExtraPropertiesListView View { get; set; }` | Gets or sets the associated view instance. |
|
||||
| `CopySelected` | `void CopySelected()` | Copies the currently selected properties. |
|
||||
| `DeleteSelected` | `void DeleteSelected()` | Deletes the currently selected properties. |
|
||||
| `ExtraProperties` | `ObservableCollection<IExtraProperty> ExtraProperties { get; set; }` | The observable collection of extra properties for UI binding. |
|
||||
| `SetExtraProperties` | `void SetExtraProperties(IList<IExtraProperty> properties)` | Replaces the property collection with the provided list. |
|
||||
| `Filter` | `void Filter(object tag, string term)` | Filters the property collection based on a tag and search term. |
|
||||
| `Sort` | `void Sort(object o, bool columnClick)` | Sorts the property collection. |
|
||||
| `Validate` | `bool Validate(ref List<string> errors)` | Validates the properties; returns `true` if valid, `false` otherwise. Errors are added to the provided list. |
|
||||
|
|
||||
62
docs/ai/Common/DTS.CommonCore/Interface/LabDetails.md
Normal file
62
docs/ai/Common/DTS.CommonCore/Interface/LabDetails.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsView.cs
|
||||
- Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsMenuView.cs
|
||||
- Common/DTS.CommonCore/Interface/LabDetails/ILabDetailsMenuViewModel.cs
|
||||
generated_at: "2026-04-17T16:34:43.882505+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "b87639c5f06e073a"
|
||||
---
|
||||
|
||||
# Documentation: LabDetails Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines four marker interfaces for the "LabDetails" feature within an MVVM (Model-View-ViewModel) architecture. These interfaces establish type contracts for views and viewmodels, enabling dependency injection, view-model binding, and separation of concerns. The module provides two parallel hierarchies: a standard view/viewmodel pair extending base types, and a "Menu" variant integrating with a Ribbon control system.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ILabDetailsView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inheritance:** `IBaseView` (from `DTS.Common.Base`)
|
||||
- **Members:** None defined (marker interface)
|
||||
- **Description:** Represents the view contract for LabDetails display functionality.
|
||||
|
||||
### `ILabDetailsViewModel`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inheritance:** `IBaseViewModel` (from `DTS.Common.Base`)
|
||||
- **Members:** None defined (marker interface)
|
||||
- **Description:** Represents the viewmodel contract for LabDetails presentation logic.
|
||||
|
||||
### `ILabDetailsMenuView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inheritance:** `IRibbonView` (from `DTS.Common.RibbonControl`)
|
||||
- **Members:** None defined (marker interface)
|
||||
- **Description:** Represents a Ribbon-integrated menu view for LabDetails functionality.
|
||||
|
||||
### `ILabDetailsMenuViewModel`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Inheritance:** `IRibbonViewModel` (from `DTS.Common.RibbonControl`)
|
||||
- **Members:** None defined (marker interface)
|
||||
- **Description:** Represents the viewmodel contract for the LabDetails Ribbon menu.
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- All four interfaces are **marker interfaces** with no members of their own; all behavior contracts are inherited from their respective base interfaces.
|
||||
- The naming convention implies a strict pairing: `ILabDetailsView` pairs with `ILabDetailsViewModel`, and `ILabDetailsMenuView` pairs with `ILabDetailsMenuViewModel`.
|
||||
- All types reside in the `DTS.Common.Interface` namespace.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### External Dependencies (Imports)
|
||||
| Interface | Dependency | Source Namespace |
|
||||
|-----------|------------|------------------|
|
||||
| `ILabDetailsView` | `IBaseView` | `DTS.Common.Base` |
|
||||
| `ILabDetailsViewModel` | `IBaseViewModel` | `DTS.Common.Base` |
|
||||
| `ILabDetailsMenuView` | `IRibbonView` | `DTS.Common.RibbonControl` |
|
||||
| `ILabDetailsMenuViewModel` | `IRibbonViewModel` | `DTS.Common.RibbonControl` |
|
||||
|
||||
### Downstream Dependencies
|
||||
-
|
||||
37
docs/ai/Common/DTS.CommonCore/Interface/ManageUsers.md
Normal file
37
docs/ai/Common/DTS.CommonCore/Interface/ManageUsers.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/ManageUsers/IManageUsersView.cs
|
||||
- Common/DTS.CommonCore/Interface/ManageUsers/IManageUsersViewModel.cs
|
||||
generated_at: "2026-04-17T16:05:06.830625+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "855c03757cadeb14"
|
||||
---
|
||||
|
||||
# ManageUsers
|
||||
|
||||
### Purpose
|
||||
This module defines the View and ViewModel contract interfaces for a user management feature within the DTS application. It follows the MVVM (Model-View-ViewModel) pattern by providing marker interfaces that extend base view and viewmodel abstractions, enabling loose coupling between the user management UI components and their backing logic.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IManageUsersView`** (extends `IBaseView`)
|
||||
- Empty marker interface defining the view contract for the Manage Users feature.
|
||||
- No members defined beyond those inherited from `IBaseView`.
|
||||
|
||||
**`IManageUsersViewModel`** (extends `IBaseViewModel`)
|
||||
- Empty marker interface defining the viewmodel contract for the Manage Users feature.
|
||||
- No members defined beyond those inherited from `IBaseViewModel`.
|
||||
|
||||
### Invariants
|
||||
- Both interfaces must be implemented by their respective MVVM components (View and ViewModel).
|
||||
- Implementations must satisfy the contracts of `IBaseView` and `IBaseViewModel` respectively.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on:** `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by:** Not determinable from source alone (likely concrete View/ViewModel implementations and DI containers)
|
||||
|
||||
### Gotchas
|
||||
- Neither interface adds any members beyond their base interfaces. The actual user management operations and properties must be defined in implementations or potentially in a separate extended interface not shown here.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Menu/HamburgerMenu/IHamburgerMenuView.cs
|
||||
- Common/DTS.CommonCore/Interface/Menu/HamburgerMenu/IHamburgerMenuViewModel.cs
|
||||
generated_at: "2026-04-17T16:24:21.607360+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c1eeca6aafb66d5d"
|
||||
---
|
||||
|
||||
# HamburgerMenu
|
||||
|
||||
### Purpose
|
||||
This module defines the contract for hamburger menu navigation components. It provides interfaces for a collapsible side menu system that supports dynamic menu items, context menus, and lifecycle management for menu activation and deactivation.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IHamburgerMenuView`**
|
||||
- Signature: `public interface IHamburgerMenuView : IBaseView`
|
||||
- Description: Marker interface extending `IBaseView` for hamburger menu view components. No members defined. XML comment indicates it is a "view for group channels."
|
||||
|
||||
**`IHamburgerMenuViewModel`**
|
||||
- Signature: `public interface IHamburgerMenuViewModel : IBaseViewModel`
|
||||
- Description: ViewModel interface for hamburger menu with the following members:
|
||||
- `IHamburgerMenuView View { get; set; }` - Gets or sets the associated view.
|
||||
- `void OnSetActive()` - Called when the view is loaded/activated.
|
||||
- `void Unset()` - Called when the view is unloaded/deactivated
|
||||
67
docs/ai/Common/DTS.CommonCore/Interface/Networking.md
Normal file
67
docs/ai/Common/DTS.CommonCore/Interface/Networking.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Networking/INetworkingView.cs
|
||||
- Common/DTS.CommonCore/Interface/Networking/INetworkAdapterView.cs
|
||||
- Common/DTS.CommonCore/Interface/Networking/INetworkAdapterViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Networking/INetworkingViewModel.cs
|
||||
generated_at: "2026-04-17T16:34:44.176353+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "5c0ed660e23edfb6"
|
||||
---
|
||||
|
||||
# Networking Interfaces Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core interfaces for networking-related Views and ViewModels within the DTS application framework. It establishes the contract for a Model-View-ViewModel (MVVM) architecture focused on network configuration, specifically providing abstractions for network adapter selection and SLICE6 multicast communication settings. The interfaces enable decoupling between UI components and business logic for networking features.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `INetworkingView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseView`
|
||||
|
||||
A marker interface with no members. Used to identify views that handle networking functionality.
|
||||
|
||||
---
|
||||
|
||||
### `INetworkAdapterView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseView`
|
||||
|
||||
A marker interface with no members. Used to identify views that handle individual network adapter display/selection.
|
||||
|
||||
---
|
||||
|
||||
### `INetworkAdapterViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseViewModel`
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `SelectedNetworkInterface` | `NetworkInterface` | get/set | Represents the currently selected network adapter. Uses `System.Net.NetworkInformation.NetworkInterface`. |
|
||||
|
||||
---
|
||||
|
||||
### `INetworkingViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseViewModel`
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `View` | `INetworkingView` | get/set | Reference to the associated view instance. |
|
||||
| `SLICE6MulticastAddress` | `string` | get/set | The multicast address used for SLICE6 communication. |
|
||||
| `SLICE6MulticastAddressHasError` | `bool` | get | Indicates whether the multicast address has validation errors. |
|
||||
| `SLICE6MulticastCommandPort` | `int` | get/set | The port number for SLICE6 multicast commands. |
|
||||
| `SLICE6MulticastResponsePort` | `int` | get/set | The port number for SLICE6 multicast responses. |
|
||||
|
||||
**Methods:**
|
||||
|
||||
| Signature | Description |
|
||||
|-----------|-------------|
|
||||
| `void SetStatus(StatusInfo.StatusState status, string message = "", decimal percentage = -1, int processId = 0)` | Updates the status display with the given state, optional message, progress percentage, and process identifier. Default values provided for optional parameters
|
||||
42
docs/ai/Common/DTS.CommonCore/Interface/Pagination.md
Normal file
42
docs/ai/Common/DTS.CommonCore/Interface/Pagination.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Pagination/IPaginationView.cs
|
||||
- Common/DTS.CommonCore/Interface/Pagination/IPaginationViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Pagination/IFilterableListView.cs
|
||||
generated_at: "2026-04-17T16:22:31.599472+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "2cac2f28b0d18155"
|
||||
---
|
||||
|
||||
# Pagination
|
||||
|
||||
### Purpose
|
||||
This module defines interfaces for pagination and filtering functionality within the DTS system. It provides marker interfaces for pagination views and view models, as well as a contract for filterable list views. These interfaces enable a consistent pattern for implementing paginated, searchable UI components across the application.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IPaginationView** (extends `IBaseView`)
|
||||
- Marker interface with no members. Identifies views that support pagination.
|
||||
|
||||
**IPaginationViewModel** (extends `IBaseViewModel`)
|
||||
- Marker interface with no members. Identifies view models that support pagination.
|
||||
|
||||
**IFilterableListView**
|
||||
- `void Filter(object tag, string term)` - Applies a filter to the list view using the provided tag and search term.
|
||||
- `void ClearAllFilters()` - Removes all active filters from the list view.
|
||||
- `string ListViewId { get; }` - Returns the identifier for this list view instance.
|
||||
|
||||
### Invariants
|
||||
- `IFilterableListView.ListViewId` must return a consistent identifier for the lifetime of the view instance.
|
||||
- Both `IPaginationView` and `IPaginationViewModel` must be compatible with their respective base types (`IBaseView` and `IBaseViewModel`) from `DTS.Common.Base`.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (for `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by**: Unknown from source alone (likely pagination UI components and list views)
|
||||
|
||||
### Gotchas
|
||||
- `IPaginationView` and `IPaginationViewModel` are marker interfaces with no members, suggesting they may be used for type checking or dependency injection registration rather than defining behavioral contracts.
|
||||
- The `Filter` method accepts `object tag` as a parameter; the expected type and usage of this tag is not specified in the interface.
|
||||
|
||||
---
|
||||
66
docs/ai/Common/DTS.CommonCore/Interface/Realtime.md
Normal file
66
docs/ai/Common/DTS.CommonCore/Interface/Realtime.md
Normal file
@@ -0,0 +1,66 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Realtime/IRealtimeChannelSelectView.cs
|
||||
- Common/DTS.CommonCore/Interface/Realtime/IRealtimeChannelSelectViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Realtime/IRealtimeChannel.cs
|
||||
generated_at: "2026-04-17T16:35:08.947848+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "816f2fb1c5b40348"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.Realtime
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for a realtime channel selection feature within the DTS system, following the Model-View-ViewModel (MVVM) pattern. It provides interfaces for representing sensor/channel data (`IRealtimeChannel`) and the UI components for selecting channels (`IRealtimeChannelSelectView`, `IRealtimeChannelSelectViewModel`). The module abstracts the presentation layer from the underlying data model, enabling users to search and select from available realtime data channels associated with sensor hardware.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IRealtimeChannelSelectView`
|
||||
**Namespace:** `DTS.Common.Interface.Realtime`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
A marker interface with no members. It serves as a typed view contract for channel selection UI components.
|
||||
|
||||
---
|
||||
|
||||
### `IRealtimeChannelSelectViewModel`
|
||||
**Namespace:** `DTS.Common.Interface.Realtime`
|
||||
**Inherits:** `IBaseViewModel`
|
||||
|
||||
Defines the behavior for a view model that manages channel selection state.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `ChannelSelectView` | `IRealtimeChannelSelectView` { get; set; } | Property to associate the view with this view model. |
|
||||
| `SetAvailableChannels(IRealtimeChannel[] channels)` | `void` | Populates the view model with an array of selectable channels. |
|
||||
| `SetSearchText(string searchText)` | `void` | Updates the search/filter text for narrowing the channel list. |
|
||||
| `SetRealtimeChannel(IRealtimeChannel channel)` | `void` | Sets the currently selected channel. |
|
||||
|
||||
---
|
||||
|
||||
### `IRealtimeChannel`
|
||||
**Namespace:** `DTS.Common.Interface.Realtime`
|
||||
|
||||
Represents a realtime data channel from a sensor or data acquisition system.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `Capacity` | `double` | Read-only property representing channel capacity. |
|
||||
| `DisplayOrder` | `int` | Read-only property for UI sorting/ordering. |
|
||||
| `SensorName` | `string` | Name of the associated sensor. |
|
||||
| `ChannelName` | `string` | Name of this specific channel. |
|
||||
| `DasNames` | `string[]` | Array of Data Acquisition System names. |
|
||||
| `SensorSerial` | `string` | Serial number of the sensor. |
|
||||
| `Units` | `string` | Measurement units. |
|
||||
| `UserValue1` | `string` | User-defined value (purpose unclear from source). |
|
||||
| `GroupName` | `string` | Group classification for the channel. |
|
||||
| `DisplayUnit` | `string` | Units formatted for display. |
|
||||
| `HardwareChannelString` | `string` | Hardware identifier string. |
|
||||
| `ISOCode` | `string` | ISO standard code. |
|
||||
| `SensorsString` | `string` | String representation of sensors. |
|
||||
| `DasName` | `string` | Single DAS name. |
|
||||
| `
|
||||
62
docs/ai/Common/DTS.CommonCore/Interface/RegionOfInterest.md
Normal file
62
docs/ai/Common/DTS.CommonCore/Interface/RegionOfInterest.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/RegionOfInterest/IRegionOfInterest.cs
|
||||
generated_at: "2026-04-17T16:38:32.163819+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "aa8c3bd25b4f0eb9"
|
||||
---
|
||||
|
||||
# Documentation: IRegionOfInterest Interface
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
The `IRegionOfInterest` interface defines a contract for representing a bounded region of interest within a data stream or signal. It extends `INotifyPropertyChanged`, indicating it is designed for use in data-binding scenarios (typically UI frameworks like WPF). The interface captures temporal/spatial boundaries (`Start`, `End`), associated channel metadata, and state flags for enabling or marking default regions. This abstraction allows different implementations of ROI behavior while maintaining a consistent interface for consumers.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### Properties
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `Suffix` | `string` | get/set | A string suffix associated with the region. |
|
||||
| `Start` | `double` | get/set | The starting boundary of the region. |
|
||||
| `End` | `double` | get/set | The ending boundary of the region. |
|
||||
| `IsEnabled` | `bool` | get/set | Flag indicating whether the region is active/enabled. |
|
||||
| `IsDefault` | `bool` | get/set | Flag indicating whether this region is the default. |
|
||||
| `ChannelNames` | `string[]` | get/set | Array of channel names associated with this region. |
|
||||
|
||||
### Methods
|
||||
|
||||
| Method | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `SetChannelNamesNoNotify` | `void SetChannelNamesNoNotify(string[] names)` | Sets the `ChannelNames` property without raising property change notifications. |
|
||||
| `ResetSuffix` | `void ResetSuffix()` | Resets the `Suffix` property to a default or calculated value. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **INotifyPropertyChanged Contract**: All implementations must raise `PropertyChanged` events when property values change (except when using `SetChannelNamesNoNotify`).
|
||||
- **No explicit ordering guarantee**: The interface does not enforce that `Start` must be less than `End`; this constraint, if required, must be enforced by implementations.
|
||||
- **No null constraints visible**: The interface does not specify nullability requirements for `Suffix`, `ChannelNames`, or the `names` parameter.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `System.ComponentModel` — for the `INotifyPropertyChanged` interface.
|
||||
|
||||
### What depends on this module:
|
||||
- **Cannot be determined from source alone.** As an interface definition, any class implementing `IRegionOfInterest` or any consumer accepting this interface as a parameter depends on this module.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **`SetChannelNamesNoNotify` bypasses change notification**: This method exists specifically to set `ChannelNames` without triggering `PropertyChanged` events. Callers should be aware that UI bindings may not update automatically when using this method.
|
||||
- **`ResetSuffix` behavior is undefined in the interface**: The method implies there is a default or computed suffix value, but the logic for what "reset" means is implementation-specific and not documented in the interface.
|
||||
- **No validation at interface level**: There are no constraints on `Start`/`End` ordering, `ChannelNames` array contents, or mutual exclusivity of `IsDefault` across multiple regions. Implementations must define and document these behaviors.
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/RegionOfInterest/RegionOfInterestChannels/IRegionOfInterestChannelsView.cs
|
||||
- Common/DTS.CommonCore/Interface/RegionOfInterest/RegionOfInterestChannels/IRegionOfInterestChannelsViewModel.cs
|
||||
generated_at: "2026-04-17T16:24:05.772210+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "a4d7f5d5274dd3fe"
|
||||
---
|
||||
|
||||
# RegionOfInterestChannels
|
||||
|
||||
### Purpose
|
||||
This module defines the view and view-model interfaces for managing Region of Interest (ROI) channel configurations within the DTS system. It provides the contract for UI components that display and manipulate ROI channel assignments, supporting filtering, sorting, validation, and group/test configuration operations.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IRegionOfInterestChannelsView**
|
||||
- `interface IRegionOfInterestChannelsView : IBaseView` — Marker interface for the ROI channels view component. No additional members defined.
|
||||
|
||||
**IRegionOfInterestChannelsViewModel**
|
||||
- `interface IRegionOfInterestChannelsViewModel : IBaseViewModel` — View-model contract for ROI channels management.
|
||||
|
||||
**Methods:
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Reports/PedestrianAndHead/ITRLReportInputView.cs
|
||||
- Common/DTS.CommonCore/Interface/Reports/PedestrianAndHead/ITRLReportOutputView.cs
|
||||
- Common/DTS.CommonCore/Interface/Reports/PedestrianAndHead/IHeadReportInputView.cs
|
||||
- Common/DTS.CommonCore/Interface/Reports/PedestrianAndHead/IHeadReportOutputView.cs
|
||||
- Common/DTS.CommonCore/Interface/Reports/PedestrianAndHead/ITRLReportViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Reports/PedestrianAndHead/IHeadReportViewModel.cs
|
||||
generated_at: "2026-04-17T16:22:17.504241+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "ae48eeae279506d3"
|
||||
---
|
||||
|
||||
# PedestrianAndHead
|
||||
|
||||
### Purpose
|
||||
This module defines the MVVM contract layer for two specific report types: TRL (likely related to pedestrian impact testing) and Head reports. Each report follows an input/output view pattern, separating parameter input from results display. The module provides abstraction for report generation workflows in what appears to be a test measurement or safety testing domain.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**ITRLReportInputView** : IBaseView
|
||||
- Marker interface for TRL report input view. No members defined.
|
||||
|
||||
**ITRLReportOutputView** : IBaseView
|
||||
- Marker interface for TRL report output view. No members defined.
|
||||
|
||||
**IHeadReportInputView** : IBaseView
|
||||
- Marker interface for Head report input view. No members defined.
|
||||
|
||||
**IHeadReportOutputView** : IBaseView
|
||||
- Marker interface for Head report output view. No members defined.
|
||||
|
||||
**ITRLReportViewModel** : IBaseViewModel
|
||||
- `ITRLReportInputView InputView { get; set; }` - The input view for report parameters.
|
||||
- `ITRLReportOutputView OutputView { get; set; }` - The output view for report results.
|
||||
|
||||
**IHeadReportViewModel** : IBaseViewModel
|
||||
- `IHeadReportInputView InputView { get; set; }` - The input view for report parameters.
|
||||
- `IHeadReportOutputView OutputView { get; set; }` - The output view for report results.
|
||||
|
||||
### Invariants
|
||||
- Each report viewmodel must have both `InputView` and `OutputView` set for full functionality (implied by the interface design, though not enforced at compile time).
|
||||
- All views inherit from `IBaseView` and viewmodels from `IBaseViewModel`, ensuring consistency with the broader MVVM framework.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (IBaseView, IBaseViewModel).
|
||||
- **Depended on by**: Concrete TRL and Head report implementations, report generation services, navigation/routing systems.
|
||||
|
||||
### Gotchas
|
||||
- The interfaces are minimal marker interfaces with no behavior contracts defined. The actual report-specific properties and methods are not visible in these interfaces, suggesting either extension via other interfaces or implementation-specific behavior.
|
||||
- The relationship between "TRL" and "Pedestrian" in the module path suggests TRL may refer to Transport Research Laboratory pedestrian safety standards, but this is inferred from naming context only.
|
||||
|
||||
---
|
||||
35
docs/ai/Common/DTS.CommonCore/Interface/RunTest.md
Normal file
35
docs/ai/Common/DTS.CommonCore/Interface/RunTest.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/RunTest/IRunTestView.cs
|
||||
- Common/DTS.CommonCore/Interface/RunTest/IRunTestViewModel.cs
|
||||
generated_at: "2026-04-17T16:05:06.832156+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "325cee08d3192289"
|
||||
---
|
||||
|
||||
# RunTest
|
||||
|
||||
### Purpose
|
||||
This module defines the View and ViewModel contract interfaces for a test execution feature within the DTS application. It follows the MVVM pattern, providing marker interfaces that establish the contract between test execution UI components and their coordinating viewmodels.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IRunTestView`** (extends `IBaseView`)
|
||||
- Empty marker interface defining the view contract for the Run Test feature.
|
||||
- No members defined beyond those inherited from `IBaseView`.
|
||||
|
||||
**`IRunTestViewModel`** (extends `IBaseViewModel`)
|
||||
- Empty marker interface defining the viewmodel contract for the Run Test feature.
|
||||
- No members defined beyond those inherited from `IBaseViewModel`.
|
||||
|
||||
### Invariants
|
||||
- Both interfaces must be implemented by their respective MVVM components.
|
||||
- Implementations must satisfy the contracts of `IBaseView` and `IBaseViewModel` respectively.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on:** `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by:** Not determinable from source alone
|
||||
|
||||
### Gotchas
|
||||
- Neither interface adds any members beyond their base interfaces. The actual test execution operations are not specified
|
||||
58
docs/ai/Common/DTS.CommonCore/Interface/SensorDatabase.md
Normal file
58
docs/ai/Common/DTS.CommonCore/Interface/SensorDatabase.md
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SensorDatabase/ISensorDatabaseView.cs
|
||||
- Common/DTS.CommonCore/Interface/SensorDatabase/ISensorDatabaseViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:39.478797+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "b6f8f287843a3841"
|
||||
---
|
||||
|
||||
# Documentation: ISensorDatabaseView & ISensorDatabaseViewModel
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two marker interfaces—`ISensorDatabaseView` and `ISensorDatabaseViewModel`—that establish type identity for components within a SensorDatabase feature. These interfaces follow the MVVM (Model-View-ViewModel) architectural pattern, providing a contract layer that allows views and view models to be identified, resolved, or injected by type within the broader DTS system. They serve as extension points that inherit from base framework types without adding additional members.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ISensorDatabaseView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Declaration:** `public interface ISensorDatabaseView : IBaseView`
|
||||
- **Members:** None (empty interface)
|
||||
- **Behavior:** Marker interface that extends `IBaseView`. Confers type identity for SensorDatabase-related view components.
|
||||
|
||||
### `ISensorDatabaseViewModel`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Declaration:** `public interface ISensorDatabaseViewModel : IBaseViewModel`
|
||||
- **Members:** None (empty interface)
|
||||
- **Behavior:** Marker interface that extends `IBaseViewModel`. Confers type identity for SensorDatabase-related view model components.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `ISensorDatabaseView` must always inherit from `IBaseView`.
|
||||
- `ISensorDatabaseViewModel` must always inherit from `IBaseViewModel`.
|
||||
- Both interfaces define no members of their own; any behavior is inherited from their respective base interfaces.
|
||||
|
||||
**Note:** The specific invariants of `IBaseView` and `IBaseViewModel` are not visible in the provided source and cannot be documented here.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base types.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unknown from source alone.** Consumers would be any concrete view or view model implementations related to the SensorDatabase feature, as well as any registration, navigation, or dependency injection infrastructure that resolves components by interface type.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Empty marker interfaces:** Both interfaces define no members. Developers should not expect any SensorDatabase-specific methods or properties on these interfaces; any such members would need to be defined on implementing classes or on the base interfaces (`IBaseView`/`IBaseViewModel`), whose definitions are not available in the provided source.
|
||||
- **Base interface contracts unknown:** The actual contract obligations for implementers are determined by `IBaseView` and `IBaseViewModel`. Without visibility into `DTS.Common.Base`, the full set of required members is unknown.
|
||||
70
docs/ai/Common/DTS.CommonCore/Interface/SensorTemplates.md
Normal file
70
docs/ai/Common/DTS.CommonCore/Interface/SensorTemplates.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SensorTemplates/ISensorTemplatesView.cs
|
||||
- Common/DTS.CommonCore/Interface/SensorTemplates/ISensorTemplatesViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:36.486561+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f0d33ed4bf01b733"
|
||||
---
|
||||
|
||||
# Documentation: Sensor Templates View Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two marker interfaces, `ISensorTemplatesView` and `ISensorTemplatesViewModel`, which establish the View and ViewModel contracts for a sensor templates feature within an MVVM (Model-View-ViewModel) architecture. These interfaces exist to provide type identification and contractual boundaries for sensor template-related UI components, inheriting core view/viewmodel behaviors from base types while remaining extensible for future member additions.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ISensorTemplatesView`
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface ISensorTemplatesView : IBaseView
|
||||
```
|
||||
**Location:** `DTS.Common.Interface` namespace
|
||||
|
||||
**Behavior:** An empty marker interface extending `IBaseView`. Defines no additional members beyond its base contract. Intended to be implemented by view classes responsible for rendering sensor templates UI.
|
||||
|
||||
---
|
||||
|
||||
### `ISensorTemplatesViewModel`
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface ISensorTemplatesViewModel : IBaseViewModel
|
||||
```
|
||||
**Location:** `DTS.Common.Interface` namespace
|
||||
|
||||
**Behavior:** An empty marker interface extending `IBaseViewModel`. Defines no additional members beyond its base contract. Intended to be implemented by viewmodel classes that manage state and logic for sensor templates views.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both interfaces must always inherit from their respective base interfaces (`IBaseView` and `IBaseViewModel` from `DTS.Common.Base`).
|
||||
- Implementers of `ISensorTemplatesView` are expected to also satisfy the `IBaseView` contract (specific members unknown from this source alone).
|
||||
- Implementers of `ISensorTemplatesViewModel` are expected to also satisfy the `IBaseViewModel` contract (specific members unknown from this source alone).
|
||||
- The pairing between `ISensorTemplatesView` and `ISensorTemplatesViewModel` implies a 1:1 relationship in the MVVM pattern, though this is not enforced at the interface level.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
|
||||
**What depends on this module:**
|
||||
- Unknown from source alone. Likely consumed by:
|
||||
- Concrete view implementations (e.g., WinForms, WPF, or web-based sensor templates UI)
|
||||
- Concrete viewmodel implementations for sensor templates
|
||||
- DI/IoC container registrations
|
||||
- Navigation or view resolution logic
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Empty interfaces:** Both interfaces currently define no members. This may indicate either early-stage development or a design relying entirely on base interface contracts. The practical utility of these interfaces cannot be determined from source alone.
|
||||
- **Base interface contracts unknown:** The actual members required by `IBaseView` and `IBaseViewModel` are not visible in these files. Developers implementing these interfaces must consult `DTS.Common.Base` to understand full contractual obligations.
|
||||
- **Naming convention:** The file path (`Interface/SensorTemplates/`) suggests a larger organizational structure for sensor-related interfaces, but the broader context is unavailable.
|
||||
478
docs/ai/Common/DTS.CommonCore/Interface/Sensors.md
Normal file
478
docs/ai/Common/DTS.CommonCore/Interface/Sensors.md
Normal file
@@ -0,0 +1,478 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IZeroMethods.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IInitialOffsets.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISensorDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IStreamInputSettingDefaults.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISoftwareFilter.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IDigitalOutDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IStreamInputRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IDigitalOutDefaults.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IDigitalInputDefaults.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IDigitalInputScaleMultiplier.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IUartSettingDefaults.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IAnalogDefaults.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISensorCalDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISensorChange.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IUARTRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IStreamOutputSettingDefaults.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISensorCalibration.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IStreamOutputRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ICalibrationRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IIEPESensorDefaults.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISquibDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISensorBase.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISquibSettingDefaults.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IDigitalInDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/ISensorData.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/IAnalogDbRecord.cs
|
||||
generated_at: "2026-04-17T15:27:43.342524+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "2d30222c5e53ac51"
|
||||
---
|
||||
|
||||
# DTS.Common.Interface.Sensors Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core abstraction layer for sensor management in the DTS system. It provides interfaces for sensor database records, calibration data, hardware configuration (digital I/O, UART, stream I/O, squib), and default settings for various sensor types. These interfaces enable polymorphic handling of different sensor categories while maintaining consistent database persistence contracts and validation rules. The module serves as the contract between the data layer and business logic for all sensor-related operations.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### Marker Interfaces
|
||||
|
||||
| Interface | Description |
|
||||
|-----------|-------------|
|
||||
| `IZeroMethods` | Empty marker interface (purpose unclear from source alone). |
|
||||
| `IInitialOffsets` | Empty marker interface (purpose unclear from source alone). |
|
||||
|
||||
### Database Record Interfaces
|
||||
|
||||
#### `ISensorDbRecord`
|
||||
```csharp
|
||||
int id { get; set; }
|
||||
short SensorType { get; set; }
|
||||
string SerialNumber { get; set; } // [Required], [StringLength(50)]
|
||||
```
|
||||
Base interface for sensor database records with key, type, and serial number.
|
||||
|
||||
#### `IAnalogDbRecord`
|
||||
Extensive interface with 50+ properties including:
|
||||
- `int Id { get; set; }` — Primary key
|
||||
- `string SerialNumber { get; set; }` — Unique identifier, max 50 chars
|
||||
- `SensorConstants.BridgeType Bridge { get; set; }` — Bridge/sensor type
|
||||
- `double BridgeResistance { get; set; }` — Expected resistance in Ohms
|
||||
- `bool Broken { get; set; }`, `bool DoNotUse { get; set; }` — Status flags
|
||||
- `int CalInterval { get; set; }` — Calibration interval in days
|
||||
- `double Capacity { get; set; }` — Sensor capacity in EU
|
||||
- `ExcitationVoltageOptions.ExcitationVoltageOption[] SupportedExcitation { get; set; }` — Supported voltages
|
||||
- `IFilterClass Filter { get; set; }` — Default software filter
|
||||
- `DateTime? FirstUseDate { get; set; }` — First destructive use date
|
||||
- `bool ACCouplingModeEnabled { get; set; }` — Bridge AC/DC coupling mode
|
||||
|
||||
#### `IDigitalInDbRecord`
|
||||
```csharp
|
||||
int Id { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
DigitalInputModes Mode { get; set; }
|
||||
IDigitalInputScaleMultiplier ScaleMultiplier { get; set; }
|
||||
string EID { get; set; } // Electronic ID (Dallas/TeDS)
|
||||
string ISOCode { get; set; }
|
||||
string ISOChannelName { get; set; }
|
||||
string UserCode { get; set; }
|
||||
string UserChannelName { get; set; }
|
||||
IFilterClass FilterClass { get; set; }
|
||||
bool DoNotUse { get; set; }
|
||||
bool Broken { get; set; }
|
||||
```
|
||||
|
||||
#### `IDigitalOutDbRecord`
|
||||
```csharp
|
||||
int DatabaseId { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
double DODelay { get; set; }
|
||||
double DODuration { get; set; }
|
||||
DigitalOutputModes DOMode { get; set; }
|
||||
bool LimitDuration { get; set; }
|
||||
string ISOCode { get; set; }
|
||||
string ISOChannelName { get; set; }
|
||||
string UserCode { get; set; }
|
||||
string UserChannelName { get; set; }
|
||||
bool Broken { get; set; }
|
||||
bool DoNotUse { get; set; }
|
||||
byte[] TagsBlobBytes { get; set; }
|
||||
```
|
||||
|
||||
#### `ISquibDbRecord`
|
||||
```csharp
|
||||
int Id { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
bool BypassCurrentFilter { get; set; }
|
||||
bool BypassVoltageFilter { get; set; }
|
||||
double DelayMs { get; set; }
|
||||
double DurationMs { get; set; }
|
||||
SquibFireMode FireMode { get; set; }
|
||||
string IsoCode { get; set; }
|
||||
string IsoChannelName { get; set; }
|
||||
string UserCode { get; set; }
|
||||
string UserChannelName { get; set; }
|
||||
SquibMeasurementType MeasurementType { get; set; }
|
||||
double SquibOutputCurrent { get; set; }
|
||||
double SquibToleranceLow { get; set; }
|
||||
double SquibToleranceHigh { get; set; }
|
||||
bool LimitDuration { get; set; }
|
||||
string ArticleId { get; set; }
|
||||
bool DoNotUse { get; set; }
|
||||
bool Broken { get; set; }
|
||||
bool DefineDelayInTest { get; set; }
|
||||
```
|
||||
|
||||
#### `IUARTRecord`
|
||||
```csharp
|
||||
int Id { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
uint UartBaudRate { get; set; }
|
||||
uint UartDataBits { get; set; }
|
||||
StopBits UartStopBits { get; set; }
|
||||
Handshake UartFlowControl { get; } // Set removed per FB 30486
|
||||
UartDataFormat UartDataFormat { get; set; }
|
||||
Parity UartParity { get; set; }
|
||||
bool DoNotUse { get; set; }
|
||||
bool Broken { get; set; }
|
||||
byte[] TagsBlobBytes { get; set; }
|
||||
```
|
||||
|
||||
#### `IStreamInputRecord`
|
||||
```csharp
|
||||
int Id { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
string StreamInUDPAddress { get; set; }
|
||||
bool DoNotUse { get; set; }
|
||||
bool Broken { get; set; }
|
||||
byte[] TagsBlobBytes { get; set; }
|
||||
```
|
||||
|
||||
#### `IStreamOutputRecord`
|
||||
```csharp
|
||||
int Id { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
UDPStreamProfile StreamOutUDPProfile { get; set; }
|
||||
string StreamOutUDPAddress { get; set; }
|
||||
ushort StreamOutUDPTimeChannelId { get; set; }
|
||||
ushort StreamOutUDPDataChannelId { get; set; }
|
||||
string StreamOutUDPTmNSConfig { get; set; }
|
||||
ushort StreamOutIRIGTimeDataPacketIntervalMs { get; set; }
|
||||
ushort StreamOutTMATSIntervalMs { get; set; }
|
||||
bool DoNotUse { get; set; }
|
||||
bool Broken { get; set; }
|
||||
```
|
||||
|
||||
### Calibration Interfaces
|
||||
|
||||
#### `ISensorCalDbRecord`
|
||||
```csharp
|
||||
int? CalibrationId { get; set; }
|
||||
string SerialNumber { get; set; }
|
||||
DateTime CalibrationDate { get; set; }
|
||||
string Username { get; set; }
|
||||
bool LocalOnly { get; set; }
|
||||
bool NonLinear { get; set; }
|
||||
ICalibrationRecords Records { get; set; }
|
||||
DateTime ModifyDate { get; set; }
|
||||
bool IsProportional { get; set; }
|
||||
bool RemoveOffset { get; set; }
|
||||
ZeroMethods ZeroMethods { get; set; }
|
||||
string[] CertificationDocuments { get; set; }
|
||||
InitialOffsets InitialOffsets { get; set; }
|
||||
bool LinearAdded { get; }
|
||||
```
|
||||
|
||||
#### `ISensorCalibration : ISensorCalDbRecord`
|
||||
```csharp
|
||||
string EngineeringUnits { get; }
|
||||
long CalVersion { get; set; }
|
||||
string UUID { get; set; }
|
||||
string DocumentID { get; set; }
|
||||
NonLinearStyles IRTraccCalculationType { get; set; }
|
||||
double GetPolynomialEU(double inputmV, double excitation);
|
||||
string ToSerializedString();
|
||||
void FromSerializedString(string s);
|
||||
string ToDisplayString(ExcitationVoltageOptions.ExcitationVoltageOption excitation, string linearFormat, string nonlinearFormat, bool iepe);
|
||||
bool IsCompatibleWithIEPE();
|
||||
void CopyValues(ISensorCalibration copy);
|
||||
void ReadXML(System.Xml.XmlElement root);
|
||||
void WriteXML(ref System.Xml.XmlWriter writer);
|
||||
```
|
||||
|
||||
#### `ICalibrationRecords`
|
||||
```csharp
|
||||
ICalibrationRecord[] Records { get; set; }
|
||||
void FromSerializedString(string s);
|
||||
bool IsEqual(object obj, ISensorCalibration sc);
|
||||
string ToDisplayString(ISensorCalibration sc, ISensorCalibration previous, string linearFormat, string nonlinearFormat);
|
||||
string ToSerializedString(ISensorCalDbRecord sc);
|
||||
```
|
||||
|
||||
#### `ICalibrationRecord`
|
||||
```csharp
|
||||
bool AtCapacity { get; set; }
|
||||
double CapacityOutputIsBasedOn { get; set; }
|
||||
string EngineeringUnits { get; set; }
|
||||
ExcitationVoltageOptions.ExcitationVoltageOption Excitation { get; set; }
|
||||
string ISOCode { get; set; }
|
||||
LinearizationFormula Poly { get; set; }
|
||||
double Sensitivity { get; set; }
|
||||
SensorConstants.SensUnits SensitivityUnits { get; set; }
|
||||
double ZeroPoint { get; set; }
|
||||
```
|
||||
|
||||
### Defaults Interfaces
|
||||
|
||||
#### `IAnalogDefaults`
|
||||
```csharp
|
||||
IFilterClass SelectedFilterOption { get; set; }
|
||||
List<IFilterClass> FilterOptions { get; }
|
||||
bool UseMeasuredExcitation { get; set; }
|
||||
bool Validate();
|
||||
void Save();
|
||||
void ReadXML(System.Xml.XmlElement root);
|
||||
void WriteXML(ref System.Xml.XmlWriter writer);
|
||||
```
|
||||
|
||||
#### `IDigitalInputDefaults`
|
||||
```csharp
|
||||
double ConstantCurrentBreakpointADC { get; set; }
|
||||
double VoltageBreakpointADC { get; set; }
|
||||
bool DisplaySPDADC { get; set; }
|
||||
bool Validate();
|
||||
```
|
||||
|
||||
#### `IDigitalOutDefaults`
|
||||
```csharp
|
||||
DigitalOutputModes OutputMode { get; set; }
|
||||
double DelayMS { get; set; }
|
||||
bool LimitDuration { get; set; }
|
||||
double DurationMS { get; set; }
|
||||
```
|
||||
|
||||
#### `ISquibSettingDefaults`
|
||||
```csharp
|
||||
double ToleranceLowDefault { get; set; }
|
||||
double ToleranceHighDefault { get; set; }
|
||||
double OutputCurrentDefault { get; set; }
|
||||
SquibMeasurementType MeasurementTypeDefault { get; set; }
|
||||
SquibFireMode FireModeDefault { get; set; }
|
||||
bool LimitDurationDefault { get; set; }
|
||||
double FireDurationMS { get; set; }
|
||||
double FireDelayMS { get; set; }
|
||||
bool Validate();
|
||||
bool ToleranceValid { get; }
|
||||
```
|
||||
|
||||
#### `IIEPESensorDefaults`
|
||||
```csharp
|
||||
double _24VPowerLow { get; set; }
|
||||
double _24VPowerHigh { get; set; }
|
||||
double RangeLowLimitScalar { get; set; }
|
||||
double RangeHighLimitScalar { get; set; }
|
||||
bool Validate();
|
||||
bool RangeToleranceValid { get; }
|
||||
bool ToleranceValid { get; }
|
||||
bool DisableAutoSense { get; set; }
|
||||
void ReadXML(System.Xml.XmlElement root);
|
||||
void WriteXML(ref System.Xml.XmlWriter writer);
|
||||
```
|
||||
|
||||
#### `IUartSettingDefaults`
|
||||
```csharp
|
||||
uint BaudRate { get; set; }
|
||||
uint DataBits { get; set; }
|
||||
StopBits StopBits { get; set; }
|
||||
Parity Parity { get; set; }
|
||||
Handshake FlowControl { get; } // Set removed per FB 30486
|
||||
UartDataFormat DataFormat { get; set; }
|
||||
bool Validate();
|
||||
```
|
||||
|
||||
#### `IStreamInputSettingDefaults`
|
||||
```csharp
|
||||
string UDPAddress { get; set; }
|
||||
bool Validate();
|
||||
```
|
||||
|
||||
#### `IStreamOutputSettingDefaults`
|
||||
```csharp
|
||||
UDPStreamProfile Profile { get; set; }
|
||||
string UDPAddress { get; set; }
|
||||
ushort TimeChannelId { get; set; }
|
||||
ushort DataChannelId { get; set; }
|
||||
string TmNSConfig { get; set; }
|
||||
ushort IRIGTimeDataPacketIntervalMs { get; set; }
|
||||
bool UseAdvancedUDPStreamProfiles { get; set; }
|
||||
bool Validate();
|
||||
```
|
||||
|
||||
### Core Sensor Interfaces
|
||||
|
||||
#### `ISensorBase`
|
||||
```csharp
|
||||
bool IsDigitalInput();
|
||||
bool IsDigitalOutput();
|
||||
bool IsSquib();
|
||||
bool IsUart();
|
||||
bool IsStreamOutput();
|
||||
bool CheckOffset { get; set; }
|
||||
bool MeasureNoise { get; set; }
|
||||
bool MeasureExcitation { get; set; }
|
||||
bool Invert { get; set; }
|
||||
string Model { get; set; }
|
||||
string Manufacturer { get; set; }
|
||||
double Capacity { get; set; }
|
||||
double FullScaleCapacity { get; }
|
||||
SensorConstants.CouplingModes CouplingMode { get; set; }
|
||||
double OffsetToleranceLow { get; set; }
|
||||
double OffsetToleranceHigh { get; set; }
|
||||
string DisplayUnit { get; set; }
|
||||
ISensorCalibration Calibration { get; set; }
|
||||
SensorConstants.BridgeType Bridge { get; set; }
|
||||
bool UniPolar { get; set; }
|
||||
bool IgnoreRange { get; set; }
|
||||
void CopyValues(ISensorBase copy, bool copyCalibration = true);
|
||||
```
|
||||
|
||||
#### `ISensorData`
|
||||
Comprehensive interface combining all sensor data properties including:
|
||||
- Type detection: `IsDigitalInput()`, `IsDigitalOutput()`, `IsSquib()`, `IsUart()`, `IsStreamInput()`, `IsStreamOutput()`
|
||||
- Calibration: `GetLatestCalibration()`, `NewEmbeddedSC(string units)`, `GetDueDate(ISensorCalibration sc)`
|
||||
- Delay/Duration: `DelayMS`, `DurationMS`, `DigitalOutputDelayMS`, `DigitalOutputDurationMS`, `SquibFireDelayMS`, `SquibFireDurationMS`
|
||||
- UART: `UartBaudRate`, `UartDataBits`, `UartStopBits`, `UartParity`, `UartFlowControl`, `UartDataFormat`
|
||||
- Stream I/O: `StreamInUDPAddress`, `StreamOutUDPProfile`, `StreamOutUDPAddress`, etc.
|
||||
- XML serialization: `ReadXML(XmlElement)`, `WriteXML(ref XmlWriter, bool)`
|
||||
|
||||
### Change Tracking Interfaces
|
||||
|
||||
#### `ISensorChangeRecord`
|
||||
```csharp
|
||||
int RecordId { get; }
|
||||
int SensorId { get; }
|
||||
DateTime TimeStamp { get; }
|
||||
string UserName { get; }
|
||||
```
|
||||
|
||||
#### `ISensorChange : ISensorChangeRecord`
|
||||
```csharp
|
||||
SensorChangeTypes ChangeType { get; }
|
||||
string Value1 { get; }
|
||||
string Value2 { get; }
|
||||
string Value3 { get; }
|
||||
string Value4 { get; }
|
||||
```
|
||||
|
||||
#### `IOffsetToleranceChange : ISensorChange`
|
||||
```csharp
|
||||
double LowMvValue { get; }
|
||||
double HighMvValue { get; }
|
||||
double LowEUValue { get; }
|
||||
double HighEUValue { get; }
|
||||
```
|
||||
|
||||
### Utility Interfaces
|
||||
|
||||
#### `ISoftwareFilter`
|
||||
```csharp
|
||||
int Id { get; set; }
|
||||
char ISOCode { get; set; }
|
||||
string Description { get; set; }
|
||||
double Frequency { get; set; }
|
||||
DateTime LastModified { get; set; }
|
||||
string LastModifiedBy { get; set; }
|
||||
bool IsDefault { get; set; }
|
||||
bool IsBlank();
|
||||
void Delete();
|
||||
void Commit(bool updateDateTime = true, string user = "");
|
||||
```
|
||||
|
||||
#### `IDigitalInputScaleMultiplier`
|
||||
```csharp
|
||||
Forms Form { get; set; } // enum: ArbitraryLowAndHigh
|
||||
double DefaultValue { get; set; } // OFF value
|
||||
double ActiveValue { get; set; } // ON value
|
||||
bool SimpleEquals(IDigitalInputScaleMultiplier rhs);
|
||||
string ToSerializeDbString();
|
||||
void FromDbSerializeString(string s);
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
### Database Constraints
|
||||
- `ISensorDbRecord.id` is decorated with `[Key]` and serves as the primary key.
|
||||
- `SerialNumber` is `[Required]` with `[StringLength(50)]` across all record interfaces.
|
||||
- `ISensorCalDbRecord.CalibrationId` is nullable (`int?`).
|
||||
- `IAnalogDbRecord.EId` is required and must be unique (Electronic ID/DALLAS/TEDS tag).
|
||||
|
||||
### Validation Requirements
|
||||
- All `*Defaults` interfaces with `Validate()` method must return `true` before settings are considered valid.
|
||||
- `ISquibSettingDefaults.ToleranceValid` must be checked separately from `Validate()`.
|
||||
- `IIEPESensorDefaults` has both `ToleranceValid` and `RangeToleranceValid` properties for granular validation.
|
||||
|
||||
### Calibration Invariants
|
||||
- `ISensorCalibration.IsCompatibleWithIEPE()` returns `true` only if calibration is linear and non-proportional (per XML documentation).
|
||||
- `FirstUseDate` is only valid when using the latest calibration (indicated by `LatestCalibrationId`).
|
||||
- `FirstUseDate` is `null` when not set.
|
||||
|
||||
### Read-Only Properties
|
||||
- `IUARTRecord.UartFlowControl` — setter removed (FB 30486).
|
||||
- `IUartSettingDefaults.FlowControl` — setter removed (FB 30486).
|
||||
- `ISensorData.UartFlowControl` — hardcoded to NONE (FB 30486).
|
||||
- `ISensorCalDbRecord.LinearAdded` — getter only.
|
||||
|
||||
### Serialization
|
||||
- `IDigitalInputScaleMultiplier.FromDbSerializeString(string s)` must deserialize regardless of format.
|
||||
- `ICalibrationRecords.FromSerializedString(string s)` and `ToSerializedString(ISensorCalDbRecord sc)` handle calibration serialization.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### External Dependencies (Imports)
|
||||
- `System.ComponentModel.DataAnnotations` — Validation attributes (`[Key]`, `[Required]`, `[StringLength]`)
|
||||
- `System.ComponentModel.DataAnnotations.Schema` — EF Core mapping (`[Column]`)
|
||||
- `System.IO.Ports` — `StopBits`, `Parity`, `Handshake` enums for UART configuration
|
||||
- `System.Xml` — `XmlElement`, `XmlWriter` for XML import/export
|
||||
|
||||
### Internal Dependencies (DTS Namespace)
|
||||
- `DTS.Common.Enums` — `DigitalOutputModes`, `UDPStreamProfile`, `UartDataFormat`, `SquibFireMode`, `SquibMeasurementType`, `SensorStatus`
|
||||
- `DTS.Common.Enums.Sensors` — `SensorChangeTypes`, `NonLinearStyles`, `ExcitationVoltageOptions`
|
||||
- `DTS.Common.Classes.Sensors` — `ZeroMethods`, `InitialOffsets`, `InitialOffset`, `LinearizationFormula`
|
||||
- `DTS.Common.Interface.Sensors.SoftwareFilters` — `IFilterClass`, `FilterClassType`
|
||||
|
||||
### Consumers
|
||||
Unknown from source alone — these are interface definitions that would be implemented by concrete classes elsewhere in the codebase.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
### Historical/Deprecated Members
|
||||
- `IAnalogDbRecord.AxisNumber`, `BridgeLegMode`, `NumberOfAxes` — Marked as deprecated.
|
||||
- `IAnalogDbRecord.SensorCategory` — Deprecated, remains for TDC purposes.
|
||||
- `IAnalogDbRecord.LatestCalibrationId` — Deprecated; originally held latest calibration ID.
|
||||
- `IAnalogDbRecord.DisplayUnit` — Deprecated; DB value not used.
|
||||
- `IAnalogDbRecord.Version` — Marked as deprecated.
|
||||
|
||||
### Shared Storage (Tech Debt)
|
||||
Per `ISensorData` comments:
|
||||
- `DelayMS`, `DigitalOutputDelayMS`, `SquibFireDelayMS` — At one time shared underlying storage `_delayMS`. Now separated to prevent controls from limiting each other.
|
||||
- `DurationMS`, `DigitalOutputDurationMS`, `SquibFireDurationMS` — Same issue, now separated.
|
||||
- `LimitDuration`, `LimitSquibFireDuration` — Currently share underlying `_limitDuration` but public accessors exist for future separation.
|
||||
|
||||
### Flow Control Hardcoding
|
||||
- `IUARTRecord.UartFlowControl`, `IUartSettingDefaults.FlowControl`, and `ISensorData.UartFlowControl` have setters removed per FB 30486. Flow control is hardcoded to `NONE` for UART sensor types.
|
||||
|
||||
### Empty Interfaces
|
||||
- `IZeroMethods` and `IInitialOffsets`
|
||||
@@ -0,0 +1,55 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorSettingsModule/ISensorSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorSettingsModule/ICalibrationPolicy.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorSettingsModule/ISensorSettingsViewModel.cs
|
||||
generated_at: "2026-04-17T16:35:09.394455+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c8e93047ceb2d789"
|
||||
---
|
||||
|
||||
# Documentation: Sensor Settings Module Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for the Sensor Settings feature within the DTS application. It provides the abstraction layer for the Model-View-ViewModel (MVVM) pattern used to configure sensor-related defaults, including calibration policies, squib settings, digital I/O defaults, IEPE sensor defaults, and analog defaults. The interfaces enable decoupled communication between the view layer (`ISensorSettingsView`), the presentation logic (`ISensorSettingsViewModel`), and specific configuration concerns like calibration (`ICalibrationPolicy`).
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ISensorSettingsView`
|
||||
**File:** `ISensorSettingsView.cs`
|
||||
**Namespace:** `DTS.Common.Interface.Sensors.SensorSettingsModule`
|
||||
|
||||
```csharp
|
||||
public interface ISensorSettingsView : IBaseView { }
|
||||
```
|
||||
|
||||
A marker interface extending `IBaseView`. No members are defined; it serves to identify view implementations within the sensor settings module.
|
||||
|
||||
---
|
||||
|
||||
### `ICalibrationPolicy`
|
||||
**File:** `ICalibrationPolicy.cs`
|
||||
**Namespace:** `DTS.Common.Interface.Sensors.SensorSettingsModule`
|
||||
|
||||
```csharp
|
||||
public interface ICalibrationPolicy
|
||||
```
|
||||
|
||||
Describes settings for sensor calibrations.
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `SelectedCalPolicy` | `SensorConstants.SensorCalPolicy` | get/set | The currently selected calibration policy. |
|
||||
| `AvailableSensorCalPolicies` | `SensorConstants.SensorCalPolicy[]` | get | Array of all available calibration policies. |
|
||||
| `WarningPeriod` | `int` | get/set | Period in days before calibration is due to warn. |
|
||||
| `UseSensorFirstUseDate` | `bool` | get/set | Determines whether the sensor calibration interval starts after calibration or first use. |
|
||||
| `ReadXML(System.Xml.XmlElement root)` | `void` | method | Imports settings from XML (FB15758). |
|
||||
| `WriteXML(ref System.Xml.XmlWriter writer)` | `void` | method | Exports settings to XML (FB15758). |
|
||||
|
||||
---
|
||||
|
||||
### `ISensorSettingsViewModel`
|
||||
250
docs/ai/Common/DTS.CommonCore/Interface/Sensors/SensorsList.md
Normal file
250
docs/ai/Common/DTS.CommonCore/Interface/Sensors/SensorsList.md
Normal file
@@ -0,0 +1,250 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISensorsListOverdueView.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISensorTemplatesExportView.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISensorsTemplatesImportView.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISensorTemplatesViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISensorsListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISensorsListEditGroupView.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/IDragAndDropItem.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISquib.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISensorsListEditGroupViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/IStreamInputSetting.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/ISensorsListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/IUartIOSetting.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/IDigitalInputSetting.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/IDigitalOutputSetting.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/IStreamOutputSetting.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SensorsList/IAnalogSensor.cs
|
||||
generated_at: "2026-04-17T15:29:06.742517+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "9c4a2f01d00e211d"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.Sensors.SensorsList
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract layer for the sensor management subsystem within the DTS application. It provides interfaces for the Model-View-ViewModel (MVVM) architecture used to display, filter, edit, and manage various sensor types including analog sensors, squibs, digital I/O, UART I/O, and stream I/O settings. The interfaces abstract UI views, view models, and data models, enabling loose coupling between presentation logic and business logic for sensor configuration, calibration tracking, and test setup operations.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### View Interfaces
|
||||
|
||||
#### `ISensorsListView : IBaseView`
|
||||
```csharp
|
||||
void HandleColumns(CalibrationBehaviors calibrationBehavior);
|
||||
void SetIncludedVisible(bool bUsesIncludeColumn);
|
||||
```
|
||||
- **HandleColumns**: Configures columns based on the calibration behavior setting.
|
||||
- **SetIncludedVisible**: Controls visibility of the "Included" column in the sensor list.
|
||||
|
||||
#### `ISensorsListEditGroupView : IBaseView`
|
||||
```csharp
|
||||
void HandleColumns();
|
||||
```
|
||||
- **HandleColumns**: Handles adding/removing columns before the view is displayed (references case 13065 - Sensor "First Use" Date).
|
||||
|
||||
#### `ISensorsListOverdueView : IBaseView`
|
||||
- Marker interface with no additional members. Used for overdue sensor calibration views.
|
||||
|
||||
#### `ISensorTemplatesExportView : IBaseView`
|
||||
- Marker interface for sensor template export functionality.
|
||||
|
||||
#### `ISensorsTemplatesImportView : IBaseView`
|
||||
- Marker interface for sensor template import functionality.
|
||||
|
||||
#### `ISensorTemplatesViewModel : IBaseViewModel`
|
||||
- Marker interface for sensor templates view model.
|
||||
|
||||
---
|
||||
|
||||
### ViewModel Interfaces
|
||||
|
||||
#### `ISensorsListViewModel : IBaseViewModel, IFilterableListView`
|
||||
```csharp
|
||||
ISensorsListView View { get; set; }
|
||||
IAnalogSensor[] AnalogSensors { get; set; }
|
||||
ISquib[] Squibs { get; set; }
|
||||
IDigitalInputSetting[] DigitalInputSettings { get; set; }
|
||||
IDigitalOutputSetting[] DigitalOutputSettings { get; set; }
|
||||
IUartIOSetting[] UartIOSettings { get; set; }
|
||||
IStreamOutputSetting[] StreamOutputSettings { get; set; }
|
||||
CalibrationBehaviors CalibrationBehavior { get; set; }
|
||||
string CapacityFormat { get; set; }
|
||||
bool ShowOnlyTDCSensors { set; }
|
||||
bool ShowOnlySlicewareSensors { set; }
|
||||
|
||||
void GetSensors(int sensorCalWarningPeriodDays, bool included);
|
||||
void GetSensors(int sensorCalWarningPeriodDays, int[] sensorsAllowed, IReadOnlyDictionary<int, ISensorData> sensors);
|
||||
void SetSelectedSerial(string serialNumber);
|
||||
void Sort(object sortBy, bool bColumnClick);
|
||||
void SortOverdue(object sortBy, bool bColumnClick);
|
||||
void Unset();
|
||||
void Filter(string currentFilter);
|
||||
void FilterSquib(object columnTag, string searchTerm);
|
||||
void FilterDigitalIn(object columnTag, string searchTerm);
|
||||
void FilterDigitalOut(object columnTag, string searchTerm);
|
||||
void FilterUartIO(object columnTag, string searchTerm);
|
||||
void FilterStreamIn(object columnTag, string searchTerm);
|
||||
void FilterStreamOut(object columnTag, string searchTerm);
|
||||
void SetCachedSensors(ISensorData[] cachedSensors);
|
||||
void SetCachedCalibrations(ISensorCalibration[] sensorCalibrations);
|
||||
void UseIncludedColumn(bool bUsesIncludedColumn);
|
||||
void SetIncludedAll(bool bIncluded);
|
||||
IDragAndDropItem[] GetIncludedSensors();
|
||||
```
|
||||
- Primary view model for the sensors list view. Manages arrays of all sensor types, filtering, sorting, and calibration behavior.
|
||||
|
||||
#### `ISensorsListEditGroupViewModel : IBaseViewModel, IFilterableListView`
|
||||
```csharp
|
||||
ISensorsListEditGroupView View { get; set; }
|
||||
IAnalogSensor[] AnalogSensors { get; set; }
|
||||
ISquib[] Squibs { get; set; }
|
||||
IDigitalInputSetting[] DigitalInputSettings { get; set; }
|
||||
IDigitalOutputSetting[] DigitalOutputSettings { get; set; }
|
||||
IUartIOSetting[] UartSettings { get; set; }
|
||||
IStreamOutputSetting[] StreamOutputSettings { get; set; }
|
||||
|
||||
void GetSensors(int sensorCalWarningPeriodDays, bool included);
|
||||
void SetCapacityFormat(string format);
|
||||
void Sort(object sortBy, bool bColumnClick);
|
||||
void Unset();
|
||||
void Filter(string currentFilter);
|
||||
void FilterSquib(object columnTag, string searchTerm);
|
||||
void FilterDigitalIn(object columnTag, string searchTerm);
|
||||
void FilterDigitalOut(object columnTag, string searchTerm);
|
||||
void FilterUartIO(object columnTag, string searchTerm);
|
||||
void FilterStreamOut(object columnTag, string searchTerm);
|
||||
void FilterStreamIn(object columnTag, string searchTerm);
|
||||
void SetShowAssigned(bool showAssigned, bool showUnassigned, IReadOnlyDictionary<string, bool> assignedSensors);
|
||||
void SetShowOnline(bool showOnline);
|
||||
void SetAssignedSensors(IReadOnlyDictionary<string, bool> serialNumbers);
|
||||
void SetOnline(Dictionary<string, bool> serialNumbersToOnline);
|
||||
bool IsSensorOnline(string serialNumber);
|
||||
void SetCachedSensors(ISensorData[] cachedSensors);
|
||||
void SetCachedCalibrations(ISensorCalibration[] calibrations);
|
||||
void SetActiveTab(PossibleFilters filter);
|
||||
```
|
||||
- View model for editing sensor groups. Includes additional methods for managing online/assigned sensor states.
|
||||
|
||||
---
|
||||
|
||||
### Sensor Data Interfaces
|
||||
|
||||
#### `IAnalogSensor`
|
||||
Properties for analog sensor representation:
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `DatabaseId` | `int` | Database ID (only positive values are valid) |
|
||||
| `Included` | `bool` | Checkbox state in lists |
|
||||
| `SerialNumber` | `string` | Sensor serial number |
|
||||
| `Description` | `string` | Description/comment |
|
||||
| `Manufacturer` | `string` | Sensor manufacturer |
|
||||
| `Model` | `string` | Sensor model |
|
||||
| `Capacity` | `double` | Maximum capacity or desired range in EU |
|
||||
| `RangeHigh/Medium/Low` | `double` | Arbitrary EU range values |
|
||||
| `Sensitivity` | `string` | User-friendly sensitivity display |
|
||||
| `AddedSensitivity` | `string` | Second calibration for dual-sensitivity sensors |
|
||||
| `Resistance` | `double` | Resistance in ohms |
|
||||
| `Excitation` | `string` | Supported excitations |
|
||||
| `Units` | `string` | Engineering units |
|
||||
| `EID` | `string` | Electronic ID |
|
||||
| `CalDate` | `DateTime` | Most recent calibration date |
|
||||
| `CalDueDate` | `DateTime` | Calibration due date |
|
||||
| `Bridge` | `SensorConstants.BridgeType` | Bridge mode |
|
||||
| `IEPE` | `bool` | Integrated Electronics Piezo-Electric indicator |
|
||||
| `CFC` | `FilterClassType` | Channel filter class |
|
||||
| `Polarity` | `bool` | Output inversion flag |
|
||||
| `NonLinearCalculationType` | `string` | Nonlinear calculation type (string) |
|
||||
| `NonLinearCalculationTypeEnum` | `NonLinearStyles` | Nonlinear calculation type (enum) |
|
||||
| `ZeroMethod` | `ZeroMethodType` | Software zero method |
|
||||
| `ZeroMethodStart/End` | `double` | Zero method time range |
|
||||
| `UserValue1/2/3` | `string` | User-defined values |
|
||||
| `SensorCalibrationStatus` | `UIItemStatus` | Calibration status |
|
||||
| `InitialOffsets` | `InitialOffset[]` | Initial offset array |
|
||||
| `FilterClass` | `IFilterClass` | Filter class definition |
|
||||
| `FirstUseDate` | `DateTime?` | First use date (null if not set) |
|
||||
| `LatestCalibrationId` | `int?` | Latest calibration ID |
|
||||
| `UsingLatestCalibration` | `bool` | Whether using latest calibration |
|
||||
|
||||
Methods:
|
||||
```csharp
|
||||
bool Filter(string term);
|
||||
```
|
||||
|
||||
#### `ISquib`
|
||||
Properties for squib (explosive/initiator) sensor representation:
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `DatabaseId` | `int` | Database ID (only IDs > 0 are valid) |
|
||||
| `Included` | `bool` | Checkbox state |
|
||||
| `SerialNumber` | `string` | Serial/setting name |
|
||||
| `Description` | `string` | Description |
|
||||
| `ResistanceLow/High` | `double` | Resistance range |
|
||||
| `ID` | `string` | Identifier |
|
||||
| `SQMode` | `string` | Squib mode string |
|
||||
| `SQDelay` | `double` | Delay in ms |
|
||||
| `SQCurrent` | `double` | Current setting |
|
||||
| `SQDuration` | `double` | Duration in ms |
|
||||
| `LimitDuration` | `bool` | Duration limit flag |
|
||||
| `Mode` | `SquibFireMode` | Fire mode enum |
|
||||
| `Broken` | `bool` | Broken sensor flag |
|
||||
| `DoNotUse` | `bool` | Do-not-use flag |
|
||||
|
||||
Methods:
|
||||
```csharp
|
||||
bool Filter(string term);
|
||||
```
|
||||
|
||||
#### `IDigitalInputSetting`
|
||||
Properties for digital input configuration:
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `DatabaseId` | `int` | Database ID (positive values valid) |
|
||||
| `Included` | `bool` | Checkbox state |
|
||||
| `SerialNumber` | `string` | Serial/setting name |
|
||||
| `Description` | `string` | Description |
|
||||
| `DIMode` | `string` | Digital Input Mode string |
|
||||
| `Mode` | `DigitalInputModes` | Digital Input Mode enum |
|
||||
| `EID` | `string` | Electronic ID |
|
||||
| `ActiveValue` | `string` | Display value for active state |
|
||||
| `DefaultValue` | `string` | Display value for default/idle state |
|
||||
| `Broken` | `bool` | Broken flag |
|
||||
| `DoNotUse` | `bool` | Do-not-use flag |
|
||||
|
||||
Methods:
|
||||
```csharp
|
||||
bool Filter(string term);
|
||||
```
|
||||
|
||||
#### `IDigitalOutputSetting`
|
||||
Properties for digital output configuration:
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `DatabaseId` | `int` | Database ID (only IDs > 0 are valid) |
|
||||
| `Included` | `bool` | Checkbox state |
|
||||
| `SerialNumber` | `string` | Serial/setting name |
|
||||
| `Description` | `string` | Description |
|
||||
| `DODelay` | `double` | Delay before output (ms) |
|
||||
| `DODuration` | `double` | Output duration (ms) |
|
||||
| `LimitDuration` | `bool` | Duration limit flag |
|
||||
| `DOMode` | `DigitalOutputModes` | Output mode enum |
|
||||
| `Broken` | `bool` | Broken flag |
|
||||
| `DoNotUse` | `bool` | Do-not-use flag |
|
||||
|
||||
Methods:
|
||||
```csharp
|
||||
bool Filter(string term);
|
||||
```
|
||||
|
||||
#### `IUartIOSetting`
|
||||
Properties for UART I/O configuration:
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `DatabaseId` | `int` | Database ID (positive values valid) |
|
||||
| `Included` | `bool` | Checkbox state |
|
||||
| `SerialNumber` | `string` | Serial/setting name |
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SoftwareFilters/ISoftwareFiltersView.cs
|
||||
- Common/DTS.CommonCore/Interface/Sensors/SoftwareFilters/ISoftwareFiltersViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:41.661179+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "b1005474d6a83797"
|
||||
---
|
||||
|
||||
# Documentation: ISoftwareFilters Module
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the core interfaces for the software filters feature within the DTS system. It establishes a View-ViewModel pattern (`ISoftwareFiltersView` and `ISoftwareFiltersViewModel`) for managing and displaying a collection of software filters, and provides the `IFilterClass` abstraction for representing frequency-based filter configurations. The module serves as a contract layer between the UI and business logic for filter management operations.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ISoftwareFiltersView`
|
||||
**Signature:** `public interface ISoftwareFiltersView : IBaseView { }`
|
||||
|
||||
A marker interface extending `IBaseView`. Declares no members of its own.
|
||||
|
||||
---
|
||||
|
||||
### `IFilterClass`
|
||||
**Signature:** `public interface IFilterClass : IComparable`
|
||||
|
||||
Defines a filter class configuration with frequency and type properties.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `FilterName` | `string FilterName { get; }` | Read-only property returning the filter's name. |
|
||||
| `FClass` | `FilterClassType FClass { get; set; }` | Read-write property for the filter class type enumeration. |
|
||||
| `Frequency` | `double Frequency { get; set; }` | Read-write property for the filter frequency value. |
|
||||
| `GetFilterClassNumericValue` | `int GetFilterClassNumericValue()` | Returns a numeric representation of the filter class. |
|
||||
|
||||
**Attributes:** Decorated with `[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]`.
|
||||
|
||||
---
|
||||
|
||||
### `ISoftwareFiltersViewModel`
|
||||
**Signature:** `public interface ISoftwareFiltersViewModel : IBaseViewModel, IFilterableListView`
|
||||
|
||||
Defines the ViewModel contract for managing a collection of software filters.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `View` | `ISoftwareFiltersView View { get; set; }` | Read-write property for the associated view instance. |
|
||||
| `CurrentUser` | `string CurrentUser { get; set; }` | Read-write property for the current user context. |
|
||||
|
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/StatusAndProgressBar/IStatusAndProgressBarView.cs
|
||||
- Common/DTS.CommonCore/Interface/StatusAndProgressBar/IStatusAndProgressFooterView.cs
|
||||
- Common/DTS.CommonCore/Interface/StatusAndProgressBar/IStatusAndProgressBarFooterViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/StatusAndProgressBar/IStatusAndProgressBarViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/StatusAndProgressBar/StatusAndProgressDelegates.cs
|
||||
generated_at: "2026-04-17T16:34:19.320352+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "b789755888677236"
|
||||
---
|
||||
|
||||
# Documentation: Status and Progress Bar Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract interfaces and delegate types for a status and progress bar component within a View-ViewModel architecture. It provides the abstraction layer for displaying progress indicators and status information, supporting both standard and "footer" style presentations. The module enables decoupled communication between views and view models for progress reporting functionality.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### Interfaces
|
||||
|
||||
#### `IStatusAndProgressBarView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
An empty marker interface extending `IBaseView`. No members defined.
|
||||
|
||||
---
|
||||
|
||||
#### `IStatusAndProgressFooterView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
An empty marker interface extending `IBaseView`. No members defined.
|
||||
|
||||
---
|
||||
|
||||
#### `IStatusAndProgressBarFooterViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseViewModel`
|
||||
|
||||
| Property | Type | Accessor |
|
||||
|----------|------|----------|
|
||||
| `View` | `IStatusAndProgressFooterView` | `get; set;` |
|
||||
|
||||
---
|
||||
|
||||
#### `IStatusAndProgressBarViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseViewModel`
|
||||
|
||||
| Property | Type | Accessor |
|
||||
|----------|------|----------|
|
||||
| `View` | `IBaseView` | `get; set;` |
|
||||
| `Parent` | `IBaseViewModel` | `get; set;` |
|
||||
| `ProgressBarName` | `string` | `get; set;` |
|
||||
| `ContextSearchRegion` | `object` | `get; set;` |
|
||||
|
||||
---
|
||||
|
||||
### Delegates
|
||||
|
||||
**Namespace:** `DTS.Common.Interface.StatusAndProgressBar`
|
||||
|
||||
| Delegate Name | Signature |
|
||||
|---------------|-----------|
|
||||
| `SetProgressValueDelegate` | `void (double value)` |
|
||||
| `SetStatusTextDelegate` | `void (string text)` |
|
||||
| `SetProgressVisibilityDelegate` | `void (bool bVisible)` |
|
||||
| `SetStatusColorDelegate` | `void (Color color)` |
|
||||
| `ActionCompleteDelegate` | `void ()` |
|
||||
| `StatusIntDelegate` | `void (int status)` |
|
||||
| `StatusExIntDelegate` | `void (int status, params object[] extra)` |
|
||||
| `ErrorCallback` | `DialogResult (string errorString, string unit)` |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
18
docs/ai/Common/DTS.CommonCore/Interface/SystemSettings.md
Normal file
18
docs/ai/Common/DTS.CommonCore/Interface/SystemSettings.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISystemSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISystemSettingsViewModel.cs
|
||||
generated_at: "2026-04-17T16:05:00.432769+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "666dc870908302b2"
|
||||
---
|
||||
|
||||
# SystemSettings
|
||||
|
||||
### Purpose
|
||||
This module defines the view/viewmodel contract pair for a "SystemSettings" feature within the DTS application. Unlike simpler view/viewmodel pairs, the `ISystemSettingsViewModel` interface defines a richer contract including region management for UI composition, suggesting this viewmodel acts as a shell or container that hosts multiple sub-regions.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IS
|
||||
54
docs/ai/Common/DTS.CommonCore/Interface/SystemSettings/DB.md
Normal file
54
docs/ai/Common/DTS.CommonCore/Interface/SystemSettings/DB.md
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBImportView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBExportView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/DB/IDBViewModel.cs
|
||||
generated_at: "2026-04-17T16:03:49.803164+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "667d7692a722816c"
|
||||
---
|
||||
|
||||
# DB
|
||||
|
||||
### Purpose
|
||||
This module defines the contract for database import/export functionality within the system settings. It provides interfaces for views and view models that handle importing data from files and exporting data to XML-formatted files, following the MVVM pattern established in the codebase.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IDBImportView**
|
||||
- Signature: `public interface IDBImportView : IBaseView`
|
||||
- Description: Marker interface for database import views. Inherits from `IBaseView` but defines no additional members.
|
||||
|
||||
**IDBExportView**
|
||||
- Signature: `public interface IDBExportView : IBaseView`
|
||||
- Description: Marker interface for database export views. Inherits from `IBaseView` but defines no additional members.
|
||||
|
||||
**IDBViewModel**
|
||||
- Signature: `public interface IDBViewModel : IBaseViewModel`
|
||||
- Description: View model interface for coordinating database import/export operations.
|
||||
- Properties:
|
||||
- `IDBImportView ImportView { get; set; }` - The import view instance.
|
||||
- `IDBExportView ExportView { get; set; }` - The export view instance.
|
||||
- `string ImportFileName { get; set; }` - File name to import from.
|
||||
- `string ImportStatusText { get; set; }` - Status text for import operations.
|
||||
- `string ExportFileName { get; set; }` - File name to export to.
|
||||
- `string ExportData { get; set; }` - Formatted XML string to write to the export file.
|
||||
- `string ImportData { get; set; }` - Formatted XML string read from the import file.
|
||||
- Methods:
|
||||
- `void Export()` - Exports `ExportData` to `ExportFileName`.
|
||||
|
||||
### Invariants
|
||||
- `IDBViewModel` must have valid `ImportView` and `ExportView` instances before performing import/export operations.
|
||||
- `ExportFileName` must be set before calling `Export()`.
|
||||
- `ExportData` must contain valid XML content before calling `Export()`.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (for `IBaseView` and `IBaseViewModel`).
|
||||
- **Depended on by**: Unknown from source alone (likely concrete implementations in system settings modules).
|
||||
|
||||
### Gotchas
|
||||
- The XML comments indicate uncertainty about whether `ImportFileName` and `ExportFileName` properties belong in the view model, suggesting potential refactoring may be needed if the view model becomes capable of handling all operations independently.
|
||||
- The current implementation uses XML strings for data transfer; the comment "for now this is formatted xml string" suggests this may change in future versions.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,66 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IisoSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsModel.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/ISOSettings/IISOSettingsData.cs
|
||||
generated_at: "2026-04-17T16:34:44.854666+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "3d98d74070b2f807"
|
||||
---
|
||||
|
||||
# Documentation: ISO Settings Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract interfaces for an ISO Settings feature implemented using the Model-View-ViewModel (MVVM) architectural pattern. It provides the abstraction layer for managing ISO-related configuration data, including view mode settings, code display preferences, and helper visibility options. The interfaces establish the boundaries between the view layer, the view model, the model, and the data structure, enabling loose coupling and testability within the DTS system settings subsystem.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IISOSettingsView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
An empty marker interface representing the view contract for ISO settings. No members are defined beyond the inherited `IBaseView`.
|
||||
|
||||
---
|
||||
|
||||
### `IISOSettingsModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseModel`
|
||||
|
||||
Defines the data persistence contract for ISO settings.
|
||||
|
||||
| Method | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `SaveData` | `void SaveData(IISOSettingsData data)` | Persists the provided ISO settings data. |
|
||||
| `LoadData` | `IISOSettingsData LoadData()` | Retrieves and returns the stored ISO settings data. |
|
||||
|
||||
---
|
||||
|
||||
### `IISOSettingsViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseViewModel`
|
||||
|
||||
Defines the view model contract that mediates between the view and model.
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `View` | `IISOSettingsView` | get; set; | Reference to the associated view instance. |
|
||||
| `ISOData` | `IISOSettingsData` | get; set; | The ISO settings data being managed. |
|
||||
| `Model` | `IISOSettingsModel` | get; set; | Reference to the model for data operations. |
|
||||
|
||||
---
|
||||
|
||||
### `IISOSettingsData`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseClass`
|
||||
|
||||
Defines the data structure contract for ISO settings configuration.
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `UniqueISOCodesRequired
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/PowerAndBattery/IPowerAndBatteryView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/PowerAndBattery/IPowerAndBatteryViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:41.032100+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "b5ce5cbdb3b9608c"
|
||||
---
|
||||
|
||||
# Documentation: Power and Battery View/ViewModel Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two marker interfaces—`IPowerAndBatteryView` and `IPowerAndBatteryViewModel`—that establish type identity for the Power and Battery settings feature within an MVVM (Model-View-ViewModel) architecture. These interfaces exist to provide compile-time type safety and dependency injection resolution for views and view models specifically handling power and battery system configuration, while inheriting base contracts from the framework's core abstractions.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IPowerAndBatteryView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Signature:** `public interface IPowerAndBatteryView : IBaseView { }`
|
||||
- **Description:** Marker interface for Power and Battery settings views. Inherits from `IBaseView` but defines no additional members.
|
||||
|
||||
### `IPowerAndBatteryViewModel`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Signature:** `public interface IPowerAndBatteryViewModel : IBaseViewModel { }`
|
||||
- **Description:** Marker interface for Power and Battery settings view models. Inherits from `IBaseViewModel` but defines no additional members.
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both interfaces are empty marker interfaces; they define no members of their own.
|
||||
- `IPowerAndBatteryView` must always inherit from `IBaseView`.
|
||||
- `IPowerAndBatteryViewModel` must always inherit from `IBaseViewModel`.
|
||||
- The pairing of these interfaces implies a 1:1 relationship between a view and its corresponding view model in the Power and Battery feature area.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unclear from source alone.** Concrete implementations of these interfaces would exist elsewhere in the codebase, likely in Power and Battery feature modules, but no such implementations are present in the provided files.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Empty marker interfaces:** Neither interface defines any members. All behavior contracts come from `IBaseView` and `IBaseViewModel`. Developers should consult those base interfaces to understand the actual API surface.
|
||||
- **Naming convention:** The interfaces follow a naming pattern suggesting they are part of a larger `SystemSettings` feature area, but the namespace `DTS.Common.Interface` does not reflect this hierarchy—the folder structure (`SystemSettings/PowerAndBattery/`) suggests organizational intent not mirrored in the namespace.
|
||||
- **Purpose unclear without context:** Without seeing `IBaseView` and `IBaseViewModel`, or any consuming code, the specific runtime behavior or registration patterns (e.g., DI container configuration) cannot be determined.
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/QASettings/IQASettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/QASettings/IQASettingsViewModel.cs
|
||||
generated_at: "2026-04-17T16:05:24.632800+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "8ce557777591eef0"
|
||||
---
|
||||
|
||||
# QASettings
|
||||
|
||||
### Purpose
|
||||
This module defines the view and ViewModel interfaces for QA (Quality Assurance) Settings functionality within the system settings. It follows the MVVM pattern, providing contract definitions that allow decoupling between the UI layer and business logic for QA-specific configuration views.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IQASettingsView`** (interface)
|
||||
- Inherits from: `IBaseView`
|
||||
- No additional members defined beyond the base interface.
|
||||
- Serves as a marker/contract interface for QA Settings views.
|
||||
|
||||
**`IQASettingsViewModel`** (interface)
|
||||
- Inherits from: `IBaseViewModel`
|
||||
- No additional members defined beyond the base interface.
|
||||
- Serves as a marker/contract interface for QA Settings ViewModels.
|
||||
|
||||
### Invariants
|
||||
- Both interfaces must inherit from their respective base types (`IBaseView` and `IBaseViewModel`) from `DTS.Common.Base`.
|
||||
- Implementations of `IQASettingsView` must be compatible with the MVVM infrastructure defined by `IBaseView`.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by**: Cannot be determined from source alone; likely consumed by concrete View/ViewModel implementations and DI containers.
|
||||
|
||||
### Gotchas
|
||||
- Both interfaces are empty marker interfaces. It is unclear from source alone whether this is intentional (for type discrimination) or incomplete implementation. Developers should check for extension methods or base class behaviors that may provide actual functionality.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/RealtimeSettings/IRealtimeSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/RealtimeSettings/IRealtimeSettingsViewModel.cs
|
||||
generated_at: "2026-04-17T16:05:24.634187+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "f67c020c26fbafd0"
|
||||
---
|
||||
|
||||
# RealtimeSettings
|
||||
|
||||
### Purpose
|
||||
This module defines the view and ViewModel interfaces for Realtime Settings functionality within the system settings. It provides MVVM contract definitions for configuring real-time data processing or display settings.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IRealtimeSettingsView`** (interface)
|
||||
- Inherits from: `IBaseView`
|
||||
- No additional members defined beyond the base interface.
|
||||
- Serves as a marker/contract interface for Realtime Settings views.
|
||||
|
||||
**`IRealtimeSettingsViewModel`** (interface)
|
||||
- Inherits from: `IBaseViewModel`
|
||||
- No additional members defined beyond the base interface.
|
||||
- Serves as a marker/contract interface for Realtime Settings ViewModels.
|
||||
|
||||
### Invariants
|
||||
- Both interfaces must inherit from their respective base types (`IBaseView` and `IBaseViewModel`) from `DTS.Common.Base`.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by**: Cannot be determined from source alone.
|
||||
|
||||
### Gotchas
|
||||
- Both interfaces are empty marker interfaces. The absence of any Realtime-specific members suggests either type-only discrimination or an incomplete API surface. Verify against concrete implementations before extending.
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/TablesSettings/ITablesSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/TablesSettings/ITablesSettingsModel.cs
|
||||
generated_at: "2026-04-17T16:24:10.492908+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "1f1cdb1a5b001763"
|
||||
---
|
||||
|
||||
# TablesSettings
|
||||
|
||||
### Purpose
|
||||
This module defines the contract for the Tables Settings feature within the System Settings subsystem. It provides marker interfaces for the View and ViewModel components following the Model-View-ViewModel (MVVM) pattern, enabling decoupled UI implementation for table configuration management.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**ITablesSettingsView** (extends `IBaseView`)
|
||||
- Marker interface with no additional members.
|
||||
- Represents the view contract for table settings UI.
|
||||
|
||||
**ITablesSettingsViewModel** (extends `IBaseViewModel`)
|
||||
- Marker interface with no additional members.
|
||||
- Represents the ViewModel contract for table settings logic and state.
|
||||
|
||||
### Invariants
|
||||
- Both interfaces must be implemented by concrete types that also satisfy the contracts of `IBaseView` and `IBaseViewModel` respectively.
|
||||
- The View and ViewModel are expected to be paired together in the dependency injection container.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on:** `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by:** Unknown from source alone (likely concrete implementations in UI/presentation layers)
|
||||
|
||||
### Gotchas
|
||||
None identified from source alone. The interfaces are empty marker interfaces, suggesting either a work-in-progress feature or a design where all behavior is defined in the base interfaces.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/TestSettings/ITestSettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/TestSettings/ITestSettingsViewModel.cs
|
||||
generated_at: "2026-04-17T16:24:10.493233+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "478d564fcaa4de16"
|
||||
---
|
||||
|
||||
# TestSettings
|
||||
|
||||
### Purpose
|
||||
This module defines the contract for the Test Settings feature within the System Settings subsystem. It provides marker interfaces for the View and ViewModel components following the MVVM pattern, enabling decoupled UI implementation for test configuration management.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**ITestSettingsView** (extends `IBaseView`)
|
||||
- Marker interface with no additional members.
|
||||
- Represents the view contract for test settings UI.
|
||||
|
||||
**ITestSettingsViewModel** (extends `IBaseViewModel`)
|
||||
- Marker interface with no additional members.
|
||||
- Represents the ViewModel contract for test settings logic and state.
|
||||
|
||||
### Invariants
|
||||
- Both interfaces must be implemented by concrete types that also satisfy the contracts of `IBaseView` and `IBaseViewModel` respectively.
|
||||
- The View and ViewModel are expected to be paired together in the dependency injection container.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on:** `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by:** Unknown from source alone (likely concrete implementations in UI/presentation layers)
|
||||
|
||||
### Gotchas
|
||||
None identified from source alone. Similar to TablesSettings, these are empty marker interfaces.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/UISettings/IUISettingsView.cs
|
||||
- Common/DTS.CommonCore/Interface/SystemSettings/UISettings/IUISettingsViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:39.195802+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "1ddea72e8e683afa"
|
||||
---
|
||||
|
||||
# Documentation: UI Settings Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines two marker interfaces, `IUISettingsView` and `IUISettingsViewModel`, which establish type identity for the View and ViewModel components of a UI Settings feature within an MVVM (Model-View-ViewModel) architecture. These interfaces serve as extension points in the `DTS.Common.Interface` namespace, allowing concrete implementations to be identified and potentially resolved by the system's view/view-model infrastructure.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IUISettingsView`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Declaration:** `public interface IUISettingsView : IBaseView { }`
|
||||
- **Description:** An empty marker interface extending `IBaseView`. Intended to be implemented by UI components responsible for displaying or editing user interface settings.
|
||||
|
||||
### `IUISettingsViewModel`
|
||||
- **Namespace:** `DTS.Common.Interface`
|
||||
- **Declaration:** `public interface IUISettingsViewModel : IBaseViewModel { }`
|
||||
- **Description:** An empty marker interface extending `IBaseViewModel`. Intended to be implemented by view model classes that manage the state and behavior logic for UI settings.
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- Both interfaces must inherit from their respective base contracts (`IBaseView` and `IBaseViewModel`), implying any implementing class must satisfy the contracts defined by those base types.
|
||||
- The interfaces define no additional members, so all behavioral contracts are inherited from the base interfaces in `DTS.Common.Base`.
|
||||
- **Unclear from source:** The specific invariants enforced by `IBaseView` and `IBaseViewModel` cannot be determined from the provided source files.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unclear from source alone.** No imports or consumers are visible in the provided files. Likely consumers would include concrete View and ViewModel implementations for UI settings, as well as any navigation or dependency injection infrastructure that resolves views and view models by interface type.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Empty marker interfaces:** Both `IUISettingsView` and `IUISettingsViewModel` define no members of their own. This is either an intentional design (marker pattern for type discrimination) or an incomplete implementation. Developers should verify whether additional members should be added or if the marker pattern is deliberate.
|
||||
- **Base interface contracts unknown:** Without visibility into `IBaseView` and `IBaseViewModel`, the actual responsibilities and contracts that implementers must fulfill are unclear from this source alone.
|
||||
44
docs/ai/Common/DTS.CommonCore/Interface/TSRAIRGo.md
Normal file
44
docs/ai/Common/DTS.CommonCore/Interface/TSRAIRGo.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TSRAIRGo/INavigationButtonInfo.cs
|
||||
generated_at: "2026-04-17T16:38:34.293837+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "dc9e7eb526d7d3d9"
|
||||
---
|
||||
|
||||
# Documentation: INavigationButtonInfo
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
`INavigationButtonInfo` defines a data contract for navigation button metadata within the TSRAIRGo subsystem. It abstracts the properties required to render and control a navigation button—specifically its identity, display text, tooltip, enabled state, and border visibility. This interface allows consumers to interact with navigation button configuration without depending on concrete implementations.
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `Id` | `NavigationButtonId Id { get; }` | Read-only property that returns the unique identifier for the navigation button. Uses the `NavigationButtonId` enum type. |
|
||||
| `Text` | `string Text { get; set; }` | Read/write property for the button's display text. |
|
||||
| `Tooltip` | `string Tooltip { get; set; }` | Read/write property for the button's tooltip text. |
|
||||
| `Enabled` | `bool Enabled { get; set; }` | Read/write property indicating whether the button is interactive. |
|
||||
| `ShowBorder` | `bool ShowBorder { get; set; }` | Read/write property controlling whether the button renders with a visible border. |
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Id immutability**: The `Id` property is read-only; it cannot be changed after an implementing object is constructed. Implementing classes must ensure this value is set during construction and remains constant.
|
||||
- **Nullability**: The interface does not enforce non-null constraints on `Text` or `Tooltip`. Implementations may or may not accept null values—behavior is implementation-defined.
|
||||
- **Enum-backed identity**: The `Id` property is constrained to values defined in the `NavigationButtonId` enum; arbitrary integer or string identifiers are not permitted.
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
**This module depends on:**
|
||||
- `DTS.Common.Enums.TSRAIRGo.NavigationButtonId` — An enum type used to identify navigation buttons.
|
||||
|
||||
**What depends on this module:**
|
||||
- Unknown from source alone. Implementing classes and consumers of this interface are not present in the provided file.
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Asymmetric property access**: `Id` is the only read-only property; all others (`Text`, `Tooltip`, `Enabled`, `ShowBorder`) are mutable. This design implies that button identity is fixed while visual/behavioral properties can change at runtime.
|
||||
- **No default values defined**: The interface specifies no defaults. Implementations must define initial values for `Text`, `Tooltip`, `Enabled`, and `ShowBorder`.
|
||||
- **No validation contract**: The interface does not specify validation rules (e.g., maximum text length, non-empty requirements). Implementations may apply different validation logic, leading to inconsistent behavior across implementations.
|
||||
36
docs/ai/Common/DTS.CommonCore/Interface/Tags.md
Normal file
36
docs/ai/Common/DTS.CommonCore/Interface/Tags.md
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Tags/ITagAssignment.cs
|
||||
- Common/DTS.CommonCore/Interface/Tags/ITagAware.cs
|
||||
- Common/DTS.CommonCore/Interface/Tags/ITag.cs
|
||||
generated_at: "2026-04-17T16:22:31.600888+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "4ba5975db94e5439"
|
||||
---
|
||||
|
||||
# Tags
|
||||
|
||||
### Purpose
|
||||
This module provides interfaces for the tag management system within DTS. It defines the core contracts for tag entities, tag assignments to various object types, and tag-aware components. The system supports tagging of users, groups, templates, test setups, sensors, and sensor models.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**TagTypes** (enum)
|
||||
- Values: `User`, `Group`, `Template`, `TestSetup`, `Sensors`, `SensorModels`
|
||||
- Defines the categories of objects that can receive tag assignments.
|
||||
|
||||
**ITagAssignment**
|
||||
- `int ObjectID { get; set; }` - The database ID of the object being tagged.
|
||||
- `int TagID { get; set; }` - The database ID of the tag being assigned.
|
||||
- `TagTypes ObjectType { get; set; }` - The type category of the object being tagged.
|
||||
|
||||
**ITagAware**
|
||||
- `void SetTags(string[] tagsText)` - Assigns the specified tags to the implementing object.
|
||||
- `string[] GetTagsArray()` - Retrieves all tags as an array of tag text strings.
|
||||
- `int[] GetTagIDs()` - Retrieves all tag database IDs.
|
||||
- `void RemoveTags(string[] tagsText)` - Removes the specified tags from the implementing object.
|
||||
- `bool ContainsAnyTag(int[] tags)` - Returns true if the object has any of the specified tag IDs assigned.
|
||||
|
||||
**ITag** (extends `ICloneable`)
|
||||
- `int ID { get; set; }` - Database identifier for
|
||||
45
docs/ai/Common/DTS.CommonCore/Interface/TestMetaData.md
Normal file
45
docs/ai/Common/DTS.CommonCore/Interface/TestMetaData.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestMetaData/ITestEngineerDetailsDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/TestMetaData/ICustomerDetailsDbRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/TestMetaData/ILabratoryDetailsDbRecord.cs
|
||||
generated_at: "2026-04-17T16:04:06.110263+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "cbd2901590f28007"
|
||||
---
|
||||
|
||||
# TestMetaData
|
||||
|
||||
**Purpose:**
|
||||
This module provides interfaces that describe the database records for test metadata, specifically for test engineers, customers, and laboratories. These interfaces define the data contracts for entities stored in the `TestEngineerDetails`, `CustomerDetails`, and `LabratoryDetails` database tables, including contact information, reference numbers, and auditing fields. They are decorated with `System.ComponentModel.DataAnnotations` attributes to specify database column mappings and key constraints.
|
||||
|
||||
**Public Interface:**
|
||||
|
||||
* `ITestEngineerDetailsDbRecord`:
|
||||
* `int TestEngineerId { get; set; }`: Primary key for the record (annotated with `[Key]`, `[Column("TestEngineerId")]`).
|
||||
* `string Name { get; set; }`: Name field.
|
||||
* `string TestEngineerName { get; set; }`: Engineer's name.
|
||||
* `string TestEngineerPhone { get; set; }`: Phone number.
|
||||
* `string TestEngineerFax { get; set; }`: Fax number.
|
||||
* `string TestEngineerEmail { get; set; }`: Email address.
|
||||
* `bool LocalOnly { get; set; }`: Flag indicating if the record is local only.
|
||||
* `DateTime LastModified { get; set; }`: Timestamp of last modification.
|
||||
* `string LastModifiedBy { get; set; }`: User who last modified the record.
|
||||
* `int Version { get; set; }`: Version number for the record.
|
||||
|
||||
* `ICustomerDetailsDbRecord`:
|
||||
* `int CustomerId { get; set; }`: Primary key for the record (annotated with `[Key]`, `[Column("CustomerId")]`).
|
||||
* `string Name { get; set; }`: Name field.
|
||||
* `string CustomerName { get; set; }`: Customer's name.
|
||||
* `string CustomerTestRefNumber { get; set; }`: Customer test reference number.
|
||||
* `string ProjectRefNumber { get; set; }`: Project reference number.
|
||||
* `string CustomerOrderNumber { get; set; }`: Customer order number.
|
||||
* `string CustomerCostUnit { get; set; }`: Cost unit.
|
||||
* `bool LocalOnly { get; set; }`: Flag indicating if the record is local only.
|
||||
* `DateTime LastModified { get; set; }`: Timestamp of last modification.
|
||||
* `string LastModifiedBy { get; set; }`: User who last modified the record.
|
||||
* `int Version { get; set; }`: Version number for the record.
|
||||
|
||||
* `ILabratoryDetailsDbRecord`:
|
||||
* `int LabratoryId { get; set; }`: Primary key for the record (annotated with `[Key]`, `[Column("LabratoryId")]`). Note: "Labratory
|
||||
64
docs/ai/Common/DTS.CommonCore/Interface/TestModule.md
Normal file
64
docs/ai/Common/DTS.CommonCore/Interface/TestModule.md
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestModule/ITestModuleView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestModule/ITestModuleViewModel.cs
|
||||
generated_at: "2026-04-17T16:36:19.630468+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "cc0415a419692cf6"
|
||||
---
|
||||
|
||||
# Documentation: Test Module View Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the view and view model contracts for a Test Module component within an MVVM (Model-View-ViewModel) architecture. `ITestModuleView` serves as a marker interface for test module views, while `ITestModuleViewModel` provides the contract for a view model that exposes a collection of assemblies, likely for test discovery or execution purposes.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ITestModuleView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseView`
|
||||
|
||||
An empty marker interface. No members are defined beyond those inherited from `IBaseView`.
|
||||
|
||||
---
|
||||
|
||||
### `ITestModuleViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits from:** `IBaseViewModel`
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `AssemblyList` | `List<Assembly>` | get; set; | A mutable list of `System.Reflection.Assembly` objects associated with the test module. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `ITestModuleView` must always be assignable to `IBaseView`.
|
||||
- `ITestModuleViewModel` must always be assignable to `IBaseViewModel`.
|
||||
- The `AssemblyList` property is declared as `List<Assembly>` (reference type); nullability constraints, if any, are not specified in the interface and must be enforced by implementations.
|
||||
- The presence of a public setter on `AssemblyList` implies the list reference itself can be replaced, not just modified in-place.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — provides `IBaseView` and `IBaseViewModel` base interfaces
|
||||
- `System.Collections.Generic` — provides `List<T>` (used in `ITestModuleViewModel`)
|
||||
- `System.Reflection` — provides `Assembly` (used in `ITestModuleViewModel`)
|
||||
|
||||
### What depends on this module:
|
||||
- **Unknown from source alone.** No consumers are visible in the provided files.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Marker interface with no members:** `ITestModuleView` defines no members of its own. Its purpose (type identification, dependency injection registration, etc.) is not clear from the source alone.
|
||||
- **Mutable list with setter:** The `AssemblyList` property allows both getting and setting the entire list reference. Callers can replace the list entirely, which may have implications for consumers expecting the same list instance to be retained. Thread-safety and change notification behaviors are unspecified.
|
||||
- **Nullability not specified:** The interface does not indicate whether `AssemblyList` may be null or must always contain valid `Assembly` objects. Implementations must define and document their own constraints.
|
||||
80
docs/ai/Common/DTS.CommonCore/Interface/TestSetups.md
Normal file
80
docs/ai/Common/DTS.CommonCore/Interface/TestSetups.md
Normal file
@@ -0,0 +1,80 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/ITestSetupsView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/ITestSetupsViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/ITestDASOrder.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/IROIPeriodChannelRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/ITestSetupHardwareRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/ITestSetupROIRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/ICalculatedChannelRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/IISFFile.cs
|
||||
generated_at: "2026-04-17T15:32:44.802703+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "5e61f761ff8b02fd"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface.TestSetups
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the data contracts and interfaces for the TestSetups subsystem within DTS.CommonCore. It provides abstractions for test setup configuration including Data Acquisition System (DAS) hardware records, Region of Interest (ROI) definitions, calculated channel configurations, and ISF (Instrumentation Setup File) file format handling for sensor calibration data. These interfaces serve as the boundary layer between test setup data persistence and the application logic.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### ITestSetupsView
|
||||
```csharp
|
||||
public interface ITestSetupsView : IBaseView
|
||||
```
|
||||
Marker interface extending `IBaseView`. No members defined.
|
||||
|
||||
### ITestSetupsViewModel
|
||||
```csharp
|
||||
public interface ITestSetupsViewModel : IBaseViewModel
|
||||
```
|
||||
Marker interface extending `IBaseViewModel`. No members defined.
|
||||
|
||||
### ITestDASOrder
|
||||
```csharp
|
||||
public interface ITestDASOrder
|
||||
```
|
||||
Allows DAS (Data Acquisition System) to be ordered within a test setup.
|
||||
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------|
|
||||
| `DASIndex` | `int` | get/set |
|
||||
|
||||
### IROIPeriodChannelRecord
|
||||
```csharp
|
||||
public interface IROIPeriodChannelRecord
|
||||
```
|
||||
Describes a record in the ROIPeriodChannels table.
|
||||
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------|
|
||||
| `TestSetupROIId` | `int` | get/set |
|
||||
| `ChannelName` | `string` | get/set |
|
||||
|
||||
### ITestSetupHardwareRecord
|
||||
```csharp
|
||||
public interface ITestSetupHardwareRecord
|
||||
```
|
||||
Describes hardware records for test setup configuration.
|
||||
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------|
|
||||
| `DASId` | `int` | get/set |
|
||||
| `TestSetupId` | `int` | get/set |
|
||||
| `AddDAS` | `bool` | get/set |
|
||||
| `SamplesPerSecond` | `int` | get/set |
|
||||
| `IsClockMaster` | `bool` | get/set |
|
||||
| `AntiAliasFilterRate` | `int` | get/set |
|
||||
| `PTPDomainId` | `byte` | get/set |
|
||||
|
||||
### ITestSetupROIRecord
|
||||
```csharp
|
||||
public interface ITestSetupROIRecord
|
||||
```
|
||||
Describes a record in the TestSetup
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/CachedItemsList/ICachedItemsListView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/CachedItemsList/ICachedItem.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/CachedItemsList/ICachedItemsListViewModel.cs
|
||||
generated_at: "2026-04-17T16:35:30.933340+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "a73c02a02fbc51f8"
|
||||
---
|
||||
|
||||
# Documentation: Cached Items List Module
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module provides an interface-based abstraction for managing and displaying a list of cached items within a test setup context. It enables the system to track cached entities (sensors, calibrations, and DAS hardware), compare their cached state against database state, and identify items that are either out-of-date or missing from the cache. The module follows a Model-View-ViewModel (MVVM) pattern, separating the view concerns from the presentation logic.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ICachedItemsListView`
|
||||
**Signature:** `public interface ICachedItemsListView : IBaseView { }`
|
||||
|
||||
A marker interface representing the view component for the cached items list. Inherits from `IBaseView` but defines no additional members.
|
||||
|
||||
---
|
||||
|
||||
### `ICachedItem`
|
||||
**Signature:** `public interface ICachedItem`
|
||||
|
||||
Represents a single cached item with metadata about its cache and database state.
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `Name` | `string` | get | The name of the cached item. |
|
||||
| `ObjectType` | `string` | get | The type of the cached object. |
|
||||
| `CacheTime` | `DateTime` | get | The timestamp when the item was cached. |
|
||||
| `DBTime` | `DateTime` | get | The last modified time in the database. `DateTime.MinValue` indicates the item is no longer in the database. |
|
||||
|
||||
---
|
||||
|
||||
### `ICachedItemsListViewModel`
|
||||
**Signature:** `public interface ICachedItemsListViewModel : IBaseViewModel`
|
||||
|
||||
The view model interface responsible for managing the cached items list presentation logic.
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `View` | `ICachedItemsListView` | get/set | The associated view instance. |
|
||||
| `CachedItems` | `ICachedItem[]` | get/set | Array of cached items being managed. |
|
||||
| `HasOutofDateCachedItems` | `bool` | get | Indicates whether any cached items are out of date. |
|
||||
| `HasMissingSensors` | `bool` | get | Indicates whether any sensors are missing from the cache. |
|
||||
|
||||
**Methods:**
|
||||
|
||||
```csharp
|
||||
bool SetCachedItems(ISensorData[] sensors, ISensorCalibration[] sensorCalibrations, IDASHardware[] hardware, IDASHardware[] allD
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Diagnostics/IDiagnosticsTreeView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Diagnostics/IDiagnosticsViewModel.cs
|
||||
generated_at: "2026-04-17T16:37:01.136998+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "a8cb4804c71260be"
|
||||
---
|
||||
|
||||
# Documentation: Diagnostics TreeView Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for a diagnostics tree view component within a test setup context. It establishes a view/view-model pattern where `IDiagnosticsTreeView` represents the view abstraction and `IDiagnosticsViewModel` serves as the view-model interface, providing a typed view reference and an `Unset()` method for cleanup or state reset operations.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IDiagnosticsTreeView`
|
||||
**Namespace:** `DTS.Common.Interface.TestSetups.Diagnostics`
|
||||
|
||||
```csharp
|
||||
public interface IDiagnosticsTreeView : IBaseView { }
|
||||
```
|
||||
|
||||
A marker interface extending `IBaseView`. Declares no members of its own; its purpose is to provide a specific type identity for diagnostics tree view implementations within the broader view hierarchy.
|
||||
|
||||
---
|
||||
|
||||
### `IDiagnosticsViewModel`
|
||||
**Namespace:** `DTS.Common.Interface.TestSetups.Diagnostics`
|
||||
|
||||
```csharp
|
||||
public interface IDiagnosticsViewModel : IBaseViewModel
|
||||
{
|
||||
IDiagnosticsTreeView View { get; set; }
|
||||
void Unset();
|
||||
}
|
||||
```
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `View` | `IDiagnosticsTreeView View { get; set; }` | Property providing access to the associated diagnostics tree view instance. Readable and writable. |
|
||||
| `Unset` | `void Unset()` | Method with no parameters and no return value. Purpose not documented in source; likely used for cleanup or resetting state. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `IDiagnosticsViewModel.View` must be assignable to `IDiagnosticsTreeView`.
|
||||
- Both interfaces must inherit from their respective base types (`IBaseView` and `IBaseViewModel`) from `DTS.Common.Base`.
|
||||
- The `View` property is publicly gettable and settable; no null constraints are expressed at the interface level.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
|
||||
### What depends on this module:
|
||||
- **Cannot be determined from source alone.** No consumers are visible in the provided files.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **`IDiagnosticsTreeView` is empty:** It declares no members, functioning purely as a type marker. Any view-specific contract must be defined in implementing classes or other interfaces.
|
||||
- **`Unset()` behavior is unspecified:** The method's purpose (cleanup, state reset, event detachment, etc.) is not documented in the source. Developers should consult implementing classes or external documentation.
|
||||
- **Bidirectional coupling potential:** The view-model holds a mutable reference to the view (`View { get; set; }`), which may imply two-way communication patterns not visible in this interface definition.
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/AnalogChannels/IAnalogChannelsView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/AnalogChannels/IAnalogChannelsViewModel.cs
|
||||
generated_at: "2026-04-17T16:37:04.386711+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "2539ecbced0d427a"
|
||||
---
|
||||
|
||||
# Documentation: IAnalogChannelsView & IAnalogChannelsViewModel
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the MVVM (Model-View-ViewModel) contracts for the Analog Channels component within the TTS (Test Setup) Import system. `IAnalogChannelsView` serves as a marker interface for the view layer, while `IAnalogChannelsViewModel` defines the presentation logic contract, including view binding and validation capabilities. These interfaces enable decoupled communication between the UI layer and business logic for analog channel configuration during test setup imports.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### IAnalogChannelsView
|
||||
|
||||
**Namespace:** `DTS.Common.Interface.TestSetups.Imports.TTS`
|
||||
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public interface IAnalogChannelsView : IBaseView { }
|
||||
```
|
||||
|
||||
**Description:** A marker interface extending `IBaseView`. Contains no members; its purpose is to provide type identity for analog channel views within the system's view hierarchy.
|
||||
|
||||
---
|
||||
|
||||
### IAnalogChannelsViewModel
|
||||
|
||||
**Namespace:** `DTS.Common.Interface.TestSetups.Imports.TTS`
|
||||
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public interface IAnalogChannelsViewModel : IBaseViewModel
|
||||
```
|
||||
|
||||
**Members:**
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `View` | `IAnalogChannelsView View { get; set; }` | Property for binding the associated view instance to the view model. |
|
||||
| `Validate` | `string Validate()` | Method that performs validation and returns a string result. The return value semantics are not documented in the source. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- `IAnalogChannelsView` must always be assignable to `IBaseView`.
|
||||
- `IAnalogChannelsViewModel` must always be assignable to `IBaseViewModel`.
|
||||
- The `View` property on `IAnalogChannelsViewModel` must accept and return instances of `IAnalogChannelsView` (not merely `IBaseView`).
|
||||
- The `Validate()` method must return a non-null `string` (nullability constraints are not specified in the source).
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces.
|
||||
|
||||
### What depends on this module:
|
||||
- **Cannot be determined from source alone.** Consumers would be concrete implementations of these interfaces (views and view models) and any factories or DI containers that resolve them.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Empty marker interface:** `IAnalogChannelsView` has no members. Any behavior it provides comes entirely from `IBaseView`. Developers should not expect analog-channel-specific members on this interface.
|
||||
|
||||
- **Validate() return semantics unclear:** The `Validate()` method returns `string` rather than a boolean or a structured result object. The source does not indicate whether:
|
||||
- An empty/null string indicates success
|
||||
- A non-empty string contains an error message
|
||||
- Multiple errors are concatenated or handled differently
|
||||
|
||||
Developers should consult implementing classes or related documentation to understand the expected contract.
|
||||
|
||||
- **Tight coupling between View and ViewModel:** The `IAnalogChannelsViewModel`
|
||||
@@ -0,0 +1,69 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/DIChannels/IDigitalInputChannelsView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/DIChannels/IDigitalInputChannelsViewModel.cs
|
||||
generated_at: "2026-04-17T16:37:03.560564+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "c8618ce717264863"
|
||||
---
|
||||
|
||||
# Documentation: Digital Input Channels View Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the View and ViewModel interfaces for the Digital Input Channels component within the Test Setups imports subsystem (TTS namespace). It establishes the contract for a Model-View-ViewModel (MVVM) pattern implementation, where `IDigitalInputChannelsViewModel` manages the presentation logic and maintains a reference to its associated `IDigitalInputChannelsView`. This abstraction layer allows for decoupled UI components that can be tested independently and swapped at runtime.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IDigitalInputChannelsView`
|
||||
**Location:** `DTS.Common.Interface.TestSetups.Imports.TTS.DIChannels`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IDigitalInputChannelsView : IBaseView { }
|
||||
```
|
||||
|
||||
**Behavior:** A marker interface that extends `IBaseView`. It defines no members of its own, serving purely as a type identifier for views that display digital input channel data.
|
||||
|
||||
---
|
||||
|
||||
### `IDigitalInputChannelsViewModel`
|
||||
**Location:** `DTS.Common.Interface.TestSetups.Imports.TTS.DIChannels`
|
||||
|
||||
**Signature:**
|
||||
```csharp
|
||||
public interface IDigitalInputChannelsViewModel : IBaseViewModel
|
||||
{
|
||||
IDigitalInputChannelsView View { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
**Behavior:** Defines the ViewModel contract for digital input channels. Inherits from `IBaseViewModel` and exposes a single property `View` of type `IDigitalInputChannelsView`, establishing a bidirectional association between the ViewModel and its View.
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Inheritance constraint:** `IDigitalInputChannelsView` must always be assignable to `IBaseView`, and `IDigitalInputChannelsViewModel` must always be assignable to `IBaseViewModel`.
|
||||
- **View association:** Any concrete implementation of `IDigitalInputChannelsViewModel` is expected to provide a gettable and settable `View` property that accepts/returns an `IDigitalInputChannelsView` instance.
|
||||
- **Namespace alignment:** Both interfaces reside in the same namespace (`DTS.Common.Interface.TestSetups.Imports.TTS.DIChannels`), implying they are intended to be versioned and deployed together.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- `DTS.Common.Base` — Provides `IBaseView` and `IBaseViewModel` base interfaces from which these interfaces inherit.
|
||||
|
||||
### What depends on this module:
|
||||
- **Unknown from source alone.** Concrete implementations of these interfaces, as well as consumers that inject or reference `IDigitalInputChannelsView` or `IDigitalInputChannelsViewModel`, are not present in the provided source files.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Empty marker interface:** `IDigitalInputChannelsView` defines no members. Its utility comes entirely from the type hierarchy (`IBaseView` inheritance) and its role as a typed contract for the `View` property on the ViewModel. Developers should not expect view-specific members at this interface level.
|
||||
- **Mutable View property:** The `View` property on `IDigitalInputChannelsViewModel` is both get
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/DOChannels/IDigitalOutputChannelsView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/DOChannels/IDigitalOutputChannelsViewModel.cs
|
||||
generated_at: "2026-04-17T16:24:31.003813+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "1a2677fa31768837"
|
||||
---
|
||||
|
||||
# DOChannels
|
||||
|
||||
### Purpose
|
||||
This module defines the MVP interfaces for managing Digital Output Channels within TTS (Test Setup) imports. It provides a minimal contract for a view (`IDigitalOutputChannelsView`) and view model (`IDigitalOutputChannelsViewModel`) for the digital output channels feature.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IDigitalOutputChannelsView**
|
||||
- `interface IDigitalOutputChannelsView : IBaseView` - Marker interface for the digital output channels view. No members defined beyond the base interface.
|
||||
|
||||
**IDigitalOutputChannelsViewModel**
|
||||
- `interface IDigitalOutputChannelsViewModel : IBaseViewModel`
|
||||
- `IDigitalOutputChannelsView View { get; set; }` - Gets or sets the associated view instance.
|
||||
|
||||
### Invariants
|
||||
- `IDigitalOutputChannelsViewModel.View` must be set for proper MVP binding (implied by pattern, not explicit in source).
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (`IBaseView`, `IBaseViewModel`)
|
||||
- **Depended on by**: Unclear from source alone (likely TTS import digital output channel implementations)
|
||||
|
||||
### Gotchas
|
||||
- The view model interface is minimal with only a `View` property. Any additional functionality must be defined in concrete implementations or other partial interfaces not shown here.
|
||||
- The purpose of this specific module versus other TTS import modules is unclear from source alone—likely differentiated by channel type (digital output vs. other channel types).
|
||||
|
||||
---
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/EditFile/IEditFileView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/EditFile/IEditFileViewModel.cs
|
||||
generated_at: "2026-04-17T16:24:31.002115+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "0cddffcfcf84c198"
|
||||
---
|
||||
|
||||
# EditFile
|
||||
|
||||
### Purpose
|
||||
This module defines the MVP (Model-View-Presenter) interfaces for editing TTS (Test Setup) import files. It provides the contract for a view (`IEditFileView`) and its corresponding view model (`IEditFileViewModel`) that handles validation, view initialization, and sensor searching functionality within the TTS import workflow.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IEditFileView**
|
||||
- `interface IEditFileView : IBaseView` - Marker interface for the edit file view. No members defined beyond the base interface.
|
||||
|
||||
**IEditFileViewModel**
|
||||
- `interface IEditFileViewModel : IBaseViewModel`
|
||||
- `IEditFileView View { get; set; }` - Gets or sets the associated view instance.
|
||||
- `bool Validate()` - Performs validation logic (specific rules unclear from source alone).
|
||||
- `bool ValidateChange(ITTSChannelRecord record = null)` - Validates changes on the page. If a record is passed, ensures there are no RequiredChannels with identical channel codes. Returns success status.
|
||||
- `bool ChangeValidationIsNeeded { get; set; }` - Flag indicating whether change validation should be performed.
|
||||
- `void InitializeView()` - Initializes components in the View UI.
|
||||
- `void Search(string text)` - Filters available sensors by the given text.
|
||||
|
||||
### Invariants
|
||||
- `IEditFileViewModel.View` must be set before calling `InitializeView()`, `Validate()`, `ValidateChange()`, or `Search()` (implied by typical MVP pattern, not explicit in source).
|
||||
- `ValidateChange()` with a non-null `ITTSChannelRecord` must check for duplicate channel codes in RequiredChannels.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (`IBaseView`, `IBaseViewModel`), `DTS.Common.Interface.TestSetups.Imports.TTS.ReadFile` (`ITTSChannelRecord`)
|
||||
- **Depended on by**: Unclear from source alone (likely TTS import feature implementations)
|
||||
|
||||
### Gotchas
|
||||
- The `Validate()` method has no XML documentation, so its specific validation rules are unclear from source alone.
|
||||
- The relationship between `Validate()` and `ValidateChange()` is not explicit—callers must understand when each is appropriate.
|
||||
|
||||
---
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/HardwareScan/IHardwareScanView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/HardwareScan/IChannelSummary.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/HardwareScan/IDasSummary.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/HardwareScan/IHardwareSummaryRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/HardwareScan/IHardwareScanViewModel.cs
|
||||
generated_at: "2026-04-17T16:02:06.099417+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "a3a408bb1641fa3f"
|
||||
---
|
||||
|
||||
# HardwareScan
|
||||
|
||||
### Purpose
|
||||
This module provides interfaces for hardware scanning functionality within the TTS (Test Setup) import system. It defines contracts for summar
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/LevelTrigger/ILevelTriggerView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/LevelTrigger/ILevelTriggerViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/LevelTrigger/ILevelTrigger.cs
|
||||
generated_at: "2026-04-17T16:35:31.096125+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "722feaa9f32ee26f"
|
||||
---
|
||||
|
||||
# Level Trigger Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for a **Level Trigger** component within the TTS (Test/Test Setup) import system. It provides interfaces for configuring level triggers that can be associated with hardware channels, including their threshold values (percentage and engineering units), channel assignments, and serialization for hashing purposes. The module follows an MVVM pattern with separate View and ViewModel interfaces.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ILevelTriggerView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inheritance:** `IBaseView`
|
||||
|
||||
A marker interface for the Level Trigger view component. No members defined beyond the base interface.
|
||||
|
||||
---
|
||||
|
||||
### `ILevelTriggerViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inheritance:** `IBaseViewModel`
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `View` | `ILevelTriggerView` | get/set | The associated view instance for this view model. |
|
||||
|
||||
---
|
||||
|
||||
### `ILevelTrigger`
|
||||
**Namespace:** `DTS.Common.Interface.TestSetups.Imports.TTS.LevelTrigger`
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
|
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/ReadFile/IReadFileView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/ReadFile/IReadFileViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/ReadFile/ITTSSetup.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/ReadFile/ITTSChannelRecord.cs
|
||||
generated_at: "2026-04-17T15:37:17.417008+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "1f8a982b2acbc86a"
|
||||
---
|
||||
|
||||
# TTS Import Read File Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the interfaces for importing and managing TTS (Toyota Test Setup) configuration files. It provides the contract for reading test setup files, parsing channel records, and configuring test parameters including sensor assignments, trigger settings, and recording modes. The module serves as the abstraction layer between the file import logic and the view/view-model components in the DTS test configuration system.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `IReadFileView`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseView`
|
||||
|
||||
A marker interface with no members, used to identify view implementations for the read file functionality.
|
||||
|
||||
---
|
||||
|
||||
### `IReadFileViewModel`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
**Inherits:** `IBaseViewModel`
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `View` | `IReadFileView { get; set; }` | Associated view instance for this view-model. |
|
||||
| `FileToImport` | `string { get; set; }` | Path to the file being imported. |
|
||||
| `SetStatus` | `void SetStatus(string status)` | Sets the current status message. |
|
||||
| `SetStatus` | `void SetStatus(string status, string error)` | Sets the status message with an error description. |
|
||||
| `SetProgress` | `void SetProgress(double progress)` | Updates the progress indicator (0.0 to 1.0 expected). |
|
||||
| `ReadFile` | `void ReadFile(string fileName, double defaultSampleRate, RecordingModes defaultMode, double defaultTTSPreTrigger, double defaultTTSPostTrigger, double defaultTTSROIStart
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/Summary/ISummaryChannel.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/Summary/ISummaryView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/Summary/ISummaryViewModel.cs
|
||||
generated_at: "2026-04-17T16:35:31.118094+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "329e778815fbba01"
|
||||
---
|
||||
|
||||
# Documentation: TTS Summary Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the contract for the Summary component within the TTS (Test Setup) import subsystem. It establishes a Model-View-ViewModel (MVVM) architecture for displaying and managing test setup summary information during import operations. The interfaces facilitate the presentation of channel assignments, test identification, recording parameters (sample rate, triggers, recording mode), and progress/status feedback to the user during the import workflow.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### ISummaryChannel
|
||||
|
||||
**Inherits from:** `IBaseClass`
|
||||
|
||||
Represents summary data for a single channel configuration.
|
||||
|
||||
| Member | Type | Description |
|
||||
|--------|------|-------------|
|
||||
| `ChannelType` | `string` (get/set) | Gets or sets the type identifier for the channel. |
|
||||
| `Assigned` | `int` (get/set) | Gets or sets the assigned channel count or identifier. |
|
||||
| `Unassigned` | `string` (get/set) | Gets or sets information about unassigned channels. |
|
||||
|
||||
---
|
||||
|
||||
### ISummaryView
|
||||
|
||||
**Inherits from:** `IBaseView`
|
||||
|
||||
Defines the view contract for rendering the summary display.
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `UpdateTestIds` | `void UpdateTestIds(string[] serializedValues)` | Updates the view with an array of serialized test identifier values. |
|
||||
| `GetTestId` | `string GetTestId()` | Retrieves the current test identifier from the view. |
|
||||
| `SetTestName` | `void SetTestName(string testName)` | Sets the test name in the view. |
|
||||
|
||||
---
|
||||
|
||||
### ISummaryViewModel
|
||||
|
||||
**Inherits from:** `IBaseViewModel`
|
||||
|
||||
Defines the view model contract for coordinating summary data and view interactions.
|
||||
|
||||
**Properties:**
|
||||
|
||||
| Member | Type | Access | Description |
|
||||
|--------|------|--------|-------------|
|
||||
| `View` | `ISummaryView` | get/set | Gets or sets the associated view instance. |
|
||||
| `TestSetupComplete` | `bool` | get/set | Gets or sets a flag indicating whether test setup has completed. |
|
||||
| `ImportFileName` | `string` | get | Gets the import file name. |
|
||||
| `TestSetupName` | `string` | get | Gets the test setup name. |
|
||||
| `SampleRate` | `double` | get
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/TOMChannels/ITOMChannelsView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/Imports/TTS/TOMChannels/ITOMChannelsViewModel.cs
|
||||
generated_at: "2026-04-17T16:37:02.625756+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "71c7e063b1b07cbd"
|
||||
---
|
||||
|
||||
# Documentation: ITOMChannelsView & ITOMChannelsViewModel
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the View and ViewModel interfaces for the TOM Channels component within the TTS (Test Setup) import subsystem. It establishes the contract for the UI layer following the MVVM (Model-View-ViewModel) architectural pattern, enabling decoupling between the presentation logic and the view implementation. The interfaces serve as integration points for handling TOM Channels data during test setup imports.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ITOMChannelsView`
|
||||
**Namespace:** `DTS.Common.Interface.TestSetups.Imports.TTS`
|
||||
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public interface ITOMChannelsView : IBaseView { }
|
||||
```
|
||||
|
||||
**Description:** A marker interface representing the view component for TOM Channels. It extends `IBaseView` from `DTS.Common.Base` but defines no additional members of its own. Concrete implementations are expected to provide the actual UI rendering for TOM Channels.
|
||||
|
||||
---
|
||||
|
||||
### `ITOMChannelsViewModel`
|
||||
**Namespace:** `DTS.Common.Interface.TestSetups.Imports.TTS`
|
||||
|
||||
**Declaration:**
|
||||
```csharp
|
||||
public interface ITOMChannelsViewModel : IBaseViewModel
|
||||
{
|
||||
ITOMChannelsView View { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
**Description:** Defines the ViewModel contract for TOM Channels, extending `IBaseViewModel`. It exposes a single property:
|
||||
|
||||
| Property | Type | Access | Description |
|
||||
|----------|------|--------|-------------|
|
||||
| `View` | `ITOMChannelsView` | get; set; | Holds a reference to the associated view instance |
|
||||
|
||||
---
|
||||
|
||||
## 3. Invariants
|
||||
|
||||
- **Inheritance constraint:** `ITOMChannelsView` must always be assignable to `IBaseView`, and `ITOMChannelsViewModel` must always be assignable to `IBaseViewModel`.
|
||||
- **View association:** Any valid `ITOMChannelsViewModel` implementation is expected to maintain a reference to an `ITOMChannelsView` instance through the `View` property.
|
||||
- **Namespace organization:** Both interfaces belong to `DTS.Common.Interface.TestSetups.Imports.TTS`, indicating they are part of the TTS import feature area.
|
||||
|
||||
---
|
||||
|
||||
## 4. Dependencies
|
||||
|
||||
### This module depends on:
|
||||
- **`DTS.Common.Base`** — Provides the base interfaces:
|
||||
- `IBaseView` (parent of `ITOMChannelsView`)
|
||||
- `IBaseViewModel` (parent of `ITOMChannelsViewModel`)
|
||||
|
||||
### What depends on this module:
|
||||
- **Unknown from source alone.** Concrete implementations of `ITOMChannelsView` and `ITOMChannelsViewModel` would reference these interfaces, but no such implementations are present in the provided source files.
|
||||
|
||||
---
|
||||
|
||||
## 5. Gotchas
|
||||
|
||||
- **Marker interface:** `ITOMChannelsView` defines no members beyond its inheritance from `IBaseView`. This suggests it may exist primarily for type identification or compile-time constraints rather than defining behavioral contracts.
|
||||
- **Bidirectional coupling:** The `ITOMChannelsViewModel.View` property creates a reference
|
||||
@@ -0,0 +1,179 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/TestSetupsList/ITestSetupsListView.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/TestSetupsList/ITestSetupsListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/TestSetupsList/ITestSetup.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/TestSetupsList/ITestSetupRecord.cs
|
||||
- Common/DTS.CommonCore/Interface/TestSetups/TestSetupsList/ITestTemplate.cs
|
||||
generated_at: "2026-04-17T15:36:29.795378+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "2595ad599ee7b0c4"
|
||||
---
|
||||
|
||||
# Test Setups Module Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the interface contracts for the Test Setup management system within DTS. It provides the data structures and behaviors for configuring, storing, and managing test setups—configurations for Data Acquisition System (DAS) tests involving sensors, channels, groups, hardware, and various recording/trigger settings. The interfaces follow a Model-View-ViewModel (MVVM) pattern: `ITestSetupsListView`/`ITestSetupsListViewModel` handle UI presentation, while `ITestSetupRecord`/`ITestSetup`/`ITestTemplate` form a domain model hierarchy representing test configurations at increasing levels of complexity.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### ITestSetupsListView
|
||||
```csharp
|
||||
public interface ITestSetupsListView : IBaseView { }
|
||||
```
|
||||
An empty marker interface extending `IBaseView`. No members defined.
|
||||
|
||||
---
|
||||
|
||||
### ITestSetupsListViewModel
|
||||
```csharp
|
||||
public interface ITestSetupsListViewModel : IBaseViewModel, IFilterableListView
|
||||
```
|
||||
|
||||
| Member | Signature | Description |
|
||||
|--------|-----------|-------------|
|
||||
| `View` | `ITestSetupsListView View { get; set; }` | Associated view instance |
|
||||
| `TestSetups` | `ITestSetup[] TestSetups { get; set; }` | Array of test setup instances |
|
||||
| `SetTestSetups` | `void SetTestSetups(ITestSetup[] allTestSetups)` | Populates the test setups array |
|
||||
| `Sort` | `void Sort(object sortBy, bool bColumnClick)` | Sorts the list by specified criteria |
|
||||
| `Unset` | `void Unset()` | Clears/resets the view model state |
|
||||
| `Filter` | `void Filter(string currentFilter)` | Filters the list by search term |
|
||||
| `MouseDoubleClick` | `void MouseDoubleClick(int index)` | Handles double-click on item at index |
|
||||
|
||||
---
|
||||
|
||||
### ITestSetupRecord
|
||||
```csharp
|
||||
public interface ITestSetupRecord
|
||||
```
|
||||
Base interface describing a test setup record persisted in the database.
|
||||
|
||||
**Core Properties:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `Id` | `int` | Database ID |
|
||||
| `Name` | `string` | Test setup name |
|
||||
| `Description` | `string` | Test setup description |
|
||||
| `LastModified` | `DateTime` | Last modification timestamp |
|
||||
| `LastModifiedBy` | `string` | User who last modified |
|
||||
| `Dirty` | `bool` | If true, completion has not been calculated |
|
||||
| `IsComplete` | `bool` | Whether setup is ready to run (depends on `Dirty`) |
|
||||
| `ErrorMessage` | `string` | Cached warnings/errors |
|
||||
|
||||
**Automatic Progression:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `AutomaticProgression` | `bool` | Auto-progress through test steps |
|
||||
| `AutomaticProgressionDelayMS` | `int` | Delay between auto steps |
|
||||
|
||||
**Trigger Configuration:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `InvertTriggerCompletion` | `bool` | Switch trigger polarity from close to open |
|
||||
| `InvertStartRecordCompletion` | `bool` | Switch start polarity from close to open |
|
||||
| `IgnoreShortedStartCompletion` | `bool` | Ignore shorted start condition |
|
||||
| `IgnoreShortedTriggerCompletion` | `bool` | Ignore shorted trigger condition |
|
||||
|
||||
**Recording Settings:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `RecordingMode` | `RecordingModes` | Overall recording mode |
|
||||
| `SamplesPerSecondAggregate` | `double` | Default sample rate for new DAS added |
|
||||
| `PreTriggerSeconds` | `double` | Pre-trigger data duration |
|
||||
| `PostTriggerSeconds` | `double` | Post-trigger data duration |
|
||||
| `NumberOfEvents` | `int` | Events to record (if mode supports multiple) |
|
||||
|
||||
**Diagnostic & Verification:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `ViewDiagnostics` | `bool` | Show diagnostics as test step |
|
||||
| `VerifyChannels` | `bool` | Show verify channels as test step |
|
||||
| `AutoVerifyChannels` | `bool` | Auto-verify channels |
|
||||
| `AutoVerifyDelaySeconds` | `double` | Delay before auto-verify |
|
||||
| `StrictDiagnostics` | `bool` | Require all channels pass diagnostics |
|
||||
| `RequireUserConfirmationOnErrors` | `bool` | Prompt user on diagnostic errors |
|
||||
|
||||
**ROI & Download:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `DoROIDownload` | `bool` | ROI download as unique step |
|
||||
| `ViewROIDownload` | `bool` | View ROI as test step |
|
||||
| `DownloadAll` | `bool` | Download all data as step |
|
||||
| `ViewDownloadAll` | `bool` | View downloaded data as step |
|
||||
| `RegionsOfInterest` | `BindingList<IRegionOfInterest>` | ROI collection |
|
||||
| `ROIStart` | `double` | ROI start (deprecated) |
|
||||
| `ROIEnd` | `double` | ROI end (deprecated) |
|
||||
|
||||
**Realtime & Export:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `ViewRealtime` | `bool` | Include realtime viewing step |
|
||||
| `DefaultNumberRealtimeGraphs` | `short` | Number of realtime plots |
|
||||
| `ViewExport` | `bool` | Include export as step |
|
||||
| `ExportFormats` | `SupportedExportFormatBitFlags` | Default export format bitmask |
|
||||
|
||||
**Lab/Customer/Test Engineer:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `LabDetails` | `string` | Lab information |
|
||||
| `UseLabratoryDetails` | `bool` | Include lab details in execution |
|
||||
| `CustomerDetails` | `string` | Customer information |
|
||||
| `UseCustomerDetails` | `bool` | Include customer details |
|
||||
| `TestEngineerDetails` | `string` | Engineer information |
|
||||
| `UseTestEngineerDetails` | `bool` | Include engineer details |
|
||||
|
||||
**Sensor & Calibration:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `AllowMissingSensors` | `bool` | Continue execution with missing sensors |
|
||||
| `AllowSensorIdToBlankChannel` | `bool` | Allow sensor ID assignment to blank channel |
|
||||
| `CalibrationBehavior` | `CalibrationBehaviors` | Calibration handling mode |
|
||||
|
||||
**Upload & Data:**
|
||||
| Property | Type | Description |
|
||||
|----------|------|-------------|
|
||||
| `UploadData` | `bool` | Include upload as step |
|
||||
| `UploadFolder` | `string` | Upload destination (legacy, superseded by ini file) |
|
||||
| `UploadExportsOnly` | `bool` | Upload only export files |
|
||||
| `SameAsDownloadFolder` | `bool` | Use download folder for upload |
|
||||
|
||||
**Level Triggers (Low-g Linear):**
|
||||
| Property | Type |
|
||||
|----------|------|
|
||||
| `LowgLevelTriggerOn` | `bool` |
|
||||
| `LowgLevelTriggerOnX/Y/Z` | `bool` |
|
||||
| `LowgLinearLevelTriggerX/Y/Z` | `double` |
|
||||
|
||||
**Level Triggers (High-g Linear):**
|
||||
| Property | Type |
|
||||
|----------|------|
|
||||
| `HighgLevelTriggerOn` | `bool` |
|
||||
| `HighgLevelTriggerOnX/Y/Z` | `bool` |
|
||||
| `HighgLinearLevelTriggerX/Y/Z` | `double` |
|
||||
|
||||
**Level Triggers (Angular):**
|
||||
| Property | Type |
|
||||
|----------|------|
|
||||
| `AngularAccelLevelTriggerOn` | `bool` |
|
||||
| `AngularAccelLevelTriggerOnX/Y/Z` | `bool` |
|
||||
| `AngularAccelLevelTriggerX/Y/Z` | `double` |
|
||||
| `AngularRateLevelTriggerOn` | `bool` |
|
||||
| `AngularRateLevelTriggerOnX/Y/Z` | `bool` |
|
||||
| `AngularRateLevelTriggerX/Y/Z` | `double` |
|
||||
|
||||
**Environmental Level Triggers:**
|
||||
| Property | Type |
|
||||
|----------|------|
|
||||
| `HumidityLevelTriggerOn` | `bool` |
|
||||
| `HumidityLevelTriggerBelow/Above` | `double` |
|
||||
| `PressureLevelTriggerOn` | `bool` |
|
||||
| `PressureLevelTriggerBelow/Above` | `double` |
|
||||
| `TemperatureLevelTriggerOn` | `bool` |
|
||||
| `TemperatureLevelTriggerBelow/Above` | `double` |
|
||||
|
||||
**Wake-up & RTC Triggers:**
|
||||
| Property
|
||||
37
docs/ai/Common/DTS.CommonCore/Interface/ViewData.md
Normal file
37
docs/ai/Common/DTS.CommonCore/Interface/ViewData.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/ViewData/IViewDataView.cs
|
||||
- Common/DTS.CommonCore/Interface/ViewData/IViewDataViewModel.cs
|
||||
generated_at: "2026-04-17T16:05:00.429832+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "bb2e4e0477457c10"
|
||||
---
|
||||
|
||||
# ViewData
|
||||
|
||||
### Purpose
|
||||
This module defines the view/viewmodel contract pair for a "ViewData" feature within the DTS application. It follows the MVVM (Model-View-ViewModel) pattern by providing marker interfaces that extend base view and viewmodel abstractions, enabling the system to identify and bind ViewData components without imposing additional behavioral contracts.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`IViewDataView`** (interface, `DTS.Common.Interface` namespace)
|
||||
- Inherits from: `IBaseView`
|
||||
- Members: None (marker interface)
|
||||
|
||||
**`IViewDataViewModel`** (interface, `DTS.Common.Interface` namespace)
|
||||
- Inherits from: `IBaseViewModel`
|
||||
- Members: None (marker interface)
|
||||
|
||||
### Invariants
|
||||
- Both interfaces must be implemented together in a matching View/ViewModel pair to maintain MVVM consistency.
|
||||
- Implementations must satisfy the contracts of `IBaseView` and `IBaseViewModel` respectively (specific contracts not visible in this source).
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||||
- **Depended on by**: Cannot be determined from source alone (likely ViewData feature implementations and DI container registrations)
|
||||
|
||||
### Gotchas
|
||||
- Neither interface defines any members beyond their base interfaces. Any ViewData-specific behavior must be defined in concrete implementations or other partial contracts not shown here.
|
||||
|
||||
---
|
||||
72
docs/ai/Common/DTS.CommonCore/Interface/Viewer.md
Normal file
72
docs/ai/Common/DTS.CommonCore/Interface/Viewer.md
Normal file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Viewer/IMainView.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/IMenuView.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/IFilterView.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/INavigationView.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/ITestDefinitionListView.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/IMenuViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/INavigationViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/IFilterViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/ITestDefinitionListViewModel.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/IMainViewModel.cs
|
||||
generated_at: "2026-04-17T16:34:19.286467+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "7d6996076cd32502"
|
||||
---
|
||||
|
||||
# Documentation: DTS.Common.Interface Viewer Interfaces
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines the view and ViewModel interfaces for a Viewer component within the DTS system. It establishes the contract for a Model-View-ViewModel (MVVM) architecture, providing interfaces for main shell composition, navigation, menu handling, filtering, and test summary list display. The interfaces support a region-based UI composition pattern where different views can be injected into named context regions.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### View Interfaces
|
||||
|
||||
All view interfaces inherit from `IBaseView` (defined in `DTS.Common.Base`) and currently define no additional members.
|
||||
|
||||
| Interface | File |
|
||||
|-----------|------|
|
||||
| `IMainView` | `IMainView.cs` |
|
||||
| `IMenuView` | `IMenuView.cs` |
|
||||
| `IFilterView` | `IFilterView.cs` |
|
||||
| `INavigationView` | `INavigationView.cs` |
|
||||
| `ITestSummaryListView` | `ITestDefinitionListView.cs` |
|
||||
|
||||
### ViewModel Interfaces
|
||||
|
||||
#### `IMenuViewModel`
|
||||
- **Inherits:** `IBaseViewModel`
|
||||
- **Properties:**
|
||||
- `IMenuView View { get; }` — Returns the associated Menu View.
|
||||
|
||||
#### `INavigationViewModel`
|
||||
- **Inherits:** `IBaseViewModel`
|
||||
- **Properties:**
|
||||
- `INavigationView NavigationView { get; }` — Returns the Navigation View.
|
||||
|
||||
#### `IFilterViewModel`
|
||||
- **Inherits:** `IBaseViewModel`
|
||||
- **Properties:**
|
||||
- `IBaseView View { get; }` — Returns the Search View.
|
||||
- `IBaseViewModel Parent { get; }` — Returns the parent ViewModel.
|
||||
- `object ContextSearchRegion { get; set; }` — Gets or sets the context for the search region.
|
||||
|
||||
#### `ITestSummaryListViewModel`
|
||||
- **Inherits:** `IBaseViewModel`
|
||||
- **Properties:**
|
||||
- `ITestSummaryListView TestSummaryListView { get; }` — Returns the Test Summary List View.
|
||||
- `ObservableCollection<ITestSummary> TestSummaryList { get; set; }` — Collection of test summaries for display.
|
||||
- `List<ITestSummary> SelectedTestSummaryList { get; set; }` — List of currently selected test summaries.
|
||||
- **Methods:**
|
||||
- `void PublishSelectedTestSummaryList()` — Publishes the selected test summary list (mechanism unspecified in source).
|
||||
|
||||
#### `IMainViewModel`
|
||||
- **Inherits:** `IBaseViewModel`
|
||||
- **Properties:**
|
||||
- `IB
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestDefinition/ITestMetadata.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestDefinition/ITestGraphs.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestDefinition/ITestSetupMetadata.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestDefinition/ITestSummary.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestDefinition/ITestRunMetadata.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestDefinition/ITestModule.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestDefinition/ITestChannel.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestDefinition/ITestCalculatedChannel.cs
|
||||
generated_at: "2026-04-17T15:33:01.174238+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "ee7c427fef2edf2a"
|
||||
---
|
||||
|
||||
# Test Definition Interfaces Documentation
|
||||
|
||||
## 1. Purpose
|
||||
|
||||
This module defines a set of interfaces for modeling test definition metadata within the DTS system. These interfaces represent the hierarchical structure of a test execution, including test runs, hardware modules, data channels (both physical and calculated), graphs, and setup configuration. The interfaces serve as data contracts for test visualization and analysis, supporting property change notification for UI binding scenarios. They appear to model data acquisition hardware configurations with extensive channel calibration, trigger timing, and sensor metadata.
|
||||
|
||||
---
|
||||
|
||||
## 2. Public Interface
|
||||
|
||||
### `ITestMetadata`
|
||||
**Namespace:** `DTS.Common.Interface.TestDefinition`
|
||||
|
||||
Root aggregate interface combining test run and setup metadata.
|
||||
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------|
|
||||
| `TestRun` | `ITestRunMetadata` | get/set |
|
||||
| `TestSetup` | `ITestSetupMetadata` | get/set |
|
||||
|
||||
---
|
||||
|
||||
### `ITestRunMetadata`
|
||||
**Namespace:** `DTS.Common.Interface`
|
||||
|
||||
Inherits: `INotifyPropertyChanged`
|
||||
|
||||
Represents metadata for a single test run execution.
|
||||
|
||||
| Property | Type | Access |
|
||||
|----------|------|--------
|
||||
41
docs/ai/Common/DTS.CommonCore/Interface/Viewer/TestModule.md
Normal file
41
docs/ai/Common/DTS.CommonCore/Interface/Viewer/TestModule.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestModule/ITestModuleView.cs
|
||||
- Common/DTS.CommonCore/Interface/Viewer/TestModule/ITestModuleViewModel.cs
|
||||
generated_at: "2026-04-17T16:24:21.606627+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "14b231b3d5544fc3"
|
||||
---
|
||||
|
||||
# TestModule
|
||||
|
||||
### Purpose
|
||||
This module defines interfaces for test module components within the Viewer subsystem. It provides the View-ViewModel contract for test module UI, supporting dynamic assembly loading and test management functionality.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`ITestModuleView`**
|
||||
- Signature: `public interface ITestModuleView : IBaseView`
|
||||
- Description: Marker interface extending `IBaseView` for test module view components. No members defined.
|
||||
|
||||
**`ITestModuleViewModel`**
|
||||
- Signature: `public interface ITestModuleViewModel : IBaseViewModel`
|
||||
- Description: ViewModel interface for test modules with the following member:
|
||||
- `List<Assembly> AssemblyList { get; set; }` - Gets or sets the list of assemblies available for testing.
|
||||
|
||||
### Invariants
|
||||
- `AssemblyList` should contain valid `System.Reflection.Assembly` objects when populated.
|
||||
- The interface extends `IBaseViewModel`, implying implementations must also satisfy base ViewModel contracts.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**:
|
||||
- `DTS.Common.Base` (for `IBaseView`, `IBaseViewModel`)
|
||||
- `System.Collections.Generic` (for `List<T>`)
|
||||
- `System.Reflection` (for `Assembly`)
|
||||
- **Dependents**: Unknown from source alone.
|
||||
|
||||
### Gotchas
|
||||
- None identified from source alone.
|
||||
|
||||
---
|
||||
37
docs/ai/Common/DTS.CommonCore/Interface/_GenericModule.md
Normal file
37
docs/ai/Common/DTS.CommonCore/Interface/_GenericModule.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
source_files:
|
||||
- Common/DTS.CommonCore/Interface/_GenericModule/IGenericModuleView.cs
|
||||
- Common/DTS.CommonCore/Interface/_GenericModule/IGenericModuleViewModel.cs
|
||||
generated_at: "2026-04-17T16:05:02.585564+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "7c7beaac9d9db7f6"
|
||||
---
|
||||
|
||||
# _GenericModule
|
||||
|
||||
### Purpose
|
||||
This module defines marker interfaces for a generic module component within the DTS application framework. It provides the view and view model contract abstractions that extend base types, enabling a consistent MVVM (Model-View-ViewModel) pattern implementation for generic module components without prescribing any specific behavior or properties.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**IGenericModuleView** (`DTS.Common.Interface`)
|
||||
- Signature: `public interface IGenericModuleView : IBaseView { }`
|
||||
- A marker interface extending `IBaseView`. Defines no additional members; serves as a type contract for generic module views.
|
||||
|
||||
**IGenericModuleViewModel** (`DTS.Common.Interface`)
|
||||
- Signature: `public interface IGenericModuleViewModel : IBaseViewModel { }`
|
||||
- A marker interface extending `IBaseViewModel`. Defines no additional members; serves as a type contract for generic module view models.
|
||||
|
||||
### Invariants
|
||||
- All implementations of `IGenericModuleView` must also satisfy the `IBaseView` contract.
|
||||
- All implementations of `IGenericModuleViewModel` must also satisfy the `IBaseViewModel` contract.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Base` (for `IBaseView` and `IBaseViewModel` base interfaces)
|
||||
- **Depended on by**: Cannot be determined from source alone.
|
||||
|
||||
### Gotchas
|
||||
- These are empty marker interfaces. Any behavior expectations should be documented in implementing classes or the base interfaces. The purpose of these specific interfaces over using the base types directly is unclear from source alone.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user