| LicenseSpring C++ SDK 7.32.0 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 #endif
12
13 LS_API typedef struct LSLicenseFeature
14 {
15 const char* ( *toString )( struct LSLicenseFeature* self );
16
17 const char* ( *code )( struct LSLicenseFeature* self );
18
19 const char* ( *name )( struct LSLicenseFeature* self );
20
21 enum LSFeatureType( *featureType )( struct LSLicenseFeature* self );
22
23 enum LSFeatureType( *featureTypeFromString )( struct LSLicenseFeature* self, const char* value );
24
25 int ( *maxConsumption )( struct LSLicenseFeature* self );
26
27 int ( *totalConsumption )( struct LSLicenseFeature* self );
28
29 int ( *localConsumption )( struct LSLicenseFeature* self );
30
31 bool ( *isOveragesAllowed )( struct LSLicenseFeature* self );
32
33 bool ( *isUnlimitedConsumptionAllowed )( struct LSLicenseFeature* self );
34
35 int ( *maxOverages )( struct LSLicenseFeature* self );
36
37 bool ( *isResetConsumptionEnabled )( struct LSLicenseFeature* self );
38
39 enum LSConsumptionPeriod( *consumptionPeriod )( struct LSLicenseFeature* self );
40
41 struct tm( *expiryDate )( struct LSLicenseFeature* self );
42
43 struct tm( *expiryDateUtc )( struct LSLicenseFeature* self );
44
45 bool ( *isExpired )( struct LSLicenseFeature* self );
46
47 const char* ( *metadata )( struct LSLicenseFeature* self );
48
49 bool ( *isFloating )( struct LSLicenseFeature* self );
50
51 bool ( *isOfflineFloating )( struct LSLicenseFeature* self );
52
53 int32_t ( *floatingTimeout )( struct LSLicenseFeature* self );
54
55 int32_t ( *floatingUsers )( struct LSLicenseFeature* self );
56
57 int32_t ( *floatingInUseCount )( struct LSLicenseFeature* self );
58
59 struct tm ( *floatingEndDateTime )( struct LSLicenseFeature* self );
60
61 struct tm ( *floatingEndDateTimeUtc )( struct LSLicenseFeature* self );
62
63 bool ( *floatingIsExpired )( struct LSLicenseFeature* self );
64
65 void* inner;
66
67 } LSLicenseFeature;
68
69 LS_API LSLicenseFeature* CreateLSLicenseFeature();
70
71 LS_API void FreeLSLicenseFeature( LSLicenseFeature* feature );
72
73 #ifdef __cplusplus
74 } // end extern "C"
75 #endif
76
77 #endif // LS_C_LICENSE_FEATURE_H
LSConsumptionPeriod
LSConsumptionPeriod
Consumption period.
Definition: PODTypes.h:37
LSLicenseFeature::localConsumption
int(* localConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:29
LSLicenseFeature::isUnlimitedConsumptionAllowed
bool(* isUnlimitedConsumptionAllowed)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:33
LSLicenseFeature::floatingEndDateTime
struct tm(* floatingEndDateTime)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:59
LSLicenseFeature::featureType
enum LSFeatureType(* featureType)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:21
FreeLSLicenseFeature
LS_API void FreeLSLicenseFeature(LSLicenseFeature *feature)
LSLicenseFeature::consumptionPeriod
enum LSConsumptionPeriod(* consumptionPeriod)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:39
LSLicenseFeature::isFloating
bool(* isFloating)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:49
LSLicenseFeature::maxOverages
int(* maxOverages)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:35
LSLicenseFeature::expiryDate
struct tm(* expiryDate)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:41
LSLicenseFeature::expiryDateUtc
struct tm(* expiryDateUtc)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:43
LSLicenseFeature::isResetConsumptionEnabled
bool(* isResetConsumptionEnabled)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:37
LSLicenseFeature::isExpired
bool(* isExpired)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:45
LSLicenseFeature::inner
void * inner
Definition: LicenseFeature.h:65
LSLicenseFeature::maxConsumption
int(* maxConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:25
LSLicenseFeature::isOfflineFloating
bool(* isOfflineFloating)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:51
LSLicenseFeature::featureTypeFromString
enum LSFeatureType(* featureTypeFromString)(struct LSLicenseFeature *self, const char *value)
Definition: LicenseFeature.h:23
LSLicenseFeature::isOveragesAllowed
bool(* isOveragesAllowed)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:31
LSLicenseFeature
LS_API struct LSLicenseFeature LSLicenseFeature
LSLicenseFeature::floatingTimeout
int32_t(* floatingTimeout)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:53
LSLicenseFeature::totalConsumption
int(* totalConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:27
LSLicenseFeature
Definition: LicenseFeature.h:13
LSLicenseFeature::floatingIsExpired
bool(* floatingIsExpired)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:63
LSLicenseFeature::floatingInUseCount
int32_t(* floatingInUseCount)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:57
LSLicenseFeature::floatingUsers
int32_t(* floatingUsers)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:55
LSFeatureType
LSFeatureType
Product feature type.
Definition: PODTypes.h:18
CreateLSLicenseFeature
LS_API LSLicenseFeature * CreateLSLicenseFeature()
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
LSLicenseFeature::floatingEndDateTimeUtc
struct tm(* floatingEndDateTimeUtc)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:61