LicenseSpring C++ SDK  7.31.0
Easily add Software Licensing to your application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
LicenseSpring Namespace Reference

Classes

class  BaseManager
 Base class for license management. More...
 
class  Configuration
 Class for configuring application. More...
 
class  ConsumptionPeriod
 Class used for encapsulating LSConsumptionPeriod and converting cosumption period to/from string. More...
 
class  CryptoProvider
 CryptoProvider interface. More...
 
class  DefaultCryptoProvider
 If no CryptoProvider is set, this is the default CryptoProvider that will be used. More...
 
class  Customer
 Class that encapsulates information about a customer. More...
 
class  CustomField
 Class for storing key-value data field. More...
 
class  DeviceVariable
 Class for storing key-value device variable. More...
 
class  Xor_string
 
class  LicenseSpringException
 Base class for all LicenseSpring exceptions. More...
 
class  NoInternetException
 This exception means that SDK cannot reach the server. Because of no internet connection, DNS issues, etc. More...
 
class  NetworkTimeoutException
 This exception means that network operation timed out. More...
 
class  ConfigurationException
 Throws in case of something wrong with Configuration. E.g. wrong API or Shared key. More...
 
class  TrialNotAllowedException
 Can be thrown in case getting trial licenses is restricted by product license policy. More...
 
class  LicenseStateException
 Throws in case license is in invalid state (disabled, epired or inactive). More...
 
class  FloatingTimeoutExpiredException
 Throws in case floating license timeout or borrowing period is expired and it needs to be registered. More...
 
class  DeviceNotLicensedException
 Throws in case computer hardware configuration has been changed or license does not belong to this computer. More...
 
class  LicenseNotFoundException
 Throws in case license not found on the server. More...
 
class  ProductNotFoundException
 Throws in case product not found on the server. More...
 
class  ProductVersionException
 Throws in case installation file not found for requested app version. More...
 
class  LicenseActivationException
 Rare exception, can arise if activation is limited to some device count or license transfer is prohibited. More...
 
class  LicenseNoAvailableActivationsException
 Throws when license has already been activated maximum number of times. More...
 
class  AirGapActivationException
 Throws when confirmation code from the air gap activation portal is invalid. More...
 
class  CannotBeActivatedNowException
 Can be thrown if start date field is set for the license and current date is behind start date. More...
 
class  LicenseServerException
 Indicates internal server error, please contact support if you face this exception. More...
 
class  AuthorizationException
 Authorization failed, please check your proxy settings. More...
 
class  NotEnoughConsumptionException
 This exceptions means that Consumption license or feature ran out of resources. More...
 
class  ProductMismatchException
 This exceptions means that license product code doesn't correspond to configuration product code. More...
 
class  SignatureMismatchException
 Throws in case signature returned by LicenseSpring server is not valid. More...
 
class  LocalLicenseException
 This exception means that SDK could not read or write license to the storage. More...
 
class  ClockTamperedException
 This exception means that detected that system clock has been set back. More...
 
class  InvalidCredentialException
 This exception means that user or password is wrong. More...
 
class  MissingEmailException
 Throws when email is missing in API call for user-based product, probably attempt to get trial license without email (user id). More...
 
class  InvalidOrderIDException
 Throws when order with specified ID already exists and ShouldAppend flag set to false. More...
 
class  InvalidLicenseFeatureException
 Throws when product feature does not exist or wrong feature type. More...
 
class  LicenseSpringInternalException
 Please, contact support or try to update SDK if you got this exception. Normally should never happen. More...
 
class  UnknownLicenseSpringException
 In case LicenseSpring backend returns unexpected error or something went wrong. More...
 
class  VMIsNotAllowedException
 This exception can arise on virtual machine when VM detection is enabled but product policy prohibits running on VM. More...
 
class  VMDNotAvailableException
 Windows only. In case VM detection dll not found, tempered or detection failed. More...
 
class  MaxFloatingReachedException
 This exception can arise during online check of floating license if reached maximum users count for the license. More...
 
class  LicenseNotFloatingException
 This exception can arise during floating license registration on floating server. More...
 
class  DeviceBlacklistedException
 This exception can arise during license check if device has been blacklisted by Product manager. More...
 
class  PasswordChangeNotAllowedException
 This exception can arise if password change is restricted by company policy. More...
 
class  SSOException
 This exception can arise if the backend cannot create URL for Single sign-on (SSO) More...
 
class  SSOTokenException
 This exception can arise if token for Single sign-on (SSO) is invalid or expired. More...
 
class  BorrowLicenseException
 This exception can arise if provided borrowing period bigger than max possible. Or if license borrowing is not allowed. More...
 
class  ApiKeyException
 This exception can arise if provided api key cannot be used for the request. More...
 
class  WatchdogException
 This exception can arise if setting license watchdog failed. More...
 
class  RequestDateInvalidException
 This exception can arise if system date time on the current device is incorrectly set. More...
 
class  InvalidLicenseFeatureCodeException
 This exception can arise if the given feature code is not found on a license. More...
 
class  FeatureNotFloatingException
 This exception can arise if releasing a device on a non-floating license feature. More...
 
