diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-11-19 19:54:25 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2020-11-19 21:32:41 +0100 |
commit | f608de723c863abc0e32cd7584c046eceb910d78 (patch) | |
tree | 030cf71ffd37729b189b0731bdbb70b96943a403 /rbutil/rbutilqt/base | |
parent | f8fb4274ee56025551ddad84232c02c2a49dfcce (diff) | |
download | rockbox-f608de723c863abc0e32cd7584c046eceb910d78.tar.gz rockbox-f608de723c863abc0e32cd7584c046eceb910d78.zip |
rbutil: Convert ServerInfo to singleton.
Change-Id: I29d94eb6bae084754e5e3f337c41de8354ba123c
Diffstat (limited to 'rbutil/rbutilqt/base')
-rw-r--r-- | rbutil/rbutilqt/base/serverinfo.cpp | 14 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/serverinfo.h | 21 |
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 @@ #include "systeminfo.h" #include "Logger.h" -static QSettings* serverSettings = nullptr; +ServerInfo* ServerInfo::infoInstance = nullptr; + +ServerInfo* ServerInfo::instance() +{ + if (infoInstance == nullptr) { + infoInstance = new ServerInfo(); + } + return infoInstance; +} // server infos const static struct { @@ -131,10 +139,10 @@ QVariant ServerInfo::platformValue(enum ServerInfos info, QString platform) return value; } -QString ServerInfo::statusToString(int status) +QString ServerInfo::statusAsString(QString platform) { QString value; - switch(status) + switch(platformValue(CurStatus, platform).toInt()) { case STATUS_RETIRED: 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 @@ * ****************************************************************************/ +// Parse and provide information from build server via build-info file. +// This is a singleton. + #ifndef SERVERINFO_H #define SERVERINFO_H @@ -47,17 +50,21 @@ class ServerInfo : public QObject RelCandidateUrl, }; + static ServerInfo* instance(); + //! read in buildinfo file - static void readBuildInfo(QString file); + void readBuildInfo(QString file); //! get a value from server info for a named platform. - static QVariant platformValue(enum ServerInfos setting, QString platform = ""); - //! Convert status number to string - static QString statusToString(int status); + QVariant platformValue(enum ServerInfos setting, QString platform = ""); + //! Get status number as string + QString statusAsString(QString platform = ""); - private: - //! you shouldnt call this, its a fully static class - ServerInfo() {} + protected: + ServerInfo() : serverSettings(nullptr) {} + private: + static ServerInfo* infoInstance; + QSettings* serverSettings; }; |