mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
* std::string -> qstring part 1 * more string migration * more string migration ... * ... * more qstring mogrations add sysinfo via json * remove unneccessary includes * integrate sysinfo into webui
56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <QObject>
|
|
#include <QString>
|
|
#include <QByteArray>
|
|
|
|
class SysInfo : public QObject
|
|
{
|
|
|
|
public:
|
|
struct HyperionSysInfo
|
|
{
|
|
QString kernelType;
|
|
QString kernelVersion;
|
|
QString architecture;
|
|
QString wordSize;
|
|
QString productType;
|
|
QString productVersion;
|
|
QString prettyName;
|
|
QString hostName;
|
|
};
|
|
|
|
~SysInfo();
|
|
static HyperionSysInfo get();
|
|
|
|
private:
|
|
SysInfo();
|
|
|
|
static SysInfo* _instance;
|
|
|
|
HyperionSysInfo _sysinfo;
|
|
|
|
struct QUnixOSVersion
|
|
{
|
|
QString productType;
|
|
QString productVersion;
|
|
QString prettyName;
|
|
};
|
|
|
|
QString machineHostName();
|
|
QString currentCpuArchitecture();
|
|
QString kernelType();
|
|
QString kernelVersion();
|
|
bool findUnixOsVersion(QUnixOSVersion &v);
|
|
|
|
QByteArray getEtcFileFirstLine(const char *fileName);
|
|
bool readEtcRedHatRelease(QUnixOSVersion &v);
|
|
bool readEtcDebianVersion(QUnixOSVersion &v);
|
|
|
|
bool readEtcOsRelease(SysInfo::QUnixOSVersion &v);
|
|
bool readEtcFile(SysInfo::QUnixOSVersion &v, const char *filename, const QByteArray &idKey, const QByteArray &versionKey, const QByteArray &prettyNameKey);
|
|
QByteArray getEtcFileContent(const char *filename);
|
|
QString unquote(const char *begin, const char *end);
|
|
bool readEtcLsbRelease(SysInfo::QUnixOSVersion &v);
|
|
};
|