diff options
Diffstat (limited to 'src/Common/Backends/SystemBackendProc.cpp')
-rw-r--r-- | src/Common/Backends/SystemBackendProc.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/Common/Backends/SystemBackendProc.cpp b/src/Common/Backends/SystemBackendProc.cpp index 3a3f283..f2d9152 100644 --- a/src/Common/Backends/SystemBackendProc.cpp +++ b/src/Common/Backends/SystemBackendProc.cpp @@ -19,30 +19,29 @@ #include "SystemBackendProc.h" -#include <fstream> #include <pcrecpp.h> namespace Mad { namespace Common { namespace Backends { -SystemBackend::UptimeInfo SystemBackendProc::getUptimeInfo() const { +SystemBackend::UptimeInfo SystemBackendProc::getUptimeInfo() { UptimeInfo uptime = {0, 0}; - std::ifstream file("/proc/uptime"); + uptimeFile.seekg(0, std::ios::beg); - if(!file.good()) + if(!uptimeFile.good()) return uptime; float f; - file >> f; - if(!file.good()) + uptimeFile >> f; + if(!uptimeFile.good()) return uptime; uptime.uptime = (unsigned long)f; - file >> f; - if(!file.good()) + uptimeFile >> f; + if(!uptimeFile.good()) return uptime; uptime.idleTime = (unsigned long)f; @@ -50,19 +49,19 @@ SystemBackend::UptimeInfo SystemBackendProc::getUptimeInfo() const { return uptime; } -SystemBackend::MemoryInfo SystemBackendProc::getMemoryInfo() const { +SystemBackend::MemoryInfo SystemBackendProc::getMemoryInfo() { MemoryInfo memInfo = {0, 0, 0, 0}; - std::ifstream file("/proc/meminfo"); + meminfoFile.seekg(0, std::ios::beg); - if(!file.good()) + if(!meminfoFile.good()) return memInfo; pcrecpp::RE re("(.+):\\s*(\\d+).*"); - while(!file.eof() && file.good()) { + while(!meminfoFile.eof() && meminfoFile.good()) { std::string line; - std::getline(file, line); + std::getline(meminfoFile, line); std::string name; unsigned long value; |