rockbox/rbutil/rbutilqt/base/systeminfo.h
Dominik Riebeling 2509def164 rbutil: Rework player configuration.
- Split internal configuration into player specific and common parts.
  Always require passing the player for player specific data instead of
  implicitly assuming the currently selected one; only use the currently
  selected one if the player name is explicitly passed as empty.
- Similarly adjust handling of server info data; prepare for splitting
  into build type specific values so the naming becomes cleaner.

Change-Id: I894e694f83bd9fe2d22ad46b3f8f7df3e2c68033
2020-11-14 16:42:29 +01:00

108 lines
3.3 KiB
C++

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2010 by Dominik Wenger
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef SYSTEMINFO_H
#define SYSTEMINFO_H
#include <QtCore>
class SystemInfo : public QObject
{
Q_OBJECT
public:
//! Type of requested usb-id map
enum MapType {
MapDevice,
MapError,
MapIncompatible,
};
//! All system settings
enum SystemInfos {
ManualUrl,
BleedingUrl,
BootloaderUrl,
BootloaderInfoUrl,
DailyUrl,
DailyFontUrl,
DailyVoiceUrl,
DoomUrl,
Duke3DUrl,
QuakeUrl,
PuzzFontsUrl,
Wolf3DUrl,
XWorldUrl,
ReleaseUrl,
ReleaseVoiceUrl,
ReleaseFontUrl,
BuildInfoUrl,
GenlangUrl,
ThemesUrl,
ThemesInfoUrl,
RbutilUrl,
};
enum PlatformInfo {
CurPlatformName,
CurManual,
CurBootloaderMethod,
CurBootloaderName,
CurBootloaderFile,
CurBootloaderFilter,
CurEncoder,
CurBrand,
CurName,
CurBuildserverModel,
CurConfigureModel,
CurPlayerPicture,
};
enum PlatformType {
PlatformAll,
PlatformAllDisabled,
PlatformBase,
PlatformBaseDisabled,
PlatformVariant,
PlatformVariantDisabled
};
//! return a list of all platforms (rbutil internal names)
static QStringList platforms(enum PlatformType type = PlatformAll,
QString variant="");
//! returns a map of all languages
static QMap<QString, QStringList> languages(void);
//! returns a map of usb-ids and their targets
static QMap<int, QStringList> usbIdMap(enum MapType type);
//! get a value from system settings
static QVariant value(enum SystemInfos info);
//! get a value from system settings for a named platform.
static QVariant platformValue(enum PlatformInfo info, QString platform = "");
private:
//! you shouldnt call this, its a fully static calls
SystemInfo() {}
//! create the setting objects if neccessary
static void ensureSystemInfoExists();
//! pointers to our setting objects
static QSettings *systemInfos;
};
#endif