This commit is contained in:
2026-04-17 14:55:32 -04:00
commit bc3ac1d4c9
18017 changed files with 4371742 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
---
source_files:
- Common/DTS.Common.Licensing/Enums/DataProLicensingEnums.cs
generated_at: "2026-04-17T16:27:42.024924+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "37dc0dceb52286dc"
---
# Enums
### Purpose
This module defines licensing-related enumerations for the DTS system. It exists to provide a centralized, strongly-typed definition of license types that can be referenced across the codebase for licensing validation and feature gating.
### Public Interface
**Class: `DataProLicensingEnums`**
- Container class for the `LicenseType` enum.
**Enum: `DataProLicensingEnums.LicenseType`**
- `Standard = 0` - Basic license tier.
- `Enterprise = 1` - Enterprise-level license.
- `EnterpriseSite = 2` - Enterprise site license.
- `TSRAir = 3` - TSR Air specific license.
- `StandardSite = 4` - Standard site license (added per FB 30628).
### Invariants
- Enum values are explicitly assigned starting from 0 with sequential integer values.
- The enum is nested within a public class container.
### Dependencies
- **Depends on:** `System`, `System.Collections.Generic`, `System.Linq`, `System.Text`, `System.Threading.Tasks` (imported but not utilized in the visible source).
- **Depended on by:** Not determinable from source alone.
### Gotchas
- The imports include several namespaces (`System.Linq`, `System.Threading.Tasks`, etc.) that are not used in the visible code—potential cleanup opportunity.
- The comment `//FB 30628 Added StandardSite license type` references a ticket/issue tracking system for the `StandardSite` addition.
---

View File

@@ -0,0 +1,59 @@
---
source_files:
- Common/DTS.Common.Licensing/Messages/ValidationFailure.cs
- Common/DTS.Common.Licensing/Messages/LicenseKey.cs
- Common/DTS.Common.Licensing/Messages/ValidationResult.cs
generated_at: "2026-04-17T16:36:18.677011+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "ea10aa4d05a8b091"
---
# Documentation: DTS.Common.Licensing Messages
## 1. Purpose
This module defines data transfer objects (DTOs) used to communicate licensing validation results within the DTS licensing system. It provides three classes—`ValidationFailure`, `LicenseKey`, and `ValidationResult`—that encapsulate validation error details, license key identifiers, and comprehensive validation outcomes respectively. These message types serve as the contract between license validation logic and consumers that need to display or act upon licensing state.
---
## 2. Public Interface
### `ValidationFailure` (namespace: `DTS.Common.Licensing.Messages`)
A simple POCO representing a single validation failure.
| Property | Type | Description |
|----------|------|-------------|
| `Message` | `string` | Describes the validation failure. |
| `HowToResolve` | `string` | Provides guidance on resolving the failure. |
---
### `LicenseKey` (namespace: `DTS.Common.Licensing`)
A POCO containing license key identifiers.
| Property | Type | Description |
|----------|------|-------------|
| `KeyGuid` | `string` | A GUID identifier for the license key. |
| `PublicKey` | `string` | The public key associated with the license. |
---
### `ValidationResult` (namespace: `DTS.Common.Licensing.Messages`)
A comprehensive result object aggregating all aspects of license validation.
| Property | Type | Description |
|----------|------|-------------|
| `ValidationFailures` | `IEnumerable<ValidationFailure>` | Collection of validation failures encountered. |
| `IsLicenseExpired` | `bool` | Indicates whether the license has expired. |
| `IsLicenseVersionValid` | `bool` | Indicates whether the license version is valid for the product. |
| `ProductVersion` | `Version` | The version of the product being validated. |
| `LicenseVersion` | `string` | The version string from the license. |
| `LicenseExpiration` | `DateTime?` | The expiration date of the license, or `null` if not applicable. |
| `IsValid` | `bool` | Overall validity status of the license. |
| `IsLicensed` | `bool` | Indicates whether a license file exists. Defaults to `true`. |
| `LicensedTo` | `string` | The name of the licensee. |
| `LicenseType` | `DataProLicensingEnums.LicenseType` | The type of license (enum value).

View File

