1#ifndef LS_INSTALLATION_FILE_H
2#define LS_INSTALLATION_FILE_H
7#pragma warning( disable : 4251 )
28 if( channel !=
nullptr ) Channel = channel;
29 if( env !=
nullptr ) Environment = env;
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 )
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
Class that represents information on product installation file.
uint64_t size() const
Getter method for setup file size.
const std::string & environment() const
Getter method for setup file environment.
const std::string & channel() const
Getter method for setup file channel.
const std::string & releaseNotesLink() const
Getter method for setup file release notes link.
InstallationFile()
Default constructor, creates empty installation file.
const std::string & md5Hash() const
Getter method for setup file MD5 hash.
const std::string & eulaLink() const
Getter method for setup file End-User License Agreement link.
const std::string & releaseDate() const
Getter method for setup file release date.
const std::string & requiredVersion() const
Getter method for setup file required version.
const std::string & url() const
Getter method for setup file URL.
std::shared_ptr< InstallationFile > ptr_t
const std::string & version() const
Getter method for setup file version.
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.
Helper struct for filtering installation files by environment and channel.
std::string Environment
Environment for which installation file should be requested.
InstallFileFilter(const std::string &channel, const std::string &env=std::string())
Constructs filter with given channel and environment.
InstallFileFilter(const char *channel, const char *env=nullptr)
Constructs filter with given channel and environment from c-strings.
std::string Channel
Channel from where installation file should be requested.
InstallFileFilter()=default
Default constructor, creates empty filter. Corresponds to default channel and environment.