LicenseSpring C++ SDK 7.31.0
Easily add Software Licensing to your application
Loading...
Searching...
No Matches
InstallationFile.h
Go to the documentation of this file.
1#ifndef LS_INSTALLATION_FILE_H
2#define LS_INSTALLATION_FILE_H
3
4#ifdef _MSC_VER
5#pragma once
6#pragma warning( push )
7#pragma warning( disable : 4251 )
8#endif
9
10#include <string>
11#include <memory>
12#include "APIDef.h"
13
14namespace LicenseSpring
15{
19 {
21 InstallFileFilter() = default;
22
26 InstallFileFilter( const char* channel, const char* env = nullptr )
27 {
28 if( channel != nullptr ) Channel = channel;
29 if( env != nullptr ) Environment = env;
30 }
31
35 InstallFileFilter( const std::string& channel, const std::string& env = std::string() )
36 : Channel( channel ), Environment( env ) {}
37
40 std::string Channel;
41
44 std::string Environment;
45 };
46
47
52 {
53 public:
54 using ptr_t = std::shared_ptr<InstallationFile>;
55
57 InstallationFile() : m_size( 0 ) {}
58
70 InstallationFile( const std::string& url, const std::string& version,
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 )
75 : m_url( url ),
76 m_version( version ),
77 m_requiredVersion( requiredVersion ),
78 m_md5hash( md5hash ),
79 m_releaseDate( releaseDate ),
80 m_environment( environment ),
81 m_eulaLink( eulaLink ),
82 m_releaseNotesLink( releaseNotesLink ),
83 m_channel( channel ),
84 m_size( size )
85 {};
86
89 const std::string& url() const { return m_url; }
90
93 const std::string& version() const { return m_version; }
94
98 const std::string& requiredVersion() const { return m_requiredVersion; }
99
102 const std::string& md5Hash() const { return m_md5hash; }
103
106 const std::string& releaseDate() const { return m_releaseDate; }
107
110 const std::string& environment() const { return m_environment; }
111
114 const std::string& eulaLink() const { return m_eulaLink; }
115
118 const std::string& releaseNotesLink() const { return m_releaseNotesLink; }
119
122 const std::string& channel() const { return m_channel; }
123
126 uint64_t size() const { return m_size; }
127
128 private:
129 std::string m_url;
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;
138 uint64_t m_size;
139 };
140}
141
142#ifdef _MSC_VER
143#pragma warning( pop )
144#endif
145
146#endif // LS_INSTALLATION_FILE_H
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
Definition APIDef.h:22
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.