| LicenseSpring C++ SDK 7.32.0 Easily add Software Licensing to your application

Enumerations
PODTypes.h File Reference

Go to the source code of this file.

## Enumerations
enum | LSAuthMethod { AuthMethodUnknown = 0, AuthMethodKeyBased = 1, AuthMethodUserBased = 2 }
| Product authorization method. More...
enum | LSFeatureType { FeatureTypeNone, FeatureTypeActivation, FeatureTypeConsumption }
| Product feature type. More...
enum | LSLicenseType { LicenseTypePerpetual, LicenseTypeSubscription, LicenseTypeTimeLimited, LicenseTypeConsumption, LicenseTypeUnknown = 100 }
| License type. More...
enum | LSConsumptionPeriod { ConsumptionPeriodNone = 0, ConsumptionPeriodDaily, ConsumptionPeriodWeekly, ConsumptionPeriodMonthly, ConsumptionPeriodAnnually }
| Consumption period. More...
enum | LSErrorCode { eNoError = 0, eUnknownError, eStdError, eGeneralLSError, eInitializationError, eLicenseNotFound, eLicenseExpired, eLicenseDisabled, eLicenseInactive, eActivationFailed, eServerError, eDeviceError, eVersionError, eProductError, eNoInternetError, eNetworkTimeoutError, eNotEnoughConsumptionError, eProductMismatchError, eSignatureMismatchError, eLocalLicenseError, eClockTamperedError, eInvalidCredential, eLicenseSpringInternalError, eMissingEmailError, eInvalidOrderIDError, eInvalidLicenseFeatureError, eLicenseNoAvailableActivations, eVMNotAllowed, eMaxFloatingReached, eLicenseNotFloating, eDeviceBlacklisted, ePasswordChangeNotAllowed, eTrialNotAllowed, eCannotBeActivatedNow, eSSOError, eSSOTokenError, eBorrowLicenseError, eBorrowingNotAllowed, eAuthorizationError, eVMDNotAvailable, eInvalidApiKey, eReadOnlyApiKey, eRevokedApiKey, eApiKeyProductNotAllowed, eFloatingTimeoutExpired, eWatchdogError, eInvalidConfirmationCode, eRequestDateHeaderInvalid, eInvalidLicenseFeatureCode, eFeatureNotFloating, eFloatingFeatureDeviceNotInUse }
| LicenseSpring Error codes enum. More...
enum | DeviceIDAlgorithm { Default = 0, Gen2, CloudPlatformsId, AutoId, WinCSProductId, WinCryptographyId, AutoIdGen2, AutoIdWinCloud }
| Type of Device ID algorithm used by the SDK. More...

## Enumeration Type Documentation

## ◆ LSAuthMethod

enum LSAuthMethod

Product authorization method.

Enumerator
AuthMethodUnknown | Invalid method.
AuthMethodKeyBased | Authorization method based on license keys.
AuthMethodUserBased | Authorization method based on user credentials.

Definition at line 9 of file PODTypes.h.

## ◆ LSFeatureType

enum LSFeatureType

Product feature type.

Enumerator
FeatureTypeNone | Invalid type.
FeatureTypeActivation | Activation feature type.
FeatureTypeConsumption | Consumption feature type.

Definition at line 18 of file PODTypes.h.

## ◆ LSLicenseType

enum LSLicenseType

License type.

Enumerator
LicenseTypePerpetual | Perpetual License type.
LicenseTypeSubscription | Subscription License type.
LicenseTypeTimeLimited | TimeLimited License type.
LicenseTypeConsumption | Consumption License type.
LicenseTypeUnknown | Unknown (invalid) License type.

Definition at line 27 of file PODTypes.h.

## ◆ LSConsumptionPeriod

enum LSConsumptionPeriod

Consumption period.

Enumerator
ConsumptionPeriodNone | No consumption period, consumption reset disabled.
ConsumptionPeriodDaily | Daily consumption reset.
ConsumptionPeriodWeekly | Weekly consumption reset.
ConsumptionPeriodMonthly | Monthly consumption reset.
ConsumptionPeriodAnnually | Annually consumption reset.

Definition at line 37 of file PODTypes.h.

## ◆ LSErrorCode

enum LSErrorCode

LicenseSpring Error codes enum.

