LicenseSpring C++ SDK
Easily add Software Licensing to your application
LicenseHandler.h
Go to the documentation of this file.
1 #ifndef LS_C_LICENSE_HANDLER_H
2 #define LS_C_LICENSE_HANDLER_H
3 
4 #include "Configuration.h"
5 #include "ProductDetails.h"
6 #include "Customer.h"
7 #include "InstallationFile.h"
8 #include "LicenseFeature.h"
9 #include "LicenseID.h"
10 #include <stdint.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16  LS_API typedef struct LSCustomField
17  {
18  char* name;
19  char* value;
20  int nameSize;
21  int valueSize;
22  } LSCustomField;
23 
24  // handler can be casted to LSLicenseHandler*
25  LS_API typedef void ( *LSWatchdogCallback )( const char* message, enum LSErrorCode errorCode, void* handler );
26 
27  LS_API typedef struct LSLicenseHandler
28  {
29  // current configuration if present gets deleted automatically
30  void ( *reconfigure )( struct LSLicenseHandler* self, struct LSConfiguration* config );
31 
32  // ---------- Requests to the LicenseSpring backend ----------
33  bool ( *isOnline )( struct LSLicenseHandler* self );
34  LSProductDetails* ( *getProductDetails )( struct LSLicenseHandler* self, bool includeLatestVersion );
35  struct LSLicenseID ( *getTrialLicense )( struct LSLicenseHandler* self, LSCustomer* user, const char* licensePolicy );
36  struct LSLicenseID ( *getTrialLicenseByEmail )( struct LSLicenseHandler* self, const char* userEmail );
37  const char* ( *getSSOUrl )( struct LSLicenseHandler* self, const char* accountCode, bool useAuthCode );
38  void ( *activateLicense )( struct LSLicenseHandler* self, struct LSLicenseID licenseID );
39  void ( *activateLicenseViaSSO )( struct LSLicenseHandler* self, const char* authData,
40  const char* accountCode, bool useAuthCode );
41  bool ( *deactivateLicense )( struct LSLicenseHandler* self );
42  bool ( *changePassword )( struct LSLicenseHandler* self, const char* password, const char* newPassword, const char* user );
43  LSInstallationFile* ( *checkLicense )( struct LSLicenseHandler* self );
44  LSInstallationFile* ( *checkLicenseEx )(struct LSLicenseHandler* self, const char* channel, const char* env, bool includeExpiredFeatures );
45  int ( *getVersionList )( struct LSLicenseHandler* self, struct LSLicenseID licenseID, int* lengths, char** versionList );
46  int ( *getVersionListEx )( struct LSLicenseHandler* self, struct LSLicenseID licenseID,
47  const char* channel, const char* env, int* lengths, char** versionList );
48  LSInstallationFile* ( *getInstallFile )( struct LSLicenseHandler* self, struct LSLicenseID licenseID, const char* version );
49  LSInstallationFile* ( *getInstallFileEx )( struct LSLicenseHandler* self, struct LSLicenseID licenseID,
50  const char* version, const char* channel, const char* env );
51  void ( *sendDeviceData )( struct LSLicenseHandler* self, struct LSCustomField* data, int dataSize );
52  void ( *syncConsumption )( struct LSLicenseHandler* self );
53  void ( *syncFeatureConsumption )( struct LSLicenseHandler* self, const char* featureCode );
54  void ( *registerFloatingLicense )( struct LSLicenseHandler* self );
55  void ( *borrowFloatingLicense )( struct LSLicenseHandler* self, uint32_t hours, uint32_t days );
56  void ( *borrowFloatingLicenseTill )(struct LSLicenseHandler* self, const char* borrowEndDateTime );
57  void ( *releaseFloatingLicense )( struct LSLicenseHandler* self );
58  void ( *registerFloatingFeature )( struct LSLicenseHandler* self, const char* featureCode, bool addToWatchdog );
59  void ( *releaseFloatingFeature )( struct LSLicenseHandler* self, const char* featureCode );
60  const char* ( *getAirGapActivationCode )( struct LSLicenseHandler* self, const char* initializationCode, const char* licenseKey );
61  const char* ( *getAirGapDeactivationCode )( struct LSLicenseHandler* self, const char* initializationCode );
62  // ------------------------------------------------------------
63 
64  // -------- Local license management and helper methods -------
65  bool ( *isInitialized )( struct LSLicenseHandler* self );
66  bool ( *isLicenseExists )( struct LSLicenseHandler* self );
67  void ( *updateConsumption )( struct LSLicenseHandler* self, int value, bool saveLicense );
68  void ( *updateFeatureConsumption )( struct LSLicenseHandler* self, const char* featureCode, int value, bool saveLicense );
69  void ( *checkLicenseLocal )( struct LSLicenseHandler* self, bool verifySignature );
70  void ( *clearLocalStorage )( struct LSLicenseHandler* self );
71  bool ( *isLicenseFileCorrupted )( struct LSLicenseHandler* self );
72  void ( *setupLicenseWatchdog )( struct LSLicenseHandler* self, LSWatchdogCallback callback, unsigned long timeout );
73  void ( *resumeLicenseWatchdog )( struct LSLicenseHandler* self );
74  void ( *stopLicenseWatchdog )( struct LSLicenseHandler* self );
75  void ( *setupFeatureWatchdog )( struct LSLicenseHandler* self, LSWatchdogCallback callback, unsigned long timeout );
76  void ( *resumeFeaturewatchdog )( struct LSLicenseHandler* self );
77  void ( *stopFeatureWatchdog )( struct LSLicenseHandler* self );
78  void ( *relinkLicense )( struct LSLicenseHandler* self, enum DeviceIDAlgorithm deviceIdAlgorithm, const char* userPassword );
79  const wchar_t* ( *getDataLocation )( struct LSLicenseHandler* self );
80  void ( *setDataLocation )( struct LSLicenseHandler* self, const wchar_t* path );
81  const wchar_t* ( *getLicenseFileName )( struct LSLicenseHandler* self );
82  void ( *setLicenseFileName )( struct LSLicenseHandler* self, const wchar_t* name );
83  // ------------------------------------------------------------
84 
85  // ---------------- Offline license management ----------------
86  const wchar_t* ( *createOfflineActivationFile )( struct LSLicenseHandler* self, struct LSLicenseID licenseID, const wchar_t* activationRequestFile );
87  void ( *activateLicenseOffline )( struct LSLicenseHandler* self, const wchar_t* activationResponseFile );
88  const wchar_t* ( *deactivateLicenseOffline )( struct LSLicenseHandler* self, const wchar_t* deactivationRequestFile );
89  bool ( *updateOffline )( struct LSLicenseHandler* self, const wchar_t* path, bool resetConsumption );
90  void ( *activateAirGapLicense )( struct LSLicenseHandler* self, const char* confirmationCode, const wchar_t* policyFile, const char* licenseKey, unsigned long policyId );
91  void ( *deactivateAirGapLicense )( struct LSLicenseHandler* self, const char* confirmationCode );
92  // ------------------------------------------------------------
93 
94  // ----------------------- License data -----------------------
95  bool ( *isLicenseValid )( struct LSLicenseHandler* self );
96  bool ( *isLicenseTrial )( struct LSLicenseHandler* self );
97  bool ( *isLicenseAirGapped )( struct LSLicenseHandler* self );
98  bool ( *isLicenseActive )( struct LSLicenseHandler* self );
99  bool ( *isLicenseEnabled )( struct LSLicenseHandler* self );
100  bool ( *isLicenseExpired )( struct LSLicenseHandler* self );
102  bool ( *isLicenseOfflineActivated )( struct LSLicenseHandler* self );
103  bool ( *isLicenseFloating )( struct LSLicenseHandler* self );
104  bool ( *isLicenseBorrowed )( struct LSLicenseHandler* self );
105  bool ( *isLicenseVMAllowed )( struct LSLicenseHandler* self );
107  bool ( *isGracePeriodStarted )( struct LSLicenseHandler* self );
108  int ( *gracePeriodHoursRemaining )( struct LSLicenseHandler* self );
109  struct tm ( *gracePeriodEndDateTime )( struct LSLicenseHandler* self );
110  struct tm ( *gracePeriodEndDateTimeUTC )( struct LSLicenseHandler* self );
111  int ( *getLicenseTrialPeriod )( struct LSLicenseHandler* self );
112 
113  struct LSLicenseID ( *getLicenseID )( struct LSLicenseHandler* self );
114  const char* ( *getLicenseKey )( struct LSLicenseHandler* self );
115  const char* ( *getLicenseUser )( struct LSLicenseHandler* self );
116  uint64_t ( *getLicenseServerId )( struct LSLicenseHandler* self );
117  const char* ( *getLicenseStatusStr )( struct LSLicenseHandler* self );
118  const char* ( *getLicenseStartDate )( struct LSLicenseHandler* self );
119  const char* ( *getLicenseMetadata )( struct LSLicenseHandler* self );
120  const char* ( *getOrderStoreId )( struct LSLicenseHandler* self );
122  struct tm( *getLicenseExpiryDate )( struct LSLicenseHandler* self );
123  struct tm( *getLicenseExpiryDateUtc )( struct LSLicenseHandler* self );
124  struct tm( *getLicenseMaintenancePeriod )( struct LSLicenseHandler* self );
125  struct tm( *getLicenseMaintenancePeriodUtc )( struct LSLicenseHandler* self );
126  struct tm( *getLicenseLastCheckDate )( struct LSLicenseHandler* self );
127  struct tm( *getLicenseLastCheckDateUtc )( struct LSLicenseHandler* self );
128  struct tm( *getLicenseFloatingEndDateTime )( struct LSLicenseHandler* self );
129  struct tm( *getLicenseFloatingEndDateTimeUtc )( struct LSLicenseHandler* self );
130  int ( *getDaysRemaining )( struct LSLicenseHandler* self );
133  LSCustomer* ( *getLicenseOwner )( struct LSLicenseHandler* self );
134  bool ( *hasLicenseFeatures )( struct LSLicenseHandler* self );
135  struct LSLicenseFeature* ( *getLicenseFeature )( struct LSLicenseHandler* self, const char* featureCode );
136  int ( *getLicenseFeatures )( struct LSLicenseHandler* self, struct LSLicenseFeature* features );
137  bool ( *hasLicenseCustomFields )( struct LSLicenseHandler* self );
138  int ( *getLicenseCustomFields )( struct LSLicenseHandler* self, struct LSCustomField* fields );
139  unsigned long ( *getLicenseTimesActivated )( struct LSLicenseHandler* self );
140  unsigned long ( *getLicenseMaxActivations )( struct LSLicenseHandler* self );
141  unsigned long ( *getLicenseTransferCount )( struct LSLicenseHandler* self );
142  int ( *getLicenseTransferLimit )( struct LSLicenseHandler* self );
143  bool ( *isDeviceTransferAllowed )( struct LSLicenseHandler* self );
144  bool ( *isDeviceTransferLimited )( struct LSLicenseHandler* self );
145  unsigned long ( *getLicensePolicyId )( struct LSLicenseHandler* self );
146 
147  // Meaningful only for Subscription license
148  unsigned long ( *getSubscriptionLicenseGracePeriod )( struct LSLicenseHandler* self );
149  struct tm ( *validityWithGracePeriod )( struct LSLicenseHandler* self );
150  struct tm ( *validityWithGracePeriodUtc )( struct LSLicenseHandler* self );
151 
152  // Meaningful only for Consumption license
154  int ( *getLicenseMaxConsumption )( struct LSLicenseHandler* self );
155  bool ( *isLicenseOveragesAllowed )( struct LSLicenseHandler* self );
158  int ( *getLicenseMaxOverages )( struct LSLicenseHandler* self );
161 
162  // Meaningful only for Floating license
163  unsigned long ( *getLicenseFloatingTimeout )( struct LSLicenseHandler* self );
164  unsigned long ( *getLicenseFloatingInUseCount )( struct LSLicenseHandler* self );
165  unsigned long ( *getLicenseMaxFloatingUsers )( struct LSLicenseHandler* self );
166  unsigned long (* getMaxBorrowTime )( struct LSLicenseHandler* self );
167  // ------------------------------------------------------------
168 
169  // ---------------------- Error handling ----------------------
170  bool ( *wasError )( struct LSLicenseHandler* self );
171  enum LSErrorCode( *getLastError )( struct LSLicenseHandler* self );
172  const char* ( *getLastErrorMsg )( struct LSLicenseHandler* self );
173  bool ( *isInitializationError )( struct LSLicenseHandler* self );
174  bool ( *isInternalServerError )( struct LSLicenseHandler* self );
175  bool ( *isNetworkTimeoutError )( struct LSLicenseHandler* self );
176  bool ( *isNoInternetError )( struct LSLicenseHandler* self );
177  bool ( *isActivationFailed )( struct LSLicenseHandler* self );
178  bool ( *isLicenseExpiredError )( struct LSLicenseHandler* self );
179  bool ( *isLicenseNotFoundError )( struct LSLicenseHandler* self );
180  bool ( *isLicenseStateError )( struct LSLicenseHandler* self );
181  bool ( *isHardwareIDError )( struct LSLicenseHandler* self );
182  bool ( *isGeneralError )( struct LSLicenseHandler* self );
183  bool ( *isLicenseFeatureError )( struct LSLicenseHandler* self );
184  bool ( *canIgnoreError )( struct LSLicenseHandler* self ); // No Internet, network timeout and server errors can be ignored
185  // ------------------------------------------------------------
186 
187  void* inner;
188 
190 
192 
193  // LicenseHandler takes ownership of Configuration, so do not free it
195 
196  // This function will also free current configuration, you do not need to explicitly call FreeLSConfiguration
197  LS_API void FreeLSLicenseHandler( struct LSLicenseHandler* handler );
198 
199 #ifdef __cplusplus
200 } // end extern "C"
201 #endif
202 
203 #endif // LS_C_LICENSE_HANDLER_H
LSProductDetails
Definition: ProductDetails.h:12
LSLicenseHandler::getLastError
enum LSErrorCode(* getLastError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:171
LSLicenseHandler::getLicenseCustomFields
int(* getLicenseCustomFields)(struct LSLicenseHandler *self, struct LSCustomField *fields)
Definition: LicenseHandler.h:138
LSLicenseHandler::getLicenseServerId
uint64_t(* getLicenseServerId)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:116
LSLicenseHandler::getSubscriptionLicenseGracePeriod
unsigned long(* getSubscriptionLicenseGracePeriod)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:148
LSLicenseHandler::isHardwareIDError
bool(* isHardwareIDError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:181
LSLicenseHandler::isLicenseActive
bool(* isLicenseActive)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:98
LSLicenseHandler::changePassword
bool(* changePassword)(struct LSLicenseHandler *self, const char *password, const char *newPassword, const char *user)
Definition: LicenseHandler.h:42
LSLicenseHandler::isInitializationError
bool(* isInitializationError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:173
LSLicenseHandler::syncFeatureConsumption
void(* syncFeatureConsumption)(struct LSLicenseHandler *self, const char *featureCode)
Definition: LicenseHandler.h:53
LSLicenseHandler::hasLicenseFeatures
bool(* hasLicenseFeatures)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:134
LSLicenseHandler::isInitialized
bool(* isInitialized)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:65
LSLicenseHandler::getLicenseConsumptionPeriod
enum LSConsumptionPeriod(* getLicenseConsumptionPeriod)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:160
LSLicenseHandler::getLicenseMaxOverages
int(* getLicenseMaxOverages)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:158
LSLicenseHandler::getLicenseTotalConsumption
int(* getLicenseTotalConsumption)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:153
LSLicenseHandler::isActivationFailed
bool(* isActivationFailed)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:177
Customer.h
LSLicenseHandler::isInternalServerError
bool(* isInternalServerError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:174
LSLicenseHandler::isLicenseNegativeConsumptionAllowed
bool(* isLicenseNegativeConsumptionAllowed)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:157
LSLicenseHandler::getLicenseFeatures
int(* getLicenseFeatures)(struct LSLicenseHandler *self, struct LSLicenseFeature *features)
Definition: LicenseHandler.h:136
LSLicenseHandler
Definition: LicenseHandler.h:27
LSLicenseHandler::getVersionListEx
int(* getVersionListEx)(struct LSLicenseHandler *self, struct LSLicenseID licenseID, const char *channel, const char *env, int *lengths, char **versionList)
Definition: LicenseHandler.h:46
ProductDetails.h
LSLicenseHandler::relinkLicense
void(* relinkLicense)(struct LSLicenseHandler *self, enum DeviceIDAlgorithm deviceIdAlgorithm, const char *userPassword)
Definition: LicenseHandler.h:78
LSLicenseHandler::getLicenseLastCheckDate
struct tm(* getLicenseLastCheckDate)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:126
LSLicenseHandler::checkLicenseLocal
void(* checkLicenseLocal)(struct LSLicenseHandler *self, bool verifySignature)
Definition: LicenseHandler.h:69
LSLicenseHandler::gracePeriodHoursRemaining
int(* gracePeriodHoursRemaining)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:108
LSLicenseHandler::getLicenseMaintenancePeriod
struct tm(* getLicenseMaintenancePeriod)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:124
LSLicenseHandler::registerFloatingLicense
void(* registerFloatingLicense)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:54
LSConsumptionPeriod
LSConsumptionPeriod
Consumption period.
Definition: PODTypes.h:37
LSLicenseHandler::isLicenseVMAllowed
bool(* isLicenseVMAllowed)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:105
LSErrorCode
LSErrorCode
LicenseSpring Error codes enum.
Definition: PODTypes.h:47
LSLicenseHandler::isLicenseTrial
bool(* isLicenseTrial)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:96
LSLicenseHandler
LS_API struct LSLicenseHandler LSLicenseHandler
LSLicenseHandler::isOnline
bool(* isOnline)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:33
LSLicenseHandler::isNoInternetError
bool(* isNoInternetError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:176
FreeLSLicenseHandler
LS_API void FreeLSLicenseHandler(struct LSLicenseHandler *handler)
LSLicenseHandler::validityWithGracePeriodUtc
struct tm(* validityWithGracePeriodUtc)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:150
LSLicenseHandler::isLicenseFileCorrupted
bool(* isLicenseFileCorrupted)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:71
LSCustomer
Definition: Customer.h:10
LSLicenseHandler::isDeviceTransferAllowed
bool(* isDeviceTransferAllowed)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:143
LSLicenseHandler::resumeLicenseWatchdog
void(* resumeLicenseWatchdog)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:73
LSLicenseHandler::getTrialLicense
struct LSLicenseID(* getTrialLicense)(struct LSLicenseHandler *self, LSCustomer *user, const char *licensePolicy)
Definition: LicenseHandler.h:35
LSLicenseHandler::isGracePeriodStarted
bool(* isGracePeriodStarted)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:107
LSLicenseHandler::isSubscriptionGracePeriodStarted
bool(* isSubscriptionGracePeriodStarted)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:106
LSLicenseHandler::isLicenseFeatureError
bool(* isLicenseFeatureError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:183
LSLicenseHandler::isLicenseOveragesAllowed
bool(* isLicenseOveragesAllowed)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:155
LSLicenseHandler::isLicenseExpiredError
bool(* isLicenseExpiredError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:178
LSLicenseHandler::activateLicenseOffline
void(* activateLicenseOffline)(struct LSLicenseHandler *self, const wchar_t *activationResponseFile)
Definition: LicenseHandler.h:87
LSLicenseHandler::isLicenseExists
bool(* isLicenseExists)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:66
LSLicenseHandler::getLicenseTransferLimit
int(* getLicenseTransferLimit)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:142
LSLicenseHandler::getLicenseLastCheckDateUtc
struct tm(* getLicenseLastCheckDateUtc)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:127
LSLicenseHandler::isLicenseEnabled
bool(* isLicenseEnabled)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:99
LSLicenseHandler::getLicenseExpiryDateUtc
struct tm(* getLicenseExpiryDateUtc)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:123
LSLicenseHandler::setDataLocation
void(* setDataLocation)(struct LSLicenseHandler *self, const wchar_t *path)
Definition: LicenseHandler.h:80
LSLicenseHandler::releaseFloatingLicense
void(* releaseFloatingLicense)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:57
LSLicenseHandler::isLicenseOfflineActivated
bool(* isLicenseOfflineActivated)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:102
LSLicenseHandler::releaseFloatingFeature
void(* releaseFloatingFeature)(struct LSLicenseHandler *self, const char *featureCode)
Definition: LicenseHandler.h:59
LSLicenseHandler::getVersionList
int(* getVersionList)(struct LSLicenseHandler *self, struct LSLicenseID licenseID, int *lengths, char **versionList)
Definition: LicenseHandler.h:45
LSLicenseHandler::reconfigure
void(* reconfigure)(struct LSLicenseHandler *self, struct LSConfiguration *config)
Definition: LicenseHandler.h:30
LSLicenseHandler::getLicenseMaxConsumption
int(* getLicenseMaxConsumption)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:154
DeviceIDAlgorithm
DeviceIDAlgorithm
Type of Device ID algorithm used by the SDK.
Definition: PODTypes.h:107
LSLicenseHandler::setupLicenseWatchdog
void(* setupLicenseWatchdog)(struct LSLicenseHandler *self, LSWatchdogCallback callback, unsigned long timeout)
Definition: LicenseHandler.h:72
LSLicenseHandler::gracePeriodEndDateTime
struct tm(* gracePeriodEndDateTime)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:109
LSLicenseHandler::deactivateLicense
bool(* deactivateLicense)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:41
LSLicenseHandler::isLicenseFloating
bool(* isLicenseFloating)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:103
LSCustomField::value
char * value
Definition: LicenseHandler.h:19
LicenseID.h
LSLicenseHandler::getMaxBorrowTime
unsigned long(* getMaxBorrowTime)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:166
LSCustomField
LS_API struct LSCustomField LSCustomField
LSLicenseHandler::updateFeatureConsumption
void(* updateFeatureConsumption)(struct LSLicenseHandler *self, const char *featureCode, int value, bool saveLicense)
Definition: LicenseHandler.h:68
LSLicenseHandler::setLicenseFileName
void(* setLicenseFileName)(struct LSLicenseHandler *self, const wchar_t *name)
Definition: LicenseHandler.h:82
LSLicenseHandler::isNetworkTimeoutError
bool(* isNetworkTimeoutError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:175
Configuration.h
LSLicenseHandler::isResetLicenseConsumptionEnabled
bool(* isResetLicenseConsumptionEnabled)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:159
LSLicenseHandler::isDeviceTransferLimited
bool(* isDeviceTransferLimited)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:144
LSLicenseHandler::updateOffline
bool(* updateOffline)(struct LSLicenseHandler *self, const wchar_t *path, bool resetConsumption)
Definition: LicenseHandler.h:89
CreateLSLicenseHandler
LS_API struct LSLicenseHandler * CreateLSLicenseHandler(struct LSConfiguration *config)
LSCustomField::nameSize
int nameSize
Definition: LicenseHandler.h:20
LSLicenseHandler::deactivateAirGapLicense
void(* deactivateAirGapLicense)(struct LSLicenseHandler *self, const char *confirmationCode)
Definition: LicenseHandler.h:91
LSLicenseHandler::getLicensePolicyId
unsigned long(* getLicensePolicyId)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:145
LSLicenseHandler::borrowFloatingLicense
void(* borrowFloatingLicense)(struct LSLicenseHandler *self, uint32_t hours, uint32_t days)
Definition: LicenseHandler.h:55
LSLicenseHandler::activateLicenseViaSSO
void(* activateLicenseViaSSO)(struct LSLicenseHandler *self, const char *authData, const char *accountCode, bool useAuthCode)
Definition: LicenseHandler.h:39
LSLicenseHandler::isLicenseUnlimitedConsumptionAllowed
bool(* isLicenseUnlimitedConsumptionAllowed)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:156
LSLicenseHandler::getLicenseTimesActivated
unsigned long(* getLicenseTimesActivated)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:139
LSLicenseHandler::activateLicense
void(* activateLicense)(struct LSLicenseHandler *self, struct LSLicenseID licenseID)
Definition: LicenseHandler.h:38
LSLicenseFeature
Definition: LicenseFeature.h:13
LicenseFeature.h
LS_API
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
Definition: APIDef.h:22
LSLicenseHandler::isLicenseMaintenanceExpired
bool(* isLicenseMaintenanceExpired)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:101
LSLicenseHandler::inner
void * inner
Definition: LicenseHandler.h:187
LSLicenseID
Definition: LicenseID.h:11
LSLicenseHandler::gracePeriodEndDateTimeUTC
struct tm(* gracePeriodEndDateTimeUTC)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:110
LSLicenseHandler::getLicenseTransferCount
unsigned long(* getLicenseTransferCount)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:141
LSLicenseHandler::activateAirGapLicense
void(* activateAirGapLicense)(struct LSLicenseHandler *self, const char *confirmationCode, const wchar_t *policyFile, const char *licenseKey, unsigned long policyId)
Definition: LicenseHandler.h:90
InstallationFile.h
LSLicenseHandler::getDaysPassedSinceLastCheck
int(* getDaysPassedSinceLastCheck)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:132
LSLicenseHandler::getLicenseFloatingTimeout
unsigned long(* getLicenseFloatingTimeout)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:163
LSLicenseHandler::validityWithGracePeriod
struct tm(* validityWithGracePeriod)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:149
LSLicenseHandler::isLicenseExpired
bool(* isLicenseExpired)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:100
LSLicenseHandler::getLicenseTrialPeriod
int(* getLicenseTrialPeriod)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:111
LSLicenseHandler::stopLicenseWatchdog
void(* stopLicenseWatchdog)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:74
LSLicenseHandler::currentConfig
struct LSConfiguration * currentConfig
Definition: LicenseHandler.h:189
LSLicenseHandler::getLicenseID
struct LSLicenseID(* getLicenseID)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:113
LSLicenseHandler::canIgnoreError
bool(* canIgnoreError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:184
LSLicenseHandler::hasLicenseCustomFields
bool(* hasLicenseCustomFields)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:137
LSLicenseHandler::resumeFeaturewatchdog
void(* resumeFeaturewatchdog)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:76
LSLicenseHandler::borrowFloatingLicenseTill
void(* borrowFloatingLicenseTill)(struct LSLicenseHandler *self, const char *borrowEndDateTime)
Definition: LicenseHandler.h:56
LSLicenseHandler::isGeneralError
bool(* isGeneralError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:182
LSLicenseHandler::getLicenseMaxActivations
unsigned long(* getLicenseMaxActivations)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:140
LSWatchdogCallback
LS_API typedef void(* LSWatchdogCallback)(const char *message, enum LSErrorCode errorCode, void *handler)
Definition: LicenseHandler.h:25
LSCustomField::name
char * name
Definition: LicenseHandler.h:18
LSLicenseHandler::clearLocalStorage
void(* clearLocalStorage)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:70
LSLicenseHandler::getTrialLicenseByEmail
struct LSLicenseID(* getTrialLicenseByEmail)(struct LSLicenseHandler *self, const char *userEmail)
Definition: LicenseHandler.h:36
LSLicenseID::user
const char * user
Definition: LicenseID.h:14
LSLicenseHandler::getLicenseExpiryDate
struct tm(* getLicenseExpiryDate)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:122
LSLicenseHandler::registerFloatingFeature
void(* registerFloatingFeature)(struct LSLicenseHandler *self, const char *featureCode, bool addToWatchdog)
Definition: LicenseHandler.h:58
LSLicenseHandler::isLicenseBorrowed
bool(* isLicenseBorrowed)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:104
LSLicenseHandler::isLicenseNotFoundError
bool(* isLicenseNotFoundError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:179
LSLicenseHandler::updateConsumption
void(* updateConsumption)(struct LSLicenseHandler *self, int value, bool saveLicense)
Definition: LicenseHandler.h:67
LSLicenseHandler::syncConsumption
void(* syncConsumption)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:52
LSLicenseHandler::getLicenseFloatingInUseCount
unsigned long(* getLicenseFloatingInUseCount)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:164
LSLicenseHandler::isLicenseStateError
bool(* isLicenseStateError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:180
LSInstallationFile
Definition: InstallationFile.h:10
LSLicenseHandler::getLicenseType
enum LSLicenseType(* getLicenseType)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:121
LSLicenseType
LSLicenseType
License type.
Definition: PODTypes.h:27
LSLicenseHandler::isLicenseAirGapped
bool(* isLicenseAirGapped)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:97
LSLicenseHandler::isLicenseValid
bool(* isLicenseValid)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:95
LSLicenseHandler::getLicenseFloatingEndDateTimeUtc
struct tm(* getLicenseFloatingEndDateTimeUtc)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:129
LSLicenseHandler::getMaintenanceDaysRemaining
int(* getMaintenanceDaysRemaining)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:131
LSLicenseHandler::setupFeatureWatchdog
void(* setupFeatureWatchdog)(struct LSLicenseHandler *self, LSWatchdogCallback callback, unsigned long timeout)
Definition: LicenseHandler.h:75
LSLicenseHandler::wasError
bool(* wasError)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:170
LSCustomField
Definition: LicenseHandler.h:16
LSLicenseHandler::sendDeviceData
void(* sendDeviceData)(struct LSLicenseHandler *self, struct LSCustomField *data, int dataSize)
Definition: LicenseHandler.h:51
LSCustomField::valueSize
int valueSize
Definition: LicenseHandler.h:21
LSLicenseHandler::getLicenseMaxFloatingUsers
unsigned long(* getLicenseMaxFloatingUsers)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:165
LSLicenseHandler::getLicenseMaintenancePeriodUtc
struct tm(* getLicenseMaintenancePeriodUtc)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:125
LSLicenseHandler::getDaysRemaining
int(* getDaysRemaining)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:130
LSLicenseHandler::getLicenseFloatingEndDateTime
struct tm(* getLicenseFloatingEndDateTime)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:128
LSLicenseHandler::stopFeatureWatchdog
void(* stopFeatureWatchdog)(struct LSLicenseHandler *self)
Definition: LicenseHandler.h:77
LSConfiguration
Definition: Configuration.h:10