1 #ifndef LS_INSTALLATION_FILE_H
2 #define LS_INSTALLATION_FILE_H
6 #pragma warning( push )
7 #pragma warning( disable : 4251 )
14 namespace LicenseSpring
28 if( channel !=
nullptr ) Channel = channel;
29 if( env !=
nullptr ) Environment = env;
35 InstallFileFilter(
const std::string& channel,
const std::string& env = std::string() )
36 : Channel( channel ), Environment( env ) {}
54 using ptr_t = std::shared_ptr<InstallationFile>;
71 const std::string& requiredVersion,
const std::string& md5hash,
72 const std::string& releaseDate,
const std::string& environment,
73 const std::string& eulaLink,
const std::string& releaseNotesLink,
74 const std::string& channel, uint64_t size )
77 m_requiredVersion( requiredVersion ),
79 m_releaseDate( releaseDate ),
80 m_environment( environment ),
81 m_eulaLink( eulaLink ),
82 m_releaseNotesLink( releaseNotesLink ),
89 const std::string&
url()
const {
return m_url; }
93 const std::string&
version()
const {
return m_version; }
102 const std::string&
md5Hash()
const {
return m_md5hash; }
114 const std::string&
eulaLink()
const {
return m_eulaLink; }
122 const std::string&
channel()
const {
return m_channel; }
126 uint64_t
size()
const {
return m_size; }
130 std::string m_version;
131 std::string m_requiredVersion;
132 std::string m_md5hash;
133 std::string m_releaseDate;
134 std::string m_environment;
135 std::string m_eulaLink;
136 std::string m_releaseNotesLink;
137 std::string m_channel;
143 #pragma warning( pop )
146 #endif // LS_INSTALLATION_FILE_H
const std::string & requiredVersion() const
Getter method for setup file required version.
std::string Channel
Channel from where installation file should be requested.
Class that represents information on product installation file.
const std::string & eulaLink() const
Getter method for setup file End-User License Agreement link.
InstallationFile(const std::string &url, const std::string &version, const std::string &requiredVersion, const std::string &md5hash, const std::string &releaseDate, const std::string &environment, const std::string &eulaLink, const std::string &releaseNotesLink, const std::string &channel, uint64_t size)
Constructs InstallationFile with given data.
const std::string & url() const
Getter method for setup file URL.
const std::string & version() const
Getter method for setup file version.
const std::string & releaseDate() const
Getter method for setup file release date.
const std::string & md5Hash() const
Getter method for setup file MD5 hash.
const std::string & environment() const
Getter method for setup file environment.
std::string Environment
Environment for which installation file should be requested.
uint64_t size() const
Getter method for setup file size.
const std::string & releaseNotesLink() const
Getter method for setup file release notes link.
InstallFileFilter(const char *channel, const char *env=nullptr)
Constructs filter with given channel and environment from c-strings.
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
InstallationFile()
Default constructor, creates empty installation file.
const std::string & channel() const
Getter method for setup file channel.
std::shared_ptr< InstallationFile > ptr_t
Helper struct for filtering installation files by environment and channel.