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
7extern "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
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
103 const char *clientSecret, const char *productCode, const char *appName,
104 const char *appVersion, LSExtendedOptions *extendedOptions);
105
107
108#ifdef __cplusplus
109} // end extern "C"
110#endif
111
112#endif // LS_C_CONFIGURATION_H
#define LS_API
Definition: APIDef.h:23
LS_API void FreeLSConfiguration(LSConfiguration *config)
LS_API LSConfiguration * CreateLSConfiguration(const char *apiKey, const char *sharedKey, const char *productCode, const char *appName, const char *appVersion, LSExtendedOptions *extendedOptions)
LS_API LSConfiguration * CreateLSConfigurationOAuth(const char *clientId, const char *clientSecret, const char *productCode, const char *appName, const char *appVersion, LSExtendedOptions *extendedOptions)
LS_API struct LSConfiguration LSConfiguration
bool(* isVMDetectionEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:87
void(* setAirGapPublicKey)(struct LSConfiguration *self, const char *airGapKey)
Definition: Configuration.h:77
long(* getConnectTimeout)(struct LSConfiguration *self)
Definition: Configuration.h:64
bool(* isCollectNetworkInfoEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:45
void(* setConnectTimeout)(struct LSConfiguration *self, long timeoutValue)
Definition: Configuration.h:66
void(* setNetworkTimeout)(struct LSConfiguration *self, long timeoutValue)
Definition: Configuration.h:61
bool(* isNativeTLSEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:53
void(* setUserInfo)(struct LSConfiguration *self, const char *customInfo)
Definition: Configuration.h:35
uint32_t(* getGracePeriod)(struct LSConfiguration *self)
Definition: Configuration.h:57
void(* setCustomerAccount)(struct LSConfiguration *self, const char *accountCode)
Definition: Configuration.h:33
bool(* isGuardFileEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:49
bool(* isLicenseCorruptionCheckEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:55
bool(* isVM)(struct LSConfiguration *self)
Definition: Configuration.h:89
long(* getNetworkTimeout)(struct LSConfiguration *self)
Definition: Configuration.h:59
bool(* isSSLCheckEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:51
bool(* isLoggingEnabled)(struct LSConfiguration *self)
Definition: Configuration.h:47
unsigned long(* getLicenseSpringAPIVersion)(struct LSConfiguration *self)
Definition: Configuration.h:71