45 lines
3.0 KiB
Markdown
45 lines
3.0 KiB
Markdown
|
|
---
|
|||
|
|
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.
|