// // C++ Implementation: nettraffix // // Description: // // // Author: Andreas Krumnow <andreas@krumnow.de>, (C) 2006 // // Copyright: See COPYING file that comes with this distribution // // #include "nettraffix.h" NetTraffix::NetTraffix(QObject *parent) : QObject(parent) { netTraffic = new QFile("/proc/net/dev"); bytesRx = 0; bytesTx = 0; } NetTraffix::~NetTraffix() { delete netTraffic; } void NetTraffix::digValues() { if(netTraffic->open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(netTraffic); QString line = in.readLine(); while(!line.isNull()){ // auswerten ... if(line.contains("eth", Qt::CaseInsensitive)) { QStringList lineval(line); lineval = line.split(QRegExp(":")); line = lineval.at(1); line = line.trimmed(); // delete whitespaces at start and end lineval = line.split(QRegExp("\\s+")); bytesRx = lineval.at(0).toInt(); // Received bytes // rpk = lineval.at(1).toInt(); // Received packets bytesTx = lineval.at(8).toInt(); // Transmitted bytes // tpk = lineval.at(9).toInt(); // Transmitted packets } line = in.readLine(); } netTraffic->close(); emit netTraffixBytes(QPoint(bytesRx,bytesTx)); } }