LicenseSpring C++ SDK
Easily add Software Licensing to your application
Configuration.h
Go to the documentation of this file.
1 #ifndef LS_C_CONFIGURATION_H
2 #define LS_C_CONFIGURATION_H
3 
4 #include "ExtendedOptions.h"
5 
6 #ifdef __cplusplus
7 extern "C"
8 {
9 #endif
10 
11  LS_API typedef struct LSConfiguration
12  {
13  void *inner;
14 
15  const char *(*getApiKey)(struct LSConfiguration *self);
16 
17  const char *(*getSharedKey)(struct LSConfiguration *self);
18 
19  const char *(*getClientId)(struct LSConfiguration *self);
20 
21  const char *(*getClientSecret)(struct LSConfiguration *self);
22 
23  const char *(*getProductCode)(struct LSConfiguration *self);
24 
25  const char *(*getAppName)(struct LSConfiguration *self);
26 
27  const char *(*getAppVersion)(struct LSConfiguration *self);
28 
29  const char *(*getCustomerAccount)(struct LSConfiguration *self);
30 
31  const char *(*getUserInfo)(struct LSConfiguration *self);
32 
33  void (*setCustomerAccount)(struct LSConfiguration *self, const char *accountCode);
34 
35  void (*setUserInfo)(struct LSConfiguration *self, const char *customInfo);
36 
37  const wchar_t *(*getLicenseFilePath)(struct LSConfiguration *self);
38 
39  const char *(*getAlternateServiceUrl)(struct LSConfiguration *self);
40 
41  const char *(*getAlternateKey)(struct LSConfiguration *self);
42 
43  const char *(*getHardwareID)(struct LSConfiguration *self);
44 
46 
47  bool (*isLoggingEnabled)(struct LSConfiguration *self);
48 
49  bool (*isGuardFileEnabled)(struct LSConfiguration *self);
50 
51  bool (*isSSLCheckEnabled)(struct LSConfiguration *self);
52 
53  bool (*isNativeTLSEnabled)(struct LSConfiguration *self);
54 
56 
57  uint32_t (*getGracePeriod)(struct LSConfiguration *self);
58 
59  long (*getNetworkTimeout)(struct LSConfiguration *self);
60 
62  struct LSConfiguration *self, long timeoutValue); // in seconds, 0 means no timeout
63 
64  long (*getConnectTimeout)(struct LSConfiguration *self);
65 
67  struct LSConfiguration *self, long timeoutValue); // in seconds, 0 means 300 seconds
68 
69  const LSProxySettings *(*getProxySettings)(struct LSConfiguration *self);
70 
71  unsigned long (*getLicenseSpringAPIVersion)(struct LSConfiguration *self);
72 
73  const char *(*getSdkVersion)(struct LSConfiguration *self);
74 
75  const char *(*getAirGapPublicKey)(struct LSConfiguration *self);
76 
77  void (*setAirGapPublicKey)(struct LSConfiguration *self, const char *airGapKey);
78 
79  const char *(*getOsVersion)(struct LSConfiguration *self);
80 
81  const char *(*getHostName)(struct LSConfiguration *self); // note: string is UTF-8 encoded
82 
83  const char *(*getIP)(struct LSConfiguration *self);
84 
85  const char *(*getMAC)(struct LSConfiguration *self);
86 
87  bool (*isVMDetectionEnabled)(struct LSConfiguration *self);
88 
89  bool (*isVM)(
90  struct LSConfiguration *self); // in case VM detection enabled returns true if app
91  // currently running in virtualized environment
92 
93  const char *(*getDetectedVMName)(
94  struct LSConfiguration *self); // return hypervisor name or empty string
95 
97 
98  LS_API LSConfiguration *CreateLSConfiguration(const char *apiKey, const char *sharedKey,
99  const char *productCode, const char *appName, const char *appVersion,
100  LSExtendedOptions *extendedOptions);
101 
102  LS_API LSConfiguration *CreateLSConfigurationOAuth(const char *clientId,
103  const char *clientSecret, const char *productCode, const char *appName,
104  const char *appVersion, LSExtendedOptions *extendedOptions);
105 
106  LS_API void FreeLSConfiguration(LSConfiguration *config);
107 
108 #ifdef __cplusplus
109 } // end extern "C"
110 #endif
111 
112 #endif // LS_C_CONFIGURATION_H
bool(* isVM)(struct LSConfiguration *self)
Definition: Configuration.h:89
void(* setCustomerAccount)(struct LSConfiguration *self, const char *accountCode)
Definition: Configuration.h:33
void(* setConnectTimeout)(struct LSConfiguration *self, long timeoutValue)
Definition: Configuration.h:66
LS_API LSConfiguration * CreateLSConfiguration(const char *apiKey, const char *sharedKey, const char *productCode, const char *appName, const char *appVersion, LSExtendedOptions *extendedOptions)
bool(* isNativeTLSEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:53
uint32_t(* getGracePeriod)(struct LSConfiguration *self)
Definition: Configuration.h:57
bool(* isLoggingEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:47
unsigned long(* getLicenseSpringAPIVersion)(struct LSConfiguration *self)
Definition: Configuration.h:71
LS_API LSConfiguration * CreateLSConfigurationOAuth(const char *clientId, const char *clientSecret, const char *productCode, const char *appName, const char *appVersion, LSExtendedOptions *extendedOptions)
long(* getNetworkTimeout)(struct LSConfiguration *self)
Definition: Configuration.h:59
void(* setNetworkTimeout)(struct LSConfiguration *self, long timeoutValue)
Definition: Configuration.h:61
bool(* isLicenseCorruptionCheckEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:55
void(* setAirGapPublicKey)(struct LSConfiguration *self, const char *airGapKey)
Definition: Configuration.h:77
bool(* isSSLCheckEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:51
LS_API struct LSConfiguration LSConfiguration
long(* getConnectTimeout)(struct LSConfiguration *self)
Definition: Configuration.h:64
bool(* isGuardFileEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:49
#define LS_API
Definition: APIDef.h:23
bool(* isCollectNetworkInfoEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:45
LS_API void FreeLSConfiguration(LSConfiguration *config)
bool(* isVMDetectionEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:87
void(* setUserInfo)(struct LSConfiguration *self, const char *customInfo)
Definition: Configuration.h:35