#pragma once #include #include #include #include "HyperionConfig.h" class SysInfo : public QObject { public: struct HyperionSysInfo { QString kernelType; QString kernelVersion; QString architecture; QString cpuModelName; QString cpuModelType; QString cpuRevision; QString cpuHardware; QString wordSize; QString productType; QString productVersion; QString prettyName; QString hostName; QString domainName; bool isUserAdmin; QString qtVersion; #if defined(ENABLE_EFFECTENGINE) QString pyVersion; #endif }; static HyperionSysInfo get(); static bool isUserAdmin(); static QString userName(); private: SysInfo(); void getCPUInfo(); static std::unique_ptr _instance; HyperionSysInfo _sysinfo; };