summaryrefslogtreecommitdiffstats
path: root/src/Common/Backends/SystemBackendProc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/Backends/SystemBackendProc.cpp')
-rw-r--r--src/Common/Backends/SystemBackendProc.cpp25
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;