summaryrefslogtreecommitdiffstats
path: root/src/src/knetstatsview.h
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2018-10-26 04:07:01 +0200
committerSlávek Banko <slavek.banko@axis.cz>2018-10-27 13:30:15 +0200
commit06772a369f2beef80bb291ded30cbe125a24af56 (patch)
treec2fc8e4df81273c01c4e847a9a8cb8229ebe1925 /src/src/knetstatsview.h
parent6a9585138c128efb1be5230b71a7afdba8d1aea7 (diff)
downloadknetstats-06772a369f2beef80bb291ded30cbe125a24af56.tar.gz
knetstats-06772a369f2beef80bb291ded30cbe125a24af56.zip
Fix structure of directories
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'src/src/knetstatsview.h')
-rw-r--r--src/src/knetstatsview.h260
1 files changed, 0 insertions, 260 deletions
diff --git a/src/src/knetstatsview.h b/src/src/knetstatsview.h
deleted file mode 100644
index e8cc0b8..0000000
--- a/src/src/knetstatsview.h
+++ /dev/null
@@ -1,260 +0,0 @@
-/***************************************************************************
-* (c) 2015 Timothy Pearson <kb9vqf@pearsoncomputing.net> *
-* Copyright (C) 2004-2005 by Hugo Parente Lima *
-* hugo_pl@users.sourceforge.net *
-* *
-* 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 2 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, write to the *
-* Free Software Foundation, Inc., *
-* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
-***************************************************************************/
-
-#ifndef KNETSTATSVIEW_H
-#define KNETSTATSVIEW_H
-
-#include <ksystemtray.h>
-#include <tqpixmap.h>
-#include <tqstringlist.h>
-#include <tqcolor.h>
-
-#include <arpa/inet.h>
-#include <linux/netdevice.h>
-
-class TQTimer;
-class TQMouseEvent;
-class TQPainter;
-class TQPaintEvent;
-class Statistics;
-class KNetStats;
-
-/**
-* Main class
-*/
-class KNetStatsView : public KSystemTray
-{
- Q_OBJECT
-
-
- enum {
- HISTORY_SIZE = 50, // Speed history buffer size
- SPEED_BUFFER_SIZE = 10 // Speed normalization buffer size
- };
-
-public:
- /**
- * KNetstats view mode on system tray.
- */
- enum Mode {
- Icon, Text, Graphic
- };
-
- /**
- * Visualization options.
- */
- struct Options {
- // general
- int mUpdateInterval;
- Mode mViewMode;
- bool mMonitoring;
- // txt view
- TQFont mTxtFont;
- TQColor mTxtUplColor;
- TQColor mTxtDldColor;
- // icon view
- int mTheme;
- // chart view
- TQColor mChartUplColor;
- TQColor mChartDldColor;
- TQColor mChartBgColor;
- bool mChartTransparentBackground;
- };
-
- KNetStatsView(KNetStats* parent, const TQString& interface);
- ~KNetStatsView();
-
- void say(const TQString& message);
- void updateViewOptions();
- // read a value from /sys/class/net/interface/name
- unsigned long readInterfaceNumValue(const char* name);
- // read a value from /sys/class/net/interface/name
- TQString readInterfaceStringValue(const char* name, int maxlength);
- TQString getIp();
- TQString getNetmask();
-
- const double* speedHistoryRx() const { return mSpeedHistoryRx; }
- const double* speedHistoryTx() const { return mSpeedHistoryTx; }
- const int historyBufferSize() const { return HISTORY_SIZE; }
- const int* historyPointer() const { return &mSpeedHistoryPtr; }
- const double* maxSpeed() const { return &mMaxSpeed; }
-
- /// Return a copy of the current view options.
- Options options() const { return mOptions; }
- /// read the interface view options
- static void readOptions( const TQString& name, Options* opts, bool defaultVisibility = false );
-
- /// The current monitored network interface
- inline const TQString& interface() const;
- /// The current Update Interval in miliseconds
- inline int updateInterval() const;
- /// We are in textmode?
- inline Mode viewMode() const;
-
- /// Total of bytes receiveds
- inline unsigned long totalBytesRx() const;
- /// Total of bytes transmitted
- inline unsigned long totalBytesTx() const;
- /// Total of packets receiveds
- inline unsigned long totalPktRx() const;
- /// Total of packets transmitted
- inline unsigned long totalPktTx() const;
- /// RX Speed in bytes per second
- inline double byteSpeedRx() const;
- /// TX Speed in bytes per second
- inline double byteSpeedTx() const;
- /// RX Speed in packets per second
- inline double pktSpeedRx() const;
- /// TX Speed in packets per second
- inline double pktSpeedTx() const;
-
-protected:
- void mousePressEvent( TQMouseEvent* ev );
- void paintEvent( TQPaintEvent* ev );
-
-private:
-
- int mFdSock; // Kernel-knetstats socket
- struct ifreq mDevInfo; // info struct about our interface
-
-
- TQString mSysDevPath; // Path to the device.
- bool mCarrier; // Interface carrier is on?
- bool mConnected; // Interface exists?
-
- TDEPopupMenu* mContextMenu; // Global ContextMenu
- Statistics* mStatistics; // Statistics window
- TQString mInterface; // Current interface
- Options mOptions; // View options
-
- // Icons
- TQPixmap mIconError, mIconNone, mIconTx, mIconRx, mIconBoth;
- TQPixmap* mCurrentIcon; // Current state
- TQTimer* mTimer; // Timer
-
- // Rx e Tx to bytes and packets
- unsigned long mBRx, mBTx, mPRx, mPTx;
- // Statistics
- unsigned long mTotalBytesRx, mTotalBytesTx, mTotalPktRx, mTotalPktTx;
- // Speed buffers
- double mSpeedBufferRx[SPEED_BUFFER_SIZE], mSpeedBufferTx[SPEED_BUFFER_SIZE];
- double mSpeedBufferPRx[SPEED_BUFFER_SIZE], mSpeedBufferPTx[SPEED_BUFFER_SIZE];
- // pointer to current speed buffer position
- int mSpeedBufferPtr;
-
- bool mFirstUpdate;
-
- // History buffer TODO: Make it configurable!
- double mSpeedHistoryRx[HISTORY_SIZE];
- double mSpeedHistoryTx[HISTORY_SIZE];
- int mSpeedHistoryPtr;
- double mMaxSpeed;
- int mMaxSpeedAge;
-
-
- // setup the view.
- void setup();
- void drawText(TQPainter& paint);
- void drawGraphic(TQPainter& paint);
- // Reset speed and history buffers
- void resetBuffers();
- // calc tha max. speed stored in the history buffer
- inline void calcMaxSpeed();
- // calc the speed using a speed buffer
- inline double calcSpeed(const double* buffer) const;
-
- bool openFdSocket();
-
-private slots:
- // Called by the timer to update statistics
- void updateStats();
-
-};
-
-void KNetStatsView::calcMaxSpeed() {
- double max = 0.0;
- int ptr = mSpeedHistoryPtr;
- for (int i = 0; i < HISTORY_SIZE; ++i) {
- if (mSpeedHistoryRx[i] > max) {
- max = mSpeedHistoryRx[i];
- ptr = i;
- }
- if (mSpeedHistoryTx[i] > max) {
- max = mSpeedHistoryTx[i];
- ptr = i;
- }
- }
- mMaxSpeed = max;
- mMaxSpeedAge = (mSpeedHistoryPtr > ptr) ? (mSpeedHistoryPtr - ptr) : (mSpeedHistoryPtr + HISTORY_SIZE - ptr);
-}
-
-double KNetStatsView::calcSpeed(const double* buffer) const {
- double total = 0.0;
- for (int i = 0; i < SPEED_BUFFER_SIZE; ++i)
- total += buffer[i];
- return total/SPEED_BUFFER_SIZE;
-}
-
-const TQString& KNetStatsView::interface() const {
- return mInterface;
-}
-
-int KNetStatsView::updateInterval() const {
- return mOptions.mUpdateInterval;
-}
-
-KNetStatsView::Mode KNetStatsView::viewMode() const {
- return mOptions.mViewMode;
-}
-
-unsigned long KNetStatsView::totalBytesRx() const {
- return mTotalBytesRx;
-}
-
-unsigned long KNetStatsView::totalBytesTx() const {
- return mTotalBytesTx;
-}
-
-unsigned long KNetStatsView::totalPktRx() const {
- return mTotalPktRx;
-}
-
-unsigned long KNetStatsView::totalPktTx() const {
- return mTotalPktTx;
-}
-
-double KNetStatsView::byteSpeedRx() const {
- return mSpeedHistoryRx[mSpeedHistoryPtr];
-}
-
-double KNetStatsView::byteSpeedTx() const {
- return mSpeedHistoryTx[mSpeedHistoryPtr];
-}
-
-double KNetStatsView::pktSpeedRx() const {
- return calcSpeed(mSpeedBufferPRx);
-}
-
-double KNetStatsView::pktSpeedTx() const {
- return calcSpeed(mSpeedBufferPTx);
-}
-
-#endif