--- 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 (0–4). 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.