diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-05-19 09:13:35 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-05-19 09:13:35 +0200 |
commit | badc0da3b74d99c90b7b28180d08cd6d08830254 (patch) | |
tree | bf4acef89fd445b0e406c0bebbf60fc7ff467fce /src/modules/SystemBackendProc.cpp | |
parent | 1cfbc7298525656701f32224e1ed42a3e835835a (diff) | |
download | mad-badc0da3b74d99c90b7b28180d08cd6d08830254.tar mad-badc0da3b74d99c90b7b28180d08cd6d08830254.zip |
Make-Prozess auf CMake umgestellt
Diffstat (limited to 'src/modules/SystemBackendProc.cpp')
-rw-r--r-- | src/modules/SystemBackendProc.cpp | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/src/modules/SystemBackendProc.cpp b/src/modules/SystemBackendProc.cpp deleted file mode 100644 index 68f9cec..0000000 --- a/src/modules/SystemBackendProc.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* - * SystemBackendProc.cpp - * - * Copyright (C) 2008 Matthias Schiffer <matthias@gamezock.de> - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "SystemBackendProc.h" - -#include <Common/ActionManager.h> - -#include <cstdio> -#include <cstring> - -#include <boost/bind.hpp> - -#define init SystemBackendProc_LTX_init -#define deinit SystemBackendProc_LTX_deinit - -namespace Mad { -namespace Modules { - -SystemBackendProc *SystemBackendProc::backend = 0; - -bool SystemBackendProc::getUptimeInfo(const boost::function2<void, unsigned long, unsigned long> &callback) { - unsigned long uptime = 0, idleTime = 0; - - uptimeFile.seekg(0, std::ios::beg); - - if(!uptimeFile.good()) - return false; - - float f; - uptimeFile >> f; - if(!uptimeFile.good()) - return false; - - uptime = (unsigned long)f; - - uptimeFile >> f; - if(uptimeFile.good()) - idleTime = (unsigned long)f; - - Common::ActionManager::get()->add(boost::bind(callback, uptime, idleTime)); - - return true; -} - -bool SystemBackendProc::getMemoryInfo(const boost::function4<void, unsigned long, unsigned long, unsigned long, unsigned long> &callback) { - unsigned long totalMem = 0, freeMem = 0, totalSwap = 0, freeSwap = 0; - - meminfoFile.seekg(0, std::ios::beg); - - if(!meminfoFile.good()) - return false; - - while(!meminfoFile.eof() && meminfoFile.good()) { - std::string line; - std::getline(meminfoFile, line); - - char *name = new char[line.length()+1]; // is always long enough - unsigned long value; - - if(std::sscanf(line.c_str(), "%s %lu", name, &value) == 2) { - if(std::strcmp(name, "MemTotal:") == 0) - totalMem = value; - else if(std::strcmp(name, "MemFree:") == 0) - freeMem = value; - else if(std::strcmp(name, "SwapTotal:") == 0) - totalSwap = value; - else if(std::strcmp(name, "SwapFree:") == 0) - freeSwap = value; - } - - delete [] name; - - if(totalMem && freeMem && totalSwap && freeSwap) - break; - } - - Common::ActionManager::get()->add(boost::bind(callback, totalMem, freeMem, totalSwap, freeSwap)); - - return true; -} - -bool SystemBackendProc::getLoadInfo(const boost::function5<void, unsigned long, unsigned long, float, float, float> &callback) { - unsigned long currentLoad = 0, nProcesses = 0; - float loadAvg1 = 0, loadAvg5 = 0, loadAvg15 = 0; - - loadFile.seekg(0, std::ios::beg); - - if(!loadFile.good()) - return false; - - std::string line; - std::getline(loadFile, line); - - if(line.empty()) - return false; - - std::sscanf(line.c_str(), "%f %f %f %lu/%lu", &loadAvg1, &loadAvg5, &loadAvg15, ¤tLoad, &nProcesses); - - Common::ActionManager::get()->add(boost::bind(callback, currentLoad, nProcesses, loadAvg1, loadAvg5, loadAvg15)); - - return true; -} - -} -} - - -extern "C" { - -void init() { - Mad::Modules::SystemBackendProc::registerBackend(); -} - -void deinit() { - Mad::Modules::SystemBackendProc::unregisterBackend(); -} - -} |