summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base/playerbuildinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/base/playerbuildinfo.h')
-rw-r--r--rbutil/rbutilqt/base/playerbuildinfo.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/playerbuildinfo.h b/rbutil/rbutilqt/base/playerbuildinfo.h
new file mode 100644
index 0000000000..81d7d97312
--- /dev/null
+++ b/rbutil/rbutilqt/base/playerbuildinfo.h
@@ -0,0 +1,106 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2020 by Dominik Riebeling
10 *
11 * All files in this archive are subject to the GNU General Public License.
12 * See the file COPYING in the source tree root for full license agreement.
13 *
14 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
15 * KIND, either express or implied.
16 *
17 ****************************************************************************/
18
19#ifndef PLAYERBUILDINFO_H
20#define PLAYERBUILDINFO_H
21
22#include <QSettings>
23
24#define STATUS_RETIRED 0
25#define STATUS_UNUSABLE 1
26#define STATUS_UNSTABLE 2
27#define STATUS_STABLE 3
28
29// Provide information about both player and builds.
30// For build info data retrieved from the build server has to be passed.
31class PlayerBuildInfo : public QObject
32{
33public:
34
35 enum BuildType {
36 TypeRelease,
37 TypeCandidate,
38 TypeDaily,
39 TypeDevel,
40 };
41 enum BuildInfo {
42 BuildUrl,
43 BuildVersion,
44 BuildManualUrl,
45 BuildVoiceUrl,
46 BuildVoiceLangs,
47 BuildSourceUrl,
48 BuildFontUrl,
49
50 DoomUrl,
51 Duke3DUrl,
52 PuzzFontsUrl,
53 QuakeUrl,
54 Wolf3DUrl,
55 XWorldUrl,
56 MidiPatchsetUrl,
57 };
58 enum DeviceInfo {
59 BuildStatus,
60
61 DisplayName,
62 BootloaderMethod,
63 BootloaderName,
64 BootloaderFile,
65 BootloaderFilter,
66 Encoder,
67 Brand,
68 PlayerPicture,
69 };
70
71 enum SystemUrl {
72 BootloaderUrl,
73 BuildInfoUrl,
74 GenlangUrl,
75 ThemesUrl,
76 ThemesInfoUrl,
77 RbutilUrl,
78 };
79
80 static PlayerBuildInfo* instance();
81
82 //! Update with build information from server
83 void setBuildInfo(QString file);
84
85 // Get information about a device. This data does not depend on the build type.
86 QVariant value(DeviceInfo item, QString target = "");
87
88 // Get build information for currently selected player.
89 QVariant value(BuildInfo item, BuildType type);
90
91 // Get fixed download URL information
92 QVariant value(SystemUrl item);
93
94 QString statusAsString(QString target = "");
95
96protected:
97 explicit PlayerBuildInfo();
98
99private:
100 static PlayerBuildInfo* infoInstance;
101 QSettings* serverInfo;
102 QSettings playerInfo;
103
104};
105
106#endif