--- source_files: - Common/DTS.CommonCore/Events/TSRAIRGo/NavigateToDashboard.cs - Common/DTS.CommonCore/Events/TSRAIRGo/NavigateFromTSRAIRGoToDataPRO.cs - Common/DTS.CommonCore/Events/TSRAIRGo/GlobalStatus.cs - Common/DTS.CommonCore/Events/TSRAIRGo/Trigger.cs - Common/DTS.CommonCore/Events/TSRAIRGo/Arm.cs generated_at: "2026-04-17T16:34:18.337527+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "a74b4acea8a13d28" --- # Documentation: DTS.Common.Events.TSRAIRGo ## 1. Purpose This module defines a set of Prism event types for the TSRAIRGo subsystem, enabling loosely-coupled publish/subscribe communication between components. These events facilitate navigation control (navigating to dashboards or between applications), global status messaging, and hardware state signaling (arming and triggering). The module exists to decouple event publishers from subscribers via the Prism Event Aggregation pattern. --- ## 2. Public Interface ### NavigateToDashboardEvent **Signature:** `public class NavigateToDashboardEvent : CompositePresentationEvent` **Description:** A Prism event used to signal navigation to a dashboard view. Takes no payload data. **Payload:** `NavigateToDashboardArg` — An empty argument class with no properties. --- ### NavigateFromTSRAIRGoToDataPROEvent **Signature:** `public class NavigateFromTSRAIRGoToDataPROEvent : CompositePresentationEvent` **Description:** A Prism event used to signal navigation from the TSRAIRGo application to the DataPRO application. Takes no payload data. **Payload:** `NavigateFromTSRAIRGoToDataPROArg` — An empty argument class with no properties. --- ### GlobalStatusEvent **Signature:** `public class GlobalStatusEvent : CompositePresentationEvent` **Description:** A Prism event used to broadcast global status messages within the TSRAIRGo subsystem. **Payload:** `GlobalStatusArg` | Property | Type | Description | |----------|------|-------------| | `Message` | `string` | A status message to be broadcast. | --- ### TriggerEvent **Signature:** `public class TriggerEvent : CompositePresentationEvent` **Description:** A Prism event used to signal a trigger action. Takes no payload data. **Payload:** `TriggerArg` — An empty argument class with no properties. --- ### ArmEvent **Signature:** `public class ArmEvent : CompositePresentationEvent` **Description:** A Prism event used to signal arming or disarming state changes. **Payload:** `ArmArg` | Property | Type | Description | |----------|------|-------------| | `Arm` | `bool` | `true` to arm, `false` to disarm. | --- ## 3. Invariants - All event classes inherit from `CompositePresentationEvent` where `T` is the corresponding argument type. - Each event class has exactly one associated argument class following the naming convention `[EventName]Arg`. - All types are public and can be subscribed to or published via the Prism `IEventAggregator`.