@@ -0,0 +1,43 @@
---
source_files:
- Common/DTS.Common.Licensing/Properties/AssemblyInfo.cs
generated_at: "2026-04-17T16:27:42.027646+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "0804390d2eb4102b"
---
# Properties
### Purpose
This module contains assembly-level metadata for the `DTS.Common.Licensing` assembly. It provides versioning, COM visibility settings, and identification information for the licensing component.
### Public Interface
No public types are exposed. This module consists solely of assembly-level attributes:
- `[assembly: AssemblyTitle("DTS.Common.Licensing")]`
- `[assembly: AssemblyDescription("")]`
- `[assembly: AssemblyConfiguration("")]`
- `[assembly: AssemblyCompany("")]`
- `[assembly: AssemblyProduct("DTS.Common.Licensing")]`
- `[assembly: AssemblyCopyright("Copyright © 2021")]`
- `[assembly: AssemblyTrademark("")]`
- `[assembly: AssemblyCulture("")]`
- `[assembly: ComVisible(false)]`
- `[assembly: Guid("8b169b1c-37cb-4b7c-8071-385036b96faa")]`
- `[assembly: AssemblyVersion("1.0.0.0")]`
- `[assembly: AssemblyFileVersion("1.0.0.0")]`
### Invariants
- COM visibility is explicitly set to `false`.
- Assembly version and file version are both `1.0.0.0`.
### Dependencies
- **Depends on:** `System.Reflection`, `System.Runtime.CompilerServices`, `System.Runtime.InteropServices`.
- **Depended on by:** Not applicable (assembly metadata).
### Gotchas
- `AssemblyDescription`, `AssemblyCompany`, and `AssemblyConfiguration` are empty strings—may need population for production builds.
- Version numbers are hardcoded and may require updating during release processes.
---

View File

@@ -0,0 +1,51 @@
---
source_files:
- Common/DTS.Common.Licensing/SystemInformation/MachineInfo.cs
- Common/DTS.Common.Licensing/SystemInformation/ComputerSystemInfo.cs
- Common/DTS.Common.Licensing/SystemInformation/MainBoardInfo.cs
- Common/DTS.Common.Licensing/SystemInformation/ProcessorInfo.cs
- Common/DTS.Common.Licensing/SystemInformation/SystemInformationXSD.cs
generated_at: "2026-04-17T16:03:17.835094+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "39aefdb664565404"
---
# SystemInformation
### Purpose
This module provides hardware identification capabilities for licensing purposes by gathering unique system identifiers from the machine. It retrieves hardware-specific information such as machine name, system UUID, motherboard serial number, and processor ID using Windows Management Instrumentation (WMI), and provides an XSD schema for serializing this system information.
### Public Interface
**MachineInfo** (static class)
- `static string MachineName { get; }` - Returns the NetBIOS name of the local computer via `System.Environment.MachineName`. Returns empty string on exception.
**ComputerSystemInfo** (static class)
- `static string SystemID { get; }` - Returns the UUID from `Win32_ComputerSystemProduct` WMI class. Returns empty string on exception.
**MainBoardInfo** (static class)
- `static string SerialNumber { get; }` - Returns the serial number from `Win32_BaseBoard` WMI class. Returns empty string on exception.
**ProcessorInfo** (static class)
- `static string ProcessorID { get; }` - Returns the ProcessorID from `Win32_processor` WMI class. Returns empty string on exception.
**SystemInformationXSD** (static class)
- `static string XSD { get; }` - Returns an XSD schema string defining the structure for system information XML (elements: MainBoardSerialNumber, ProcessorID, SystemID, MachineName; attributes: Version, SystemInformationGuid).
### Invariants
- All property getters return empty string (`""`) on any exception, never null.
- `ManagementObjectSearcher` instances (`systemSearcher`, `baseboardSearcher`, `cpuSearcher`) are created once as static fields and reused.
- WMI queries use `FirstOrDefault()` pattern; if no results are found, an exception will be caught and empty string returned.
### Dependencies
- **Depends on**: `System.Management` (for WMI access), `System.Environment`
- **Depended on by**: Unclear from source alone - likely licensing/validation components that need hardware fingerprints.
### Gotchas
- **Platform limitation**: WMI queries (`System.Management`) are Windows-only; this module will not work on non-Windows platforms.
- **Static searcher lifecycle**: The `ManagementObjectSearcher` instances are held as static fields and never disposed, which could cause resource issues in long-running applications.
- **Silent failures**: All exceptions are swallowed and return empty string, making it difficult to diagnose WMI permission issues or service unavailability.
- **First-result only**: When multiple processors or baseboards exist, only the first is considered.
---