Files
DP44/enriched-qwen3-coder-next/Common/DTS.Common.Licensing/Enums.md

45 lines
3.0 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.Common.Licensing/Enums/DataProLicensingEnums.cs
generated_at: "2026-04-16T03:29:49.432908+00:00"
model: "Qwen/Qwen3-Coder-Next-FP8"
schema_version: 1
sha256: "94783647b326bc4a"
---
# Enums
## 1. Purpose
This module defines core licensing-related enumerations used throughout the DataPro system. Specifically, it declares the `LicenseType` enum, which categorizes different software license tiers available in the product. Its role is to provide a standardized, type-safe representation of license types across licensing validation, feature gating, and configuration logic in the broader codebase.
## 2. Public Interface
The only public type exposed is the `LicenseType` enum, nested inside the `DataProLicensingEnums` class.
- **`DataProLicensingEnums.LicenseType`**
- **Definition**: `public enum LicenseType`
- **Values**:
- `Standard = 0`
- `Enterprise = 1`
- `EnterpriseSite = 2`
- `TSRAir = 3`
- `StandardSite = 4`
- **Behavior**: Represents discrete license tiers. Values are explicitly assigned integer constants (04). The `StandardSite` value was added in response to feature request FB 30628.
## 3. Invariants
- The `LicenseType` enum contains exactly five defined values; no others are declared in this file.
- Each enum value maps to a unique underlying integer (0 through 4), with no duplicates.
- The enum is *not* marked with `[Flags]`, implying values are mutually exclusive and not combinable via bitwise operations.
- The enum is declared as `public`, but the containing class `DataProLicensingEnums` is also `public` and non-static—however, it serves only as a namespace-like container for the enum (a common C# pattern for grouping related enums).
## 4. Dependencies
- **Dependencies *of* this module**:
- `System`, `System.Collections.Generic`, `System.Linq`, `System.Text`, `System.Threading.Tasks` (standard .NET namespaces).
- **Dependencies *on* this module**:
- Not inferable from this file alone. However, given the namespace `DTS.Common.Licensing`, it is highly likely that other modules in the `DTS.Common.*` assembly (e.g., licensing validation, feature management, or UI components) depend on this enum.
## 5. Gotchas
- The class `DataProLicensingEnums` is non-static and contains only an enum—this is unusual and may cause confusion (e.g., developers might instantiate it unnecessarily). It likely exists for historical or organizational reasons.
- The comment `//FB 30628 Added StandardSite license type` indicates a feature request reference; developers should consult external tracking (e.g., Jira, Azure DevOps) for full context if needed.
- No validation or conversion helpers (e.g., `TryParse`, `IsValid`) are defined in this file—consumers must implement their own validation if required.
- No documentation comments (XML doc comments) are present on the enum or its members; developers must infer semantics from names and comments alone.
- None identified from source alone.