3.8 KiB
3.8 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | |
|---|---|---|---|---|---|
|
2026-04-17T16:30:25.823878+00:00 | zai-org/GLM-5-FP8 | 1 | 10ec7c0a38ddc3b1 |
AddEditHardware
Purpose
This module provides functionality for adding and editing hardware configurations within the DataPRO system. It is a Prism module that registers its view and view model with the Unity dependency injection container, enabling the hardware management UI to be loaded dynamically. The module belongs to the "Prepare" assembly group and targets the "AddEditHardwareRegion" for UI composition.
Public Interface
AddEditHardwareModule (class)
AddEditHardwareModule(IUnityContainer unityContainer)- Constructor accepting a Unity container via dependency injection.void Initialize()- RegistersIAddEditHardwareViewtoAddEditHardwareViewandIAddEditHardwareViewModeltoAddEditHardwareViewModelwith the Unity container.void OnInitialized(IContainerProvider containerProvider)- Empty implementation; no initialization logic executed.void RegisterTypes(IContainerRegistry containerRegistry)- CallsInitialize()to perform type registration.
AddEditHardwareModuleNameAttribute (class, inherits TextAttribute)
AddEditHardwareModuleNameAttribute()/AddEditHardwareModuleNameAttribute(string s)- Constructors that setAssemblyNametoAssemblyNames.AddEditHardware.ToString().string AssemblyName(property, override) - Returns the assembly name.Type GetAttributeType()- Returnstypeof(TextAttribute).string GetAssemblyName()- Returns theAssemblyNameproperty value.
AddEditHardwareModuleImageAttribute (class, inherits ImageAttribute)
AddEditHardwareModuleImageAttribute()/AddEditHardwareModuleImageAttribute(string s)- Constructors that load the assembly image viaAssemblyInfo.GetImage().BitmapImage AssemblyImage(property, override) - Lazy-loads and returns the module's image.string AssemblyName(property, override) - ReturnsAssemblyNames.AddEditHardware.ToString().string AssemblyGroup(property, override) - ReturnseAssemblyGroups.Prepare.ToString().eAssemblyRegion AssemblyRegion(property, override) - ReturnseAssemblyRegion.AddEditHardwareRegion.BitmapImage GetAssemblyImage(),string GetAssemblyName(),string GetAssemblyGroup(),eAssemblyRegion GetAssemblyRegion()- Accessor methods for respective properties.Type GetAttributeType()- Returnstypeof(ImageAttribute).
Invariants
- The module must be instantiated with a non-null
IUnityContainerreference. Initialize()must be called (viaRegisterTypes) before views/view models can be resolved.- View and ViewModel registrations are transient (not singleton), despite the comment claiming singleton registration.
Dependencies
Imports:
DTS.Common- ProvidesTextAttribute,ImageAttribute,AssemblyNames,AssemblyInfo,eAssemblyGroups,eAssemblyRegion.DTS.Common.Interface- Provides base interfaces.DTS.Common.Interface.Hardware.AddEditHardware- ProvidesIAddEditHardwareView,IAddEditHardwareViewModel.Prism.Modularity- ProvidesIModule,ModuleAttribute.Prism.Ioc- ProvidesIContainerProvider,IContainerRegistry.Unity- ProvidesIUnityContainer.
Depended on by: Unknown from source alone (likely shell/bootstrapper and region navigation).
Gotchas
- The comment in
Initialize()states "Register View & View-Model... as a singleton," butRegisterTyperegisters types as transient by default in Unity. If singleton behavior is required,RegisterSingletonorRegisterInstanceshould be used. OnInitializedis empty but required byIModuleinterface.- The constructor parameter
string sin both attribute classes is accepted but never used.