LicenseSpring C++ SDK  7.31.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 
34 
35  int ( *maxOverages )( struct LSLicenseFeature* self );
36 
37  bool ( *isResetConsumptionEnabled )( struct LSLicenseFeature* self );
38 
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 
68 
70 
72 
73 #ifdef __cplusplus
74 } // end extern "C"
75 #endif
76 
77 #endif // LS_C_LICENSE_FEATURE_H
LSLicenseFeature
LS_API struct LSLicenseFeature LSLicenseFeature
LSLicenseFeature::isExpired
bool(* isExpired)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:45
LSLicenseFeature::maxOverages
int(* maxOverages)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:35
LSFeatureType
LSFeatureType
Product feature type.
Definition: PODTypes.h:18
LSLicenseFeature::totalConsumption
int(* totalConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:27
LSLicenseFeature::featureTypeFromString
enum LSFeatureType(* featureTypeFromString)(struct LSLicenseFeature *self, const char *value)
Definition: LicenseFeature.h:23
LSLicenseFeature::floatingInUseCount
int32_t(* floatingInUseCount)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:57
LSLicenseFeature::featureType
enum LSFeatureType(* featureType)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:21
LSLicenseFeature::expiryDateUtc
struct tm(* expiryDateUtc)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:43
LSConsumptionPeriod
LSConsumptionPeriod
Consumption period.
Definition: PODTypes.h:37
LSLicenseFeature::maxConsumption
int(* maxConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:25
LSLicenseFeature::floatingEndDateTimeUtc
struct tm(* floatingEndDateTimeUtc)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:61
LSLicenseFeature::isOveragesAllowed
bool(* isOveragesAllowed)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:31
LSLicenseFeature::isOfflineFloating
bool(* isOfflineFloating)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:51
LSLicenseFeature::floatingUsers
int32_t(* floatingUsers)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:55
LSLicenseFeature::isResetConsumptionEnabled
bool(* isResetConsumptionEnabled)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:37
FreeLSLicenseFeature
LS_API void FreeLSLicenseFeature(LSLicenseFeature *feature)
LSLicenseFeature::inner
void * inner
Definition: LicenseFeature.h:65
LSLicenseFeature
Definition: LicenseFeature.h:13
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::floatingEndDateTime
struct tm(* floatingEndDateTime)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:59
CreateLSLicenseFeature
LS_API LSLicenseFeature * CreateLSLicenseFeature()
LSLicenseFeature::floatingIsExpired
bool(* floatingIsExpired)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:63
LSLicenseFeature::expiryDate
struct tm(* expiryDate)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:41
LSLicenseFeature::isUnlimitedConsumptionAllowed
bool(* isUnlimitedConsumptionAllowed)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:33
LSLicenseFeature::floatingTimeout
int32_t(* floatingTimeout)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:53
LSLicenseFeature::isFloating
bool(* isFloating)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:49
LSLicenseFeature::localConsumption
int(* localConsumption)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:29
LSLicenseFeature::consumptionPeriod
enum LSConsumptionPeriod(* consumptionPeriod)(struct LSLicenseFeature *self)
Definition: LicenseFeature.h:39