LicenseSpring C++ SDK
Easily add Software Licensing to your application
LicenseFeature.h
Go to the documentation of this file.
1 #ifndef LS_C_LICENSE_FEATURE_H
2 #define LS_C_LICENSE_FEATURE_H
3 
4 #include "../APIDef.h"
5 #include "../PODTypes.h"
6 #include <time.h>
7 #include <stdbool.h>
8 
9 #ifdef __cplusplus
10 extern "C"
11 {
12 #endif
13 
14  LS_API typedef struct LSLicenseFeature
15  {
16  const char *(*toString)(struct LSLicenseFeature *self);
17 
18  const char *(*code)(struct LSLicenseFeature *self);
19 
20  const char *(*name)(struct LSLicenseFeature *self);
21 
23 
25  struct LSLicenseFeature *self, const char *value);
26 
27  int (*maxConsumption)(struct LSLicenseFeature *self);
28 
29  int (*totalConsumption)(struct LSLicenseFeature *self);
30 
31  int (*localConsumption)(struct LSLicenseFeature *self);
32 
33  bool (*isOveragesAllowed)(struct LSLicenseFeature *self);
34 
36 
38 
39  int (*maxOverages)(struct LSLicenseFeature *self);
40 
42 
44 
45  struct tm (*expiryDate)(struct LSLicenseFeature *self);
46 
47  struct tm (*expiryDateUtc)(struct LSLicenseFeature *self);
48 
49  bool (*isExpired)(struct LSLicenseFeature *self);
50 
51  const char *(*metadata)(struct LSLicenseFeature *self);
52 
53  bool (*isFloating)(struct LSLicenseFeature *self);
54 
55  bool (*isOfflineFloating)(struct LSLicenseFeature *self);
56 
57  int32_t (*floatingTimeout)(struct LSLicenseFeature *self);
58 
59  int32_t (*floatingUsers)(struct LSLicenseFeature *self);
60 
61  int32_t (*floatingInUseCount)(struct LSLicenseFeature *self);
62 
63  struct tm (*floatingEndDateTime)(struct LSLicenseFeature *self);
64 
65  struct tm (*floatingEndDateTimeUtc)(struct LSLicenseFeature *self);
66 
67  bool (*floatingIsExpired)(struct LSLicenseFeature *self);
68 
69  void *inner;
70 
72 
74 
76 
77 #ifdef __cplusplus
78 } // end extern "C"
79 #endif
80 
81 #endif // LS_C_LICENSE_FEATURE_H
LSLicenseFeature
LS_API struct LSLicenseFeature LSLicenseFeature
LSLicenseFeature::maxOverages
int(* maxOverages)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:39
LSLicenseFeature::floatingUsers
int32_t(* floatingUsers)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:59
LSLicenseFeature::featureTypeFromString
enum LSFeatureType(* featureTypeFromString)(struct LSLicenseFeature *self, const char *value)
Definition: LicenseFeature.h:24
LSFeatureType
LSFeatureType
Product feature type.
Definition: PODTypes.h:17
LSConsumptionPeriod
LSConsumptionPeriod
Consumption period.
Definition: PODTypes.h:35
LSLicenseFeature::isNegativeConsumptionAllowed
bool(* isNegativeConsumptionAllowed)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:37
LSLicenseFeature::floatingInUseCount
int32_t(* floatingInUseCount)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:61
LSLicenseFeature::isExpired
bool(* isExpired)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:49
LSLicenseFeature::featureType
enum LSFeatureType(* featureType)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:22
LSLicenseFeature::isUnlimitedConsumptionAllowed
bool(* isUnlimitedConsumptionAllowed)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:35
LSLicenseFeature::floatingEndDateTimeUtc
struct tm(* floatingEndDateTimeUtc)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:65
LSLicenseFeature::isFloating
bool(* isFloating)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:53
LSLicenseFeature::consumptionPeriod
enum LSConsumptionPeriod(* consumptionPeriod)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:43
LSLicenseFeature::floatingIsExpired
bool(* floatingIsExpired)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:67
FreeLSLicenseFeature
LS_API void FreeLSLicenseFeature(LSLicenseFeature *feature)
LSLicenseFeature::inner
void * inner
Definition: LicenseFeature.h:69
LSLicenseFeature::isOveragesAllowed
bool(* isOveragesAllowed)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:33
LSLicenseFeature::expiryDate
struct tm(* expiryDate)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:45
LSLicenseFeature
Definition: LicenseFeature.h:14
LS_API
#define LS_API
Definition: APIDef.h:23
LSLicenseFeature::maxConsumption
int(* maxConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:27
CreateLSLicenseFeature
LS_API LSLicenseFeature * CreateLSLicenseFeature()
LSLicenseFeature::floatingEndDateTime
struct tm(* floatingEndDateTime)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:63
LSLicenseFeature::isOfflineFloating
bool(* isOfflineFloating)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:55
LSLicenseFeature::localConsumption
int(* localConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:31
LSLicenseFeature::totalConsumption
int(* totalConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:29
LSLicenseFeature::expiryDateUtc
struct tm(* expiryDateUtc)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:47
LSLicenseFeature::isResetConsumptionEnabled
bool(* isResetConsumptionEnabled)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:41
LSLicenseFeature::floatingTimeout
int32_t(* floatingTimeout)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:57