1#ifndef LS_CONFIGURATION_H
2#define LS_CONFIGURATION_H
7#pragma warning( disable : 4251 )
20 using ptr_t = std::shared_ptr<Configuration>;
37 const std::string& sharedKey,
38 const std::string& productCode,
39 const std::string& appName,
40 const std::string& appVersion,
54 const std::string& clientSecret,
55 const std::string& productCode,
56 const std::string& appName,
57 const std::string& appVersion,
252 std::string m_apiKey;
253 std::string m_sharedKey;
254 std::string m_clientId;
255 std::string m_clientSecret;
256 std::string m_productCode;
257 std::string m_customerAccount;
258 std::string m_appName;
259 std::string m_appVersion;
260 std::string m_userInfo;
261 std::string m_airGapPublicKey;
267#pragma warning( pop )
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
DeviceIDAlgorithm
Type of Device ID algorithm used by the SDK.
Class for configuring application.
std::shared_ptr< Configuration > ptr_t
const std::string & getAirGapPublicKey() const
Getter for air gap public key.
bool isVM() const
Checker for whether the user is on a virtual machine.
bool isOAuth() const
Checker if authn is done with OAuth.
const std::string & getApiKey() const
Getter for API key (UUID).
const std::string & getIP() const
Getter for IP Address.
void setDeviceIdAlgorithm(DeviceIDAlgorithm algorithm)
Setter for DeviceIDAlgorithm.
const std::string & getAppName() const
Getter for application name.
bool isCollectNetworkInfoEnabled() const
Checker for if collection of network information is enabled in ExtendedOptions.
const NetworkInfo & getNetworkInfo() const
Getter for Network Information.
long getNetworkTimeout() const
Getter for network timeout.
uint32_t getGracePeriod() const
Getter for grace period.
long getConnectTimeout() const
Getter for connect timeout, used for CURLOPT_CONNECTTIMEOUT option.
CryptoProvider::ptr_t getCryptoProvider()
Getter for crypto provider.
const std::string & getClientId() const
Getter for OAuth client ID.
void setConnectTimeout(long timeoutValue)
Setter for connect timeout, used for CURLOPT_CONNECTTIMEOUT option.
const ProxySettings & getProxySettings() const
Getter for ProxySettings object.
const std::wstring & getLicenseFilePath() const
This method is obsolete! Return license file path that was set through ExtendedOptions or empty strin...
const std::string & getHardwareID()
Getter for device id.
bool isLoggingEnabled() const
Checker for if logging is enabled in ExtendedOptions.
const std::string & getSdkVersion() const
Getter for LicenseSpring SDK version.
Configuration()=default
Constructor for internal needs, use Create instead.
const std::string & getMAC() const
Getter for MAC Address.
void setUserInfo(const std::string &customInfo)
Set custom information to be passed to the backend with all API requests.
bool isGuardFileEnabled() const
Checker for whether guard file usage is enabled in ExtendedOptions.
const std::string & getOsVersion() const
Getter for Operating System version.
bool isLicenseCorruptionCheckEnabled() const
Checker for whether encrypted license data corruption checking is enabled or not.
void setHardwareID(const std::string &deviceId)
Setter for device id.
const std::string & getUserInfo() const
Returns custom information to be passed along with all API requests.
void setCustomerAccount(const std::string &accountCode)
Set customer group (account) code that is required for SSO.
const std::string & getSharedKey() const
Getter for shared key.
bool isNativeTLSEnabled() const
Checker for whether native TLS for curl enabled or not.
const std::string & getHostName() const
Getter for Host Name.
bool isSSLCheckEnabled() const
Checker for whether SSL certificate verification is enabled.
const std::string & getDetectedVMName() const
Getter for hypervisor name, calls isVM first if not yet called.
const std::string & getAlternateKey() const
Getter for alternate public key.
static ptr_t CreateOAuth(const std::string &clientId, const std::string &clientSecret, const std::string &productCode, const std::string &appName, const std::string &appVersion, const ExtendedOptions &extendedOptions=ExtendedOptions())
Creates shared pointer for configuration object, used for OAuth authentication.
bool isVMDetectionEnabled() const
Checker for whether Virtual Machine Detection is enabled.
const std::string & getAlternateServiceUrl() const
Getter for alternate service URL.
void setAirGapPublicKey(const std::string &key)
Setter for air gap public key.
const std::string & getAppVersion() const
Getter for application version.
const std::string & getCustomerAccount() const
Returns customer group (account) code that is required for SSO.
const std::string & getClientSecret() const
Getter for OAuth client secret.
static ptr_t Create(const std::string &apiKey, const std::string &sharedKey, const std::string &productCode, const std::string &appName, const std::string &appVersion, const ExtendedOptions &extendedOptions=ExtendedOptions())
Creates shared pointer for configuration object, used for standard authentication with API and shared...
void setNetworkTimeout(long timeoutValue)
Setter for network timeout.
uint32_t getLicenseSpringAPIVersion() const
Getter for LicenseSpring API version.
const std::string & getProductCode() const
Getter for product code.
std::shared_ptr< CryptoProvider > ptr_t
Class for storing useful settings that the Configuration object will inherit.
Class for storing a device's network information.
Class for storing settings when using a proxy server.