Enumerator
eNoError | No error, everything is ok.
eUnknownError | Unknown error encountered.
eStdError | C++ standard exception encountered.
eGeneralLSError | General LicenseSpring error.
eInitializationError | Invalid Configuration settings.
eLicenseNotFound | License not found.
eLicenseExpired | License Expired.
eLicenseDisabled | License disabled.
eLicenseInactive | Could not activate license.
eActivationFailed | Internal server error.
eServerError | Internal server error.
eDeviceError | Device from which the call is made is not licensed (Hardware ID mismatch)
eVersionError | App version not found on the backend.
eProductError | Product not found on the backend.
eNoInternetError | Problems with Internet connection.
eNetworkTimeoutError | Request to the backend has timed out.
eNotEnoughConsumptionError | Consumption license or feature run out of resources.
eProductMismatchError | License product code doesn't correspond to configuration product code.
eSignatureMismatchError | Server signature is not valid.
eLocalLicenseError | SDK could not read or write license to the storage.
eClockTamperedError | Detected that system clock has been set back.
eInvalidCredential | Username does not exist or wrong password provided.
eLicenseSpringInternalError | Internal SDK error, please contact support or try to update SDK.
eMissingEmailError | Missing email in API call for user-based product, probably attempt to get trial license with empty email.
eInvalidOrderIDError | Order with specified ID already exists and ShouldAppend flag set to false.
eInvalidLicenseFeatureError | Feature does not exist or wrong feature type.
eLicenseNoAvailableActivations | The license has already been activated maximum number of times.
eVMNotAllowed | Running on Virtual machine not allowed.
eMaxFloatingReached | Reached max users count for floating license.
eLicenseNotFloating | The license is not floating.
eDeviceBlacklisted | Device has been added to the blacklist by admin on LicenseSpring platform.
ePasswordChangeNotAllowed | Password change is restricted by product policy.
eTrialNotAllowed | Getting trial licenses is restricted by product license policy.
eCannotBeActivatedNow | Current date is behind license start date.
eSSOError | Customer account not found or SSO is not set up properly.
eSSOTokenError | Token for SSO is not valid or expired.
eBorrowLicenseError | Borrowing period is not valid (it is bigger than max possible)
eBorrowingNotAllowed | License borrowing is not allowed by license policy.
eAuthorizationError | Authorization failed.
eVMDNotAvailable | Windows only, in case VM detection dll not found or tempered.
eInvalidApiKey | Provided api key is not valid.
eReadOnlyApiKey | Provided api key is read_only.
eRevokedApiKey | Provided api key is revoked.
eApiKeyProductNotAllowed | Provided api key does not allow access to configured product.
eFloatingTimeoutExpired | Floating license borrowing period or floating timeout expired.
eWatchdogError | Failed to set license watchdog.
eInvalidConfirmationCode | Air gap confirmation code is invalid.
eRequestDateHeaderInvalid | Request DateTime header is invalid, please set correct date time on target device,.
eInvalidLicenseFeatureCode | Feature code not found on license.
eFeatureNotFloating | License feature that should be released is not a floating feature.
eFloatingFeatureDeviceNotInUse | Device was never used to check out a floating feature.

Definition at line 47 of file PODTypes.h.

## ◆ DeviceIDAlgorithm

enum DeviceIDAlgorithm

Type of Device ID algorithm used by the SDK.

Enumerator
Default | Default device ID calculation algorithm.
Gen2 | Generation 2 of device ID algorithm for Windows. Safer and shorter than default. Can be useful for air gap licenses.
CloudPlatformsId | Cloud platforms instance ID algorithm. Get instance ID for cloud platforms, supported: Azure, AWS, GCP.
AutoId | Device ID algorithm with auto-detection of the platform. Same as CloudPlatformsId on Azure, AWS, or GCP, otherwise same as Default.
WinCSProductId | Alternative device ID algorithm for Windows. Get UUID of the Windows machine using Computer System Product Id through WMI, on other platforms same as default.
WinCryptographyId | Alternative device ID algorithm for Windows. Get Microsoft Cryptography MachineGuid from Windows registry, on other platforms same as default.
AutoIdGen2 | Device ID algorithm with auto-detection of the platform. Same as CloudPlatformsId on Azure, AWS, or GCP, otherwise same as Gen2.
AutoIdWinCloud | Device ID algorithm with auto-detection of the platform, meant for Windows cloud instances. Same as CloudPlatformsId on Azure, AWS, or GCP, otherwise same as WinCSProductID

Definition at line 103 of file PODTypes.h.