37 lines
2.1 KiB
Markdown
37 lines
2.1 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.Common/Interface/SystemSettings/PowerAndBattery/IPowerAndBatteryView.cs
|
||
|
|
- Common/DTS.Common/Interface/SystemSettings/PowerAndBattery/IPowerAndBatteryViewModel.cs
|
||
|
|
generated_at: "2026-04-17T16:25:09.412115+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "1379d037a4fc0710"
|
||
|
|
---
|
||
|
|
|
||
|
|
# PowerAndBattery
|
||
|
|
|
||
|
|
### Purpose
|
||
|
|
This module defines the contract interfaces for the Power and Battery settings feature within the system settings hierarchy. It follows the Model-View-ViewModel (MVVM) pattern, providing empty marker interfaces that extend base view and view model contracts, allowing concrete implementations to be injected and swapped at runtime.
|
||
|
|
|
||
|
|
### Public Interface
|
||
|
|
|
||
|
|
**`IPowerAndBatteryView`** (`IPowerAndBatteryView.cs`)
|
||
|
|
- **Signature:** `public interface IPowerAndBatteryView : IBaseView { }`
|
||
|
|
- **Behavior:** Marker interface for Power and Battery settings views. Inherits from `IBaseView` but defines no additional members.
|
||
|
|
|
||
|
|
**`IPowerAndBatteryViewModel`** (`IPowerAndBatteryViewModel.cs`)
|
||
|
|
- **Signature:** `public interface IPowerAndBatteryViewModel : IBaseViewModel { }`
|
||
|
|
- **Behavior:** Marker interface for Power and Battery settings view models. Inherits from `IBaseViewModel` but defines no additional members.
|
||
|
|
|
||
|
|
### Invariants
|
||
|
|
- Both interfaces must remain empty marker interfaces, relying entirely on their base contracts (`IBaseView`, `IBaseViewModel`) for functionality.
|
||
|
|
- The View-ViewModel pairing is implied by naming convention but not enforced at compile time.
|
||
|
|
|
||
|
|
### Dependencies
|
||
|
|
- **Depends on:** `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel`)
|
||
|
|
- **Dependents:** Unknown from source alone—likely consumed by concrete implementations in a UI layer and dependency injection configuration.
|
||
|
|
|
||
|
|
### Gotchas
|
||
|
|
- The interfaces define no Power/Battery-specific members. Any domain-specific properties or methods must be added to these interfaces or handled through the base interfaces' mechanisms. The current design suggests either a placeholder implementation or that all required behavior is already defined in the base interfaces.
|
||
|
|
|
||
|
|
---
|