10Duke Scale C++ Client
Loading...
Searching...
No Matches
ClientProperties Class Reference

#include <ClientProperties.h>

Detailed Description

Properties of the client ("Client application claims")

Depending how your licensing model has been setup, some of these might be mandatory. For example, if hardware concurrency rules have been defined, then cliHwId is mandatory. Otherwise, the properties are optional.

To build the properties fluently use tenduke::se::ClientPropertiesBuilder.

For further information, see section on Client application claims in 10Duke Scale Documentation.

Public Member Functions

 ClientProperties (std::string cliCountry, std::string cliHostName, std::string cliHwArch, std::string cliHwId, std::string cliHwLabel, std::string cliInstallationId, std::string cliLang, std::string cliNetworkIpAddress, std::string cliOS, std::string cliOSUserName, std::string cliProcessId, std::string cliVersion, std::string cliKind, std::string licenseConsumerId)
 Constructs new instance.
 

Public Attributes

const std::string cliCountry
 Country code of OS environment that the client app runs on.
 
const std::string cliHostName
 Hostname of device that the client app runs on.
 
const std::string cliHwArch
 Architecture of of device / platform that the client app runs on.
 
const std::string cliHwId
 Hardware id of device that the client app runs on.
 
const std::string cliHwLabel
 Hardware label of device that the client app runs on.
 
const std::string cliInstallationId
 Installation id the client app.
 
const std::string cliLang
 Language code of the OS environment that the client app runs on.
 
const std::string cliNetworkIpAddress
 The network IP address of the device / platform where the client application runs.
 
const std::string cliOS
 The operating system of the device / platform where the client application runs.
 
const std::string cliOSUserName
 The username for the operating system of the device / platform where the client application runs.
 
const std::string cliProcessId
 Process id of client app process in OS environment that the client app runs on.
 
const std::string cliVersion
 Client app version.
 
const std::string cliKind
 An optional field indicating the general type of the client application.
 
const std::string licenseConsumerId
 Identifier of the license consumer that the license checkout is for.
 

Constructor & Destructor Documentation

◆ ClientProperties()

tenduke::se::ClientProperties::ClientProperties ( std::string cliCountry,
std::string cliHostName,
std::string cliHwArch,
std::string cliHwId,
std::string cliHwLabel,
std::string cliInstallationId,
std::string cliLang,
std::string cliNetworkIpAddress,
std::string cliOS,
std::string cliOSUserName,
std::string cliProcessId,
std::string cliVersion,
std::string cliKind,
std::string licenseConsumerId )
inline

Constructs new instance.

Parameters
cliCountryCountry code of OS environment that the client app runs on
cliHostNameHostname of device that the client app runs on
cliHwArchArchitecture of of device / platform that the client app runs on
cliHwIdHardware id of device that the client app runs on. This claim is required to implement concurrency rules over a user's devices.
cliHwLabelHardware label of device that the client app runs on
cliInstallationIdInstallation id the client app
cliLangLanguage code of the OS environment that the client app runs on
cliNetworkIpAddressThe network IP address of the device / platform where the client application runs.
cliOSThe operating system of the device / platform where the client application runs.
cliOSUserNameThe username for the operating system of the device / platform where the client application runs.
cliProcessIdThe client process ID. Required when using licenses where the license model enforces the number of concurrent application instances (OS processes running the client application).
cliVersionClient app version. This claim is required to implement rules about allowed versions and enforcing that a license is usable only for certain client application versions. The specified version is compared lexicographically to lower and upper bounds in available licenses. If a license id is used in checkout then the client version must be within the allowed version range in that specific license. Version is enforced only if a license requires so.
cliKindAn optional field indicating the general type of the client application. This field helps the API understand the context of the license checkout request and may be used for analytics, logging, and applying specific license consumption policies. Although the information is not required, it is recommended to provide it for enhanced license consumption management. The predefined values are: lls (Local License Server), desktop, mobile, web, server, and iot. Using other values is permitted, but make sure that they adhere to the defined validation rules. If the value is lls, the client hardware ID must be an exact match with the installation ID of an existing Local License Server. (max length: 16)
licenseConsumerIdIdentifier of the license consumer that the license checkout is for. NOTE: optional only when using OIDC Id Token API authorization

Member Data Documentation

◆ cliHwId

const std::string tenduke::se::ClientProperties::cliHwId

Hardware id of device that the client app runs on.

This claim is required to implement concurrency rules over a user's devices.

◆ cliKind

const std::string tenduke::se::ClientProperties::cliKind

An optional field indicating the general type of the client application.

This field helps the API understand the context of the license checkout request and may be used for analytics, logging, and applying specific license consumption policies. Although the information is not required, it is recommended to provide it for enhanced license consumption management. The predefined values are: lls (Local License Server), desktop, mobile, web, server, and iot. Using other values is permitted, but make sure that they adhere to the defined validation rules. If the value is lls, the client hardware ID must be an exact match with the installation ID of an existing Local License Server. (max length: 16)

◆ cliProcessId

const std::string tenduke::se::ClientProperties::cliProcessId

Process id of client app process in OS environment that the client app runs on.

This claim is required to implement concurrency rules over a user's application instances (processes).

◆ cliVersion

const std::string tenduke::se::ClientProperties::cliVersion

Client app version.

This claim is required to implement rules about allowed versions and enforcing that a license is usable only for certain client application versions. The specified version is compared lexicographically to lower and upper bounds in available licenses. If a license id is used in checkout then the client version must be within the allowed version range in that specific license. Version is enforced only if a license requires so.

◆ licenseConsumerId

const std::string tenduke::se::ClientProperties::licenseConsumerId

Identifier of the license consumer that the license checkout is for.

NOTE: optional only when using OIDC Id Token API authorization.


The documentation for this class was generated from the following file: