2.8 KiB
2.8 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |
|---|---|---|---|---|---|
|
2026-04-16T03:25:13.824064+00:00 | Qwen/Qwen3-Coder-Next-FP8 | 1 | e69018b59746b653 |
DASFactory
1. Purpose
This module defines the DASConfigurationEvent, a Prism-based pub/sub event used to notify subscribers about DAS (Device Abstraction Service) configuration state changes—specifically, to signal when configuration data is blank or missing. It supports emergency download scenarios (per issue #17872) where DAS must fall back to XML configuration files on disk when filestore entries are blank, ensuring robustness during recovery operations.
2. Public Interface
DASConfigurationEvent- Type:
class(inherits fromPubSubEvent<IDASConfigurationArg>) - Behavior: A Prism
PubSubEventpayload for publishing and subscribing to configuration-related notifications. The event carries an argument of typeIDASConfigurationArg, which encapsulates the configuration state (e.g., blank/missing indicators). Subscribers receive this event when DAS configuration issues occur.
- Type:
3. Invariants
- The event only publishes when configuration data is blank or missing; it is not used for normal (valid) configuration updates.
- The payload type is strictly
IDASConfigurationArg; no other argument types are supported. - The event inherits Prism’s
PubSubEvent<TPayload>semantics:- Subscriptions are weak-referenced by default (to prevent memory leaks).
- Events are published asynchronously unless explicitly configured otherwise via Prism’s
ThreadOption.
4. Dependencies
- Depends on:
Prism.Events(forPubSubEvent<T>base class).DTS.Common.Interface.DASFactory.IDASConfigurationArg(the payload interface defining the contract for configuration arguments).
- Used by:
- Components in the DAS factory or configuration subsystem that detect blank/missing configurations (e.g., during emergency download workflows).
- Subscribers (e.g., UI or service layers) that need to react to configuration failures (e.g., by prompting user action or switching to fallback XML files).
5. Gotchas
- The event is not intended for general configuration changes—only for blank/missing states. Publishing it for valid configurations would violate its semantic contract.
- The actual structure and contents of
IDASConfigurationArgare defined externally (inDTS.Common.Interface.DASFactory); this file does not specify them, so behavior details (e.g., which properties indicate "blank/missing") are not inferable here. - No explicit error codes or metadata are included in the event itself; subscribers must rely on
IDASConfigurationArg’s implementation for diagnostic details. - None identified from source alone.