Files
DP44/enriched-qwen3-coder-next/Common/DTS.Common.Licensing/Enums.md
2026-04-17 14:55:32 -04:00

45 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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.