diff --git a/src/library/sysadm-systeminfo.cpp b/src/library/sysadm-systeminfo.cpp index 89d56cf..a580093 100644 --- a/src/library/sysadm-systeminfo.cpp +++ b/src/library/sysadm-systeminfo.cpp @@ -174,3 +174,41 @@ QJsonObject SysInfo::memoryPercentage() { return retObject; } +// Return a bunch of various system information +QJsonObject SysInfo::systemInfo() { + QJsonObject retObject; + + QString arch = General::RunCommand("uname -m").simplified(); + retObject.insert("arch", arch); + + QString sysver = General::RunCommand("freebsd-version").simplified(); + retObject.insert("systemversion", sysver); + + QString kernver = General::RunCommand("uname -r").simplified(); + retObject.insert("kernelversion", kernver); + + QString kernident = General::RunCommand("uname -i").simplified(); + retObject.insert("kernelident", kernident); + + QString host = General::RunCommand("hostname").simplified(); + retObject.insert("hostname", host); + + QString uptime = General::RunCommand("uptime").simplified().section(" ", 1, 4).simplified().replace(",", ""); + retObject.insert("uptime", uptime); + + QString cputype = General::RunCommand("sysctl -n hw.model").simplified(); + retObject.insert("cputype", cputype); + + QString cpucores = General::RunCommand("sysctl -n kern.smp.cpus").simplified(); + retObject.insert("cpucores", cpucores); + + bool ok; + QString totalmem = General::RunCommand("sysctl -n hw.realmem").simplified(); + totalmem.toDouble(&ok); + if ( ok ) { + retObject.insert("totalmem", totalmem.toDouble() / 1024 / 1024); + } + + return retObject; +} + diff --git a/src/library/sysadm-systeminfo.h b/src/library/sysadm-systeminfo.h index d2c654a..4c46bab 100644 --- a/src/library/sysadm-systeminfo.h +++ b/src/library/sysadm-systeminfo.h @@ -19,6 +19,7 @@ public: static QJsonObject cpuTemps(); static QJsonObject externalDevicePaths(); static QJsonObject memoryPercentage(); + static QJsonObject systemInfo(); }; } //end of pcbsd namespace diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index 98a3bd5..8733fca 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -275,6 +275,10 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmSystemInfoRequest(const QJso ok = true; out->insert("memorypercentage", sysadm::SysInfo::memoryPercentage()); } + if(act=="systeminfo"){ + ok = true; + out->insert("systeminfo", sysadm::SysInfo::systemInfo()); + } } //end of "action" key usage