//
// 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));
    }
}