class  FloatingFeatureDeviceNotInUseException
 This exception can arise if device was never used to check a feature. More...
 
class  NetworkInfo
 Class for storing a device's network information. More...
 
class  ProxySettings
 Class for storing settings when using a proxy server. More...
 
class  ExtendedOptions
 Class for storing useful settings that the Configuration object will inherit. More...
 
class  FloatingClient
 Class for performing requests to LicenseSpring Floating server. More...
 
class  FloatingServerInfo
 Class that encapsulates information on Floating server settings. More...
 
struct  InstallFileFilter
 Helper struct for filtering installation files by environment and channel. More...
 
class  InstallationFile
 Class that represents information on product installation file. More...
 
class  License
 Class that encapsulates license information. More...
 
class  LicenseFeature
 Class that encapsulates information about license feature. More...
 
class  LicenseFileStorageBase
 Base class that saves license in a file, implements ILicenseStorage interface. More...
 
class  LicenseFileStorage
 Class that saves license in a file, derived from LicenseFileStorageBase class. More...
 
class  LicenseFileStorageEx
 Class that saves license in a file, derived from LicenseFileStorageBase class. More...
 
class  FileStorageWithLock
 Class that saves license in a file, derived from LicenseFileStorageBase class. More...
 
class  LicenseHandler
 This class encapsulates functionality of the both LicenseManager and the License.
. More...
 
class  LicenseID
 Class that represents License identifier. More...
 
class  LicenseManager
 Class for performing basic requests to LicenseSpring backend and managing licenses. More...
 
class  LicenseMemoryStorage
 Simple class that saves license in a variable, implements LicenseStorage interface. More...
 
class  LicenseStorage
 LicenseStorage interface. More...
 
class  LicenseType
 Class used for encapsulating the type of license, comparing types of licenses, and converting them to strings. More...
 
class  LicenseUser
 Class that encapsulates information about a license user. More...
 
class  ProductDetails
 Class that encapsulates information about a product. More...
 
class  VersionBase
 Base class for handling app versions. Contains common functionality for version classes hierarchy. More...
 
class  Version
 Simple class for handling app versions. Format: Major.Minor.Patch.Build, where all parts are integer numbers. In case you use such version format without alphabetical symbols then it fits your needs. For example: "1.3.0.45", "2.13.1.3735". More...
 
class  MSVersion
 Simple class for handling app versions in Microsoft specific file and assembly version format. Format: Major.Minor.Build.Revision, where all parts are integer numbers. In case you use such version format without alphabetical symbols then it fits your needs. For example: "1.3.4573.1", "2.13.3735.0". More...
 
class  VersionEx
 Extended class for handling app versions, compliant with Semantic Versioning 2.0.0 Format: Major.Minor.Patch[PrereleaseIdentifier].Build[BuildMetadata], see https://semver.org For example: "1.3.4573-alpha.3+sha:dff8df7gdsvnx", "2.13.3735b2.0-stable". More...
 

Typedefs

using LicenseWatchdogCallback = std::function< void(const LicenseSpringException &ex)>
 Callback function which being called in case of error in background thread (watchdog thread). More...
 

Enumerations

enum  PrereleaseType : std::uint8_t { PrereleaseType::alpha = 0, PrereleaseType::beta = 1, PrereleaseType::rc = 2, PrereleaseType::none = 3 }
 

Functions

constexpr unsigned long long linear_congruent_generator (unsigned rounds)
 
template<typename Char >
constexpr Char encrypt_character (const Char character, int index)
 
std::string LS_API TmToString (const tm &dateTime, const std::string &format=std::string("%d-%m-%Y"))
 Helper function, converts datetime to string using given format. See strftime reference for format details. More...
 
LS_API std::ostream & operator<< (std::ostream &out, const VersionBase &version)
 

Variables

constexpr const unsigned long long XORKEY = XSTR_RANDOM_NUMBER(0, 0xFF)
 

Typedef Documentation

using LicenseSpring::LicenseWatchdogCallback = typedef std::function<void( const LicenseSpringException& ex )>

Callback function which being called in case of error in background thread (watchdog thread).

Definition at line 29 of file License.h.

Enumeration Type Documentation

enum LicenseSpring::PrereleaseType : std::uint8_t
strong
Enumerator
alpha 
beta 
rc 
none 

Definition at line 134 of file Version.h.

Function Documentation

constexpr unsigned long long LicenseSpring::linear_congruent_generator ( unsigned  rounds)

Definition at line 28 of file EncryptString.h.

template<typename Char >
constexpr Char LicenseSpring::encrypt_character ( const Char  character,
int  index 
)

Definition at line 44 of file EncryptString.h.

std::string LS_API LicenseSpring::TmToString ( const tm &  dateTime,
const std::string &  format = std::string("%d-%m-%Y") 
)

Helper function, converts datetime to string using given format. See strftime reference for format details.

LS_API std::ostream& LicenseSpring::operator<< ( std::ostream &  out,
const VersionBase &  version 
)

Variable Documentation

constexpr const unsigned long long LicenseSpring::XORKEY = XSTR_RANDOM_NUMBER(0, 0xFF)

Definition at line 40 of file EncryptString.h.