ImagingTools Core SDK
Namespaces | Classes
License Management

Namespaces

namespace  imtlic
 Core licensing domain model providing feature-based product licensing and instance management.
 
namespace  imtlicdb
 Database persistence layer for licensing domain model using PostgreSQL with JSON documents.
 
namespace  imtlicgql
 GraphQL API interface layer for the licensing domain model.
 

Classes

class  imtauthgui::CAccountInfoEditorComp
 
class  imtauthgui::CAddressEditorComp
 
class  imtauthgui::CContactInfoEditorComp
 
class  imtauthgui::CServerConnectionEditorComp
 
class  imtlic::CHardwareInstanceInfo
 
class  imtlic::CLicenseBasedRightsProviderComp
 
class  imtlic::CLicenseControllerComp
 
class  imtlic::CLicenseDefinition
 
class  imtlic::CLicensedHardwareInstanceInfo
 
class  imtlic::CLicenseInfoManager
 
class  imtlic::CLicenseInstance
 
class  imtlic::CLicenseKeyProvider
 
class  imtlic::CProductCollection
 
class  imtlic::CProductInstanceInfo
 
class  imtlic::CProductInstanceInfoComp
 
class  imtlic::CProductLicensingInfo
 
class  imtlic::CProductLicensingInfoComp
 
class  imtlic::IEncyptedLicenseKeyProvider
 
class  imtlic::IFeatureDependenciesProvider
 
class  imtlic::IFeatureInfoProvider
 
class  imtlic::IHardwareInstanceInfo
 
class  imtlic::IKeyRing
 
class  imtlic::ILicenseController
 
class  imtlic::ILicenseDependenciesProvider
 
class  imtlic::ILicensedHardwareInstanceInfo
 
class  imtlic::ILicenseInfoProvider
 
class  imtlic::ILicenseInstance
 
class  imtlic::ILicenseInstanceProvider
 
class  imtlic::ILicenseStatus
 
class  imtlic::IPartProductionInfo
 
class  imtlic::IProductInstanceInfo
 
class  imtlic::IProductInstanceInfoProvider
 
class  imtlic::IProductLicensingInfo
 
class  imtlic::IProductLicensingInfoProvider
 
class  imtlicgui::CFeatureDependencyEditorBase
 
class  imtlicgui::CFeatureInfoEditorGuiComp
 
class  imtlicgui::CLicenseInfoEditorGuiComp
 
class  imtlicgui::CLicenseManagerViewDelegateComp
 
class  imtlicgui::CProductInstanceInfoEditorComp
 
class  imtlicgui::CProductInstanceInfoViewComp
 
class  imtrest::IRepresentationDataProvider
 
class  imttest::ITestInfo
 
interface  imtlic::IFeatureInfo
 Interface for accessing information about a feature within a product. More...
 
interface  imtlic::ILicenseDefinition
 Interface for license definition information. More...
 
interface  imtlic::IProductInfo
 Interface for accessing information about a product (software or hardware). More...
 

Detailed Description

Motivation

In many applications it is desirable that the user only has limited access to the implemented software functions. A licensing mechanism that manages these access rights is often used for this purpose.

Concept

  1. Definition of license data
  2. Provide management of license collections
  3. License check using (via binding more general interface iauth::IRightsProvider)
  4. Low-level license key generation (Encryption)
  5. Device persistence of license data.
  6. File-based peristence of license data.
  7. Diagnostics information about the license status in the application

We define following types of license data:

  1. List of all product variants. This includes the overview of all available products and the associated licenses.
  2. List of product installations.
  3. Encrypted information file containing all license keys for a given product installation.

Each product application has knowledge about all available product licenses and activate them by reading and validating the license keys from the license file containing license keys. The license keys will be defined by Product Manager before shipping of the installation setup to the customer.