LicenseSpring C++ SDK
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{
22 InstallFileFilter() = default;
23
27 InstallFileFilter(const char *channel, const char *env = nullptr)
28 {
29 if (channel != nullptr)
30 Channel = channel;
31 if (env != nullptr)
32 Environment = env;
33 }
34
38 InstallFileFilter(const std::string &channel, const std::string &env = std::string())
39 : Channel(channel), Environment(env)
40 {
41 }
42
45 std::string Channel;
46
49 std::string Environment;
50};
51
57{
58public:
59 using ptr_t = std::shared_ptr<InstallationFile>;
60
62 InstallationFile() : m_size(0) {}
63
75 InstallationFile(const std::string &url, const std::string &version,
76 const std::string &requiredVersion, const std::string &md5hash,
77 const std::string &releaseDate, const std::string &environment, const std::string &eulaLink,
78 const std::string &releaseNotesLink, const std::string &channel, uint64_t size)
79 : m_url(url), m_version(version), m_requiredVersion(requiredVersion), m_md5hash(md5hash),
80 m_releaseDate(releaseDate), m_environment(environment), m_eulaLink(eulaLink),
81 m_releaseNotesLink(releaseNotesLink), m_channel(channel), m_size(size) {};
82
85 const std::string &url() const { return m_url; }
86
89 const std::string &version() const { return m_version; }
90
94 const std::string &requiredVersion() const { return m_requiredVersion; }
95
98 const std::string &md5Hash() const { return m_md5hash; }
99
102 const std::string &releaseDate() const { return m_releaseDate; }
103
106 const std::string &environment() const { return m_environment; }
107
110 const std::string &eulaLink() const { return m_eulaLink; }
111
114 const std::string &releaseNotesLink() const { return m_releaseNotesLink; }
115
118 const std::string &channel() const { return m_channel; }
119
122 uint64_t size() const { return m_size; }
123
124private:
125 std::string m_url;
126 std::string m_version;
127 std::string m_requiredVersion;
128 std::string m_md5hash;
129 std::string m_releaseDate;
130 std::string m_environment;
131 std::string m_eulaLink;
132 std::string m_releaseNotesLink;
133 std::string m_channel;
134 uint64_t m_size;
135};
136} // namespace LicenseSpring
137
138#ifdef _MSC_VER
139#pragma warning(pop)
140#endif
141
142#endif // LS_INSTALLATION_FILE_H
#define LS_API
Definition APIDef.h:23
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.