Files
DP44/docs/ai/DTS Viewer/DTS.Viewer.Reports/DTS.Viewer.PSDReport.md
2026-04-17 14:55:32 -04:00

4.7 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DTS Viewer/DTS.Viewer.Reports/DTS.Viewer.PSDReport/PSDReportModule.cs
DTS Viewer/DTS.Viewer.Reports/DTS.Viewer.PSDReport/PSDReportSession.cs
DTS Viewer/DTS.Viewer.Reports/DTS.Viewer.PSDReport/Bootstrapper.cs
2026-04-17T15:54:21.888764+00:00 zai-org/GLM-5-FP8 1 f2871164a32bda62

PSDReport Module Documentation

1. Purpose

The DTS.Viewer.PSDReport module is a Prism-based modular component within the DTS Viewer system responsible for providing PSD (Power Spectral Density) report visualization functionality. It implements the IModule interface for Prism modularity, manages its own bootstrapping lifecycle for both standalone and integrated modes, and integrates with the plugin architecture to discover and load additional modules dynamically. The module registers its views and view models with the Unity container and participates in the region-based UI composition system.


2. Public Interface

PSDReportModule (PSDReportModule.cs)

Class Declaration:

[Module(ModuleName = "PSDReport")]
public class PSDReportModule : IPSDReportModule

Properties:

  • SessionStarted (bool, read-only) - Indicates whether a session has been started via StartSession().

Constructor:

public PSDReportModule(IUnityContainer unityContainer)

Accepts an injected IUnityContainer instance.

Methods:

public void Initialize()

Registers IPSDReportModule to PSDReportModule with ContainerControlledLifetimeManager (singleton lifetime).

public void StartSession()

Resolves IEventAggregator, publishes a LoadViewModulEvent with a new LoadViewModulArg, and sets SessionStarted to true.

public void RegisterTypes(IContainerRegistry containerRegistry)

Calls Initialize().

public void OnInitialized(IContainerProvider containerProvider)

Empty implementation (no initialization logic executed).


PSDReportModuleNameAttribute (PSDReportModule.cs)

Class Declaration:

[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
public class PSDReportModuleNameAttribute : TextAttribute

Properties:

  • AssemblyName (string, read-only) - Returns AssemblyNames.PSDReport.ToString().

Methods:

public override Type GetAttributeType()  // Returns typeof(TextAttribute)
public override string GetAssemblyName() // Returns AssemblyName

PSDReportModuleImageAttribute (PSDReportModule.cs)

Class Declaration:

[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
public class PSDReportModuleImageAttribute : ImageAttribute

Properties:

  • AssemblyImage (BitmapImage, read-only) - Returns image loaded via AssemblyInfo.GetImage(AssemblyNames.PSDReport.ToString()).
  • AssemblyName (string, read-only) - Returns AssemblyNames.PSDReport.ToString().
  • AssemblyGroup (string, read-only) - Returns eAssemblyGroups.Viewer.ToString().
  • AssemblyRegion (eAssemblyRegion, read-only) - Returns eAssemblyRegion.PSDReportRegion.

Methods:

public override Type GetAttributeType()      // Returns typeof(ImageAttribute)
public override BitmapImage GetAssemblyImage() // Returns AssemblyImage
public override string GetAssemblyName()     // Returns AssemblyName
public override string GetAssemblyGroup()    // Returns AssemblyGroup
public override eAssemblyRegion GetAssemblyRegion() // Returns AssemblyRegion

PSDReportSession (PSDReportSession.cs)

Class Declaration:

public class PSDReportSession

Properties:

  • Container (IUnityContainer, read-only) - Set after CreateSession() is called.
  • _serviceLocator (IServiceLocator, read-only) - Set after CreateSession() is called.
  • _eventAggregator (IEventAggregator, read-only) - Set after CreateSession() is called.
  • _regionManager (IRegionManager, read-only) - Set after CreateSession() is called.
  • CustomConfigPath (string, read/write) - Path to custom configuration file.

Methods:

public void CreateSession(bool standalone, string customConfigPath = "")

Creates the bootstrapper, resolves core services (IEventAggregator, IServiceLocator, IRegionManager), loads plugins via PluginManager, and publishes the plugin list via AssemblyListNotificationViewer event.

public void Terminate()

Empty implementation. Intended for shutdown cleanup per IComponent implementation.


Bootstrapper (Bootstrapper.cs)

Class Declaration:

public class Bootstrapper : UnityBootstrapper

Properties:

  • Standalone (bool, read/write) - Indicates whether the application runs in standalone mode.
  • CustomConfigPath (string, read/write) - Path to custom