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
LSConsumptionPeriod
Consumption period.
Definition: PODTypes.h:37
int(* localConsumption)(struct LSLicenseFeature *self)
bool(* isUnlimitedConsumptionAllowed)(struct LSLicenseFeature *self)
struct tm(* floatingEndDateTime)(struct LSLicenseFeature *self)
enum LSFeatureType(* featureType)(struct LSLicenseFeature *self)
LS_API void FreeLSLicenseFeature(LSLicenseFeature *feature)
enum LSConsumptionPeriod(* consumptionPeriod)(struct LSLicenseFeature *self)
bool(* isFloating)(struct LSLicenseFeature *self)
int(* maxOverages)(struct LSLicenseFeature *self)
struct tm(* expiryDate)(struct LSLicenseFeature *self)
struct tm(* expiryDateUtc)(struct LSLicenseFeature *self)
bool(* isResetConsumptionEnabled)(struct LSLicenseFeature *self)
bool(* isExpired)(struct LSLicenseFeature *self)
int(* maxConsumption)(struct LSLicenseFeature *self)
bool(* isOfflineFloating)(struct LSLicenseFeature *self)
enum LSFeatureType(* featureTypeFromString)(struct LSLicenseFeature *self, const char *value)
bool(* isOveragesAllowed)(struct LSLicenseFeature *self)
LS_API struct LSLicenseFeature LSLicenseFeature
int32_t(* floatingTimeout)(struct LSLicenseFeature *self)
int(* totalConsumption)(struct LSLicenseFeature *self)
bool(* floatingIsExpired)(struct LSLicenseFeature *self)
int32_t(* floatingInUseCount)(struct LSLicenseFeature *self)
int32_t(* floatingUsers)(struct LSLicenseFeature *self)
LSFeatureType
Product feature type.
Definition: PODTypes.h:18
LS_API LSLicenseFeature * CreateLSLicenseFeature()
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
Definition: APIDef.h:22
struct tm(* floatingEndDateTimeUtc)(struct LSLicenseFeature *self)