Krotos Modules 3
Loading...
Searching...
No Matches
VersionChecker.h
Go to the documentation of this file.
1#pragma once
2
3namespace krotos
4{
9 class VersionChecker : public Thread, public Thread::Listener
10 {
11 public:
13 class Version
14 {
15 public:
18 Version(String versionString);
19
27
28 enum eRtn
29 {
30 LT = -1,
32 GT
33 };
34
35 // Compare this with v and return LT, EQUAL, GT for 'this' compared to v.
37 bool parseString(String versionString);
38 bool isValid() { return m_isValid; }
39
40 String toString();
41
43
44 private:
45 bool m_isValid{false};
46 };
47
48 VersionChecker(String pluginVersion, URL versionUrl, URL popupTextUrl, String versionFilePath);
49
51
53 void testHelper();
54
56 void runCheck();
57
60
69
72
74 String getUpdateText() { return m_updateText; }
75
78
81
83 bool isNewerVersion(Version testVersion);
84
86 bool isVersionInDontCheckFile(Version version);
89
98
99 void setLatestVersion(String v) { m_latestVersion = v; }
100
102 std::function<void(bool)> onFinished;
103
104 private:
106
108 void run() override;
110 void exitSignalSent() override;
111
112 std::atomic<bool> m_updateAvailable{false};
113
115
117
119
120 JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(VersionChecker)
121 };
122} // namespace krotos
Definition VersionChecker.h:14
String toString()
Definition VersionChecker.cpp:39
bool parseString(String versionString)
Definition VersionChecker.cpp:6
VERSION_FIELDS
Definition VersionChecker.h:21
@ NUM_FIELDS
Definition VersionChecker.h:25
@ MAJOR
Definition VersionChecker.h:22
@ REVISION
Definition VersionChecker.h:24
@ MINOR
Definition VersionChecker.h:23
Version()
Definition VersionChecker.h:16
bool m_isValid
Definition VersionChecker.h:45
eRtn compare(Version v)
Definition VersionChecker.cpp:25
bool isValid()
Definition VersionChecker.h:38
int m_version[NUM_FIELDS]
Definition VersionChecker.h:42
eRtn
Definition VersionChecker.h:29
@ GT
Definition VersionChecker.h:32
@ EQUAL
Definition VersionChecker.h:31
@ LT
Definition VersionChecker.h:30
Definition VersionChecker.h:10
void setLatestVersion(String v)
Definition VersionChecker.h:99
String m_versionFilePath
Definition VersionChecker.h:105
URL m_updateTextUrl
Definition VersionChecker.h:114
Version m_latestVersion
Definition VersionChecker.h:116
void exitSignalSent() override
Definition VersionChecker.cpp:173
bool isVersionInDontCheckFile(Version version)
Definition VersionChecker.cpp:105
void runCheck()
Definition VersionChecker.cpp:88
String getUpdateText()
Definition VersionChecker.h:74
bool resetDoNotCheckStatus()
Resets the user's "do not check" or "not now" status if they opted to skip the next version....
Definition VersionChecker.cpp:197
void run() override
Definition VersionChecker.cpp:130
std::atomic< bool > m_updateAvailable
Definition VersionChecker.h:112
std::function< void(bool)> onFinished
Definition VersionChecker.h:102
bool updateLatestVersion()
Definition VersionChecker.cpp:90
eReturn doRemoteVersionCheck()
Definition VersionChecker.cpp:155
Version m_pluginVersion
Definition VersionChecker.h:116
VersionChecker(String pluginVersion, URL versionUrl, URL popupTextUrl, String versionFilePath)
Definition VersionChecker.cpp:52
String getLatestVersionAsString()
Definition VersionChecker.h:77
String m_updateText
Definition VersionChecker.h:118
bool isNewerVersion(Version testVersion)
Definition VersionChecker.cpp:96
String m_dontCheckForUpdatesPath
Definition VersionChecker.h:118
~VersionChecker()
Definition VersionChecker.cpp:68
void storeRetrievedVersionId()
Definition VersionChecker.cpp:179
URL m_downloadLink
Definition VersionChecker.h:114
bool dontCheckFileExists()
Definition VersionChecker.cpp:124
eReturn
Definition VersionChecker.h:63
@ UPDATE_AVAILABLE
Definition VersionChecker.h:65
@ IS_UP_TO_DATE
Definition VersionChecker.h:64
@ CONNECTION_ERROR
Definition VersionChecker.h:66
@ MAX_RETURN
Definition VersionChecker.h:67
void testHelper()
Definition VersionChecker.cpp:70
URL m_versionUrl
Definition VersionChecker.h:114
Definition AirAbsorptionFilter.cpp:2