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 );
104 std::string m_proxyUri;
106 std::string m_password;
126 const std::string& hardwareID,
300 std::wstring m_licenseFilePath;
301 std::string m_hardwareID;
302 std::string m_serviceURL;
304 bool m_collectNetworkInfo;
305 bool m_enableVMDetection;
306 bool m_enableGuardFile;
307 bool m_enableSSLCheck;
309 uint32_t m_gracePeriod;
310 long m_networkTimeout;
320#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 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.
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.
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 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.
~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.