HxVersion Class¶
-
class HxVersion¶
Version, license and copyright info.
In addition to library version information, this class lets you control which licenses are used when any new
HexalyOptimizerobject is created. With the right methods, you can dynamically load licenses that are not in the default locations, or easily switch from local to cloud execution in a single line. These license changes will only be taken into account for newHexalyOptimizerobjects, and has no impact on existing ones.There are two ways to change the license used:
Directly specify the contents of the license file. This is done via the
HxVersion::getLicenseContent()andHxVersion::setLicenseContent()methods.Or by changing the license path using the
HxVersion::getLicensePath()andHxVersion::setLicensePath()methods.
When both methods are used, the content always takes precedence over the path. In other words, if the
HxVersion::getLicenseContent()method returns a string that is not empty, this content will be used instead of the path returned byHxVersion::getLicensePath().When the HexalyOptimizer library is loaded, the
licenseContentandlicensePathfields are automatically populated with default values.The
licenseContentfield is automatically populated based on the following information (in order of priority):The contents of the
HX_LICENSE_CONTENTenvironment variable, if defined.The contents of the
LS_LICENSE_CONTENTenvironment variable, if defined. Its use has been deprecated since Hexaly 13.0.An empty string.
The
LicensePathfield is populated using the following information (in order of priority):The contents of the
HX_LICENSE_PATHenvironment variable, if defined.The contents of the
LS_LICENSE_PATHenvironment variable, if defined. Its use has been deprecated since Hexaly 13.0.If a file named
license.datexists in the current execution folder, the absolute path to this file.The path to c:\hexaly_14_0\license.dat on Windows, or /opt/hexaly_14_0/license.dat on Linux and macOS if such a file exists.
The path to the file
c:\hexaly\license.daton Windows or/opt/hexaly/license.daton Linux and macOS if such a file exists.The path to the file
c:\\localsolver\\license.daton Windows or/opt/localsolver/license.daton Linux and macOS if such a file exists. Note that the use of this file has been deprecated since Hexaly 13.0.If none of these files exist,
licensePathis populated with the default path c:\hexaly_14_0\license.dat on Windows, or /opt/hexaly_14_0/license.dat on Linux and macOS.
For windows users: If you used the installer to setup Hexaly, the
HX_LICENSE_PATHenvironment variable is already defined and points to the license file present in the installation folder.
Summary¶
Returns Hexaly Optimizer major version number. |
|
Returns Hexaly Optimizer minor version number. |
|
Returns Hexaly Optimizer build date. |
|
Returns the platform of the Hexaly Optimizer binary as a string. |
|
Returns Hexaly Optimizer version as a string. |
|
Returns Hexaly Optimizer version code as an integer in the range [0, 29999]. |
|
Returns Hexaly Optimizer copyright as a string. |
|
Returns version and copyright info as a string. |
|
Returns the license path of Hexaly Optimizer. |
|
Change the license path used by Hexaly Optimizer. |
|
Returns the license content previously set with HxVersion::setLicenseContent() or the HX_LICENSE_CONTENT environment variable. |
|
Change the license content that will be used for all new HexalyOptimizer objects. |
|
Returns the code of the maximum version supported by the current license. |
|
Returns the expiration date of the current license. |
Functions¶
-
static int HxVersion::getMajorVersionNumber()¶
Returns Hexaly Optimizer major version number. This number is an integer in the range [0, 2999].
- Returns:
Major version number.
-
static int HxVersion::getMinorVersionNumber()¶
Returns Hexaly Optimizer minor version number. This number is an integer in the range [0, 9].
- Returns:
Minor version number.
-
static int HxVersion::getBuildDate()¶
Returns Hexaly Optimizer build date. This number is an integer YYYYMMDD with YYYY the year, MM the month, DD the day.
- Returns:
Build date.
-
static std::string HxVersion::getPlatform()¶
Returns the platform of the Hexaly Optimizer binary as a string. The format of the string is PPPPXX where PPPP is the platform (Win, Linux or MacOS) and XX is the architecture (32 or 64 bits).
- Returns:
Platform as string.
- Since:
3.0
-
static std::string HxVersion::getVersion()¶
Returns Hexaly Optimizer version as a string. The format of the string is: MA.MI.YYYYMMDD-PPPPXX with MA the major number version, MI the minor number version, YYYY the year, MM the month, DD the day, PPPP the platform (Win, Linux or MacOS) and XX the architecture.
- Returns:
Version as string “MA.MI.YYYYMMDD-PPPPXX”.
-
static int HxVersion::getVersionCode()¶
Returns Hexaly Optimizer version code as an integer in the range [0, 29999]. The version code is computed as follows: MA * 10 + MI with MA the major number version, MI the minor number version.
- Returns:
Version code.
-
static std::string HxVersion::getCopyright()¶
Returns Hexaly Optimizer copyright as a string.
- Returns:
Copyright notice.
-
static std::string HxVersion::getInfo()¶
Returns version and copyright info as a string.
- Returns:
Version and copyright info.
-
static std::string HxVersion::getLicensePath()¶
Returns the license path of Hexaly Optimizer. This path will be used for any new
HexalyOptimizerobject. Existing objects will not be affected by the path change.This method returns the value specified by the user if
HxVersion::setLicensePath()was called. Otherwise, a default value is returned. This default value is described at the top of this document.- Returns:
Path to the license
- See:
- See:
- See:
- Since:
3.0
-
static void HxVersion::setLicensePath(const std::string &licensePath)¶
Change the license path used by Hexaly Optimizer. This path will be used for any new
HexalyOptimizerobject. Existing objects will not be affected by the path change.- Parameters:
licensePath – new path for the license
- See:
- See:
- See:
- Since:
3.0
-
static std::string HxVersion::getLicenseContent()¶
Returns the license content previously set with
HxVersion::setLicenseContent()or theHX_LICENSE_CONTENTenvironment variable. The license content will be used for all newHexalyOptimizerobject. Existing objects will not be affected by the change.- See:
- See:
- See:
- Since:
5.0
- Returns:
The content of the license or an empty string if the content was not set.
-
static void HxVersion::setLicenseContent(const std::string &licenseContent)¶
Change the license content that will be used for all new
HexalyOptimizerobjects. Existing objects will not be affected by the change.The content passed as a parameter must be the complete license content as it appears in your file, e.g.
LICENSE_KEY = XXXXwhereXXXXis your license number. The content may include several lines.- Parameters:
licenseContent – content of the license to use.
- See:
- See:
- See:
- Since:
5.0
-
static int HxVersion::getLicenseMaxVersionCode()¶
Returns the code of the maximum version supported by the current license. The current license is the one that will be used for any new
HexalyOptimizerobject. It is determined according to the priority order defined at the top of this document.The version code is computed as follows:
MA * 10 + MIwithMAthe major number version,MIthe minor number version.This method does not work for cloud licenses. In that case, an exception will be thrown. An exception will also be thrown if the current license does not exist, or if it is not well-formed or cannot be found.
- Since:
14.0
-
static time_t HxVersion::getLicenseExpirationDate()¶
Returns the expiration date of the current license. The current license is the one that will be used for any new
HexalyOptimizerobject. It is determined according to the priority order defined at the top of this document. The expiration date is always expressed in local time (i.e. without time zone information).This method does not work for cloud licenses. In that case, an exception will be thrown. An exception will also be thrown if the current license does not exist, or if it is not well-formed or cannot be found.
- Since:
14.0