summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/base')
-rw-r--r--rbutil/rbutilqt/base/serverinfo.cpp14
-rw-r--r--rbutil/rbutilqt/base/serverinfo.h21
2 files changed, 25 insertions, 10 deletions
diff --git a/rbutil/rbutilqt/base/serverinfo.cpp b/rbutil/rbutilqt/base/serverinfo.cpp
index 544348c3b1..08f7f770b7 100644
--- a/rbutil/rbutilqt/base/serverinfo.cpp
+++ b/rbutil/rbutilqt/base/serverinfo.cpp
@@ -21,7 +21,15 @@
21#include "systeminfo.h" 21#include "systeminfo.h"
22#include "Logger.h" 22#include "Logger.h"
23 23
24static QSettings* serverSettings = nullptr; 24ServerInfo* ServerInfo::infoInstance = nullptr;
25
26ServerInfo* ServerInfo::instance()
27{
28 if (infoInstance == nullptr) {
29 infoInstance = new ServerInfo();
30 }
31 return infoInstance;
32}
25 33
26// server infos 34// server infos
27const static struct { 35const static struct {
@@ -131,10 +139,10 @@ QVariant ServerInfo::platformValue(enum ServerInfos info, QString platform)
131 return value; 139 return value;
132} 140}
133 141
134QString ServerInfo::statusToString(int status) 142QString ServerInfo::statusAsString(QString platform)
135{ 143{
136 QString value; 144 QString value;
137 switch(status) 145 switch(platformValue(CurStatus, platform).toInt())
138 { 146 {
139 case STATUS_RETIRED: 147 case STATUS_RETIRED:
140 value = tr("Stable (Retired)"); 148 value = tr("Stable (Retired)");
diff --git a/rbutil/rbutilqt/base/serverinfo.h b/rbutil/rbutilqt/base/serverinfo.h
index e8d7cd5b74..9affcb6032 100644
--- a/rbutil/rbutilqt/base/serverinfo.h
+++ b/rbutil/rbutilqt/base/serverinfo.h
@@ -18,6 +18,9 @@
18 * 18 *
19 ****************************************************************************/ 19 ****************************************************************************/
20 20
21// Parse and provide information from build server via build-info file.
22// This is a singleton.
23
21#ifndef SERVERINFO_H 24#ifndef SERVERINFO_H
22#define SERVERINFO_H 25#define SERVERINFO_H
23 26
@@ -47,17 +50,21 @@ class ServerInfo : public QObject
47 RelCandidateUrl, 50 RelCandidateUrl,
48 }; 51 };
49 52
53 static ServerInfo* instance();
54
50 //! read in buildinfo file 55 //! read in buildinfo file
51 static void readBuildInfo(QString file); 56 void readBuildInfo(QString file);
52 //! get a value from server info for a named platform. 57 //! get a value from server info for a named platform.
53 static QVariant platformValue(enum ServerInfos setting, QString platform = ""); 58 QVariant platformValue(enum ServerInfos setting, QString platform = "");
54 //! Convert status number to string 59 //! Get status number as string
55 static QString statusToString(int status); 60 QString statusAsString(QString platform = "");
56 61
57 private: 62 protected:
58 //! you shouldnt call this, its a fully static class 63 ServerInfo() : serverSettings(nullptr) {}
59 ServerInfo() {}
60 64
65 private:
66 static ServerInfo* infoInstance;
67 QSettings* serverSettings;
61 68
62}; 69};
63 70