1#ifndef LS_EXTENDED_OPTIONS_H
2#define LS_EXTENDED_OPTIONS_H
7#pragma warning( disable : 4251 )
30 void setIp(
const std::string& ip );
34 const std::string&
ip()
const;
38 void setMac(
const std::string& mac );
42 const std::string&
mac()
const;
53 std::string m_localIP;
54 std::string m_hostName;
55 std::string m_macAddress;
70 ProxySettings(
const std::string& proxy,
const std::string& user,
const std::string& password );
85 bool fetchProxySettings(
const std::string& serviceURL,
const std::string& credentialTarget,
bool throwExceptions =
false );
116 std::string m_proxyUri;
118 std::string m_password;
138 const std::string& hardwareID,
332 std::wstring m_licenseFilePath;
333 std::string m_hardwareID;
334 std::string m_serviceURL;
336 bool m_collectNetworkInfo;
337 bool m_enableVMDetection;
338 bool m_enableGuardFile;
339 bool m_enableSSLCheck;
341 bool m_enableLicenseCorruptionCheck;
342 uint32_t m_gracePeriod;
343 long m_networkTimeout;
344 long m_connectTimeout;
354#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.
std::shared_ptr< CryptoProvider > ptr_t
Class for storing useful settings that the Configuration object will inherit.
uint32_t getGracePeriod() const
Getter for grace period.
const std::string & getHardwareID() const
Get hardware ID.
~ExtendedOptions()
Destructor for ExtendedOptions.
void setUseNativeTLS(bool value)
Enable or disable native TLS for curl.
bool isLicenseCorruptionCheckEnabled() const
Checker for whether encrypted license data corruption checking is enabled.
bool isGuardFileEnabled() const
Checker for whether enableGuardFile() is enabled.
void overrideCryptoProvider(CryptoProvider::ptr_t cryptoProvider)
Setter for CryptoProvider.
void collectNetworkInfo(bool collect)
Collect network information.
DeviceIDAlgorithm getDeviceIdAlgorithm() const
Get device (hardware) id calculation algorithm.
const std::wstring & getLicenseFilePath() const
Get license file path.
void setGracePeriod(uint32_t value)
Setter for grace period.
void overrideNetworkInfo(const NetworkInfo &networkInfo)
Setter for NetworkInfo.
void setConnectTimeout(long timeout)
Setter for connect timeout, used for CURLOPT_CONNECTTIMEOUT option.
CryptoProvider::ptr_t getCryptoProvider()
Getter for CryptoProvider.
void setProxySettings(const ProxySettings &settings)
Setter for proxy settings.
bool isLoggingEnabled() const
Checker for whether enableLogging() is enabled.
void setLicenseFilePath(const std::wstring &filePath)
Set license file path.
bool isNativeTLSEnabled() const
Checker for whether native TLS for curl enabled or not.
void setHardwareID(const std::string &ID)
Setter for hardware ID.
bool isVMDetectionEnabled() const
Checker for whether enableVMDetection() is enabled.
void enableGuardFile(bool enable)
Enable guard file.
void setAlternateKey(const std::vector< int32_t > &key)
Set alternate public key.
void enableVMDetection(bool enable)
Enable VM detection.
long getNetworkTimeout() const
Getter for network timeout.
const NetworkInfo & getNetworkInfo() const
Getter for network info.
void enableSSLCheck(bool enable)
Enable or disable SSL certificate verification.
long getConnectTimeout() const
Getter for connect timeout, used for CURLOPT_CONNECTTIMEOUT option.
const std::string & getAlternateKey() const
Getter for alternate License API URL.
const ProxySettings & getProxySettings() const
Getter for proxy settings.
void setAlternateServiceURL(const std::string &URL)
This method can be used if you are planning to deploy self-hosted server.
ExtendedOptions(const std::wstring &licenseFilePath, const std::string &hardwareID, const ProxySettings &proxy=ProxySettings())
Constructor for ExtendedOptions.
void enableLicenseCorruptionCheck(bool enable)
Enable or disable encrypted license data corruption checking.
void setDeviceIdAlgorithm(DeviceIDAlgorithm algorithm)
Allows to choose device (hardware) id calculation algorithm.
ExtendedOptions(const std::wstring &licenseFilePath)
Constructor for ExtendedOptions.
bool isCollectNetworkInfoEnabled() const
Checker for whether collectNetworkInfo() is enabled.
void enableLogging(bool enable)
Enable logging.
ExtendedOptions()
Default constructor for ExtendedOptions.
const std::string & getAlternateServiceURL() const
Getter for alternate License API URL.
void setNetworkTimeout(long timeout)
Setter for network timeout.
void setAlternateKey(const int32_t *key, std::size_t size)
Set alternate public key.
bool isSSLCheckEnabled() const
Checker for whether SSL certificate verification is enabled.
void setAlternateKey(const std::string &key)
Set alternate public key. This method can be used if you are planning to deploy self-hosted server.
Class for storing a device's network information.
const std::string & mac() const
Getter for MAC address.
void setIp(const std::string &ip)
Setter for IP address.
void setHostName(const std::string &hostName)
Setter for host name.
NetworkInfo()=default
Constructor for networkInfo.
const std::string & ip() const
Getter for IP address.
const std::string & hostName() const
Getter for host name.
void setMac(const std::string &mac)
Setter for MAC address.
~NetworkInfo()
Destructor for networkInfo.
Class for storing settings when using a proxy server.
void setUser(const std::string &user)
Setter for proxy user.
bool fetchProxySettings(const std::string &serviceURL, const std::string &credentialTarget, bool throwExceptions=false)
Automatically fetch proxy URI and credentials.
~ProxySettings()
Destructor for proxy settings.
const std::string & getProxyUri() const
Getter for proxy URI.
const std::string & getPassword() const
Getter for password.
const std::string & getUser() const
Getter for proxy user.
bool isValid() const
Checker for if proxy URI is specified (i.e. not empty).
void setProxyUri(const std::string &uri)
Setter for proxy URI.
void setPassword(const std::string &password)
Setter for password.
ProxySettings(const std::string &proxy, const std::string &user, const std::string &password)
Constructor for proxy settings.
ProxySettings()=default
Default constructor for proxy settings.