summaryrefslogtreecommitdiffstats
path: root/superkaramba/src/memsensor.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit2bda8f7717adf28da4af0d34fb82f63d2868c31d (patch)
tree8d927b7b47a90c4adb646482a52613f58acd6f8c /superkaramba/src/memsensor.h
downloadtdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.tar.gz
tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'superkaramba/src/memsensor.h')
-rw-r--r--superkaramba/src/memsensor.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/superkaramba/src/memsensor.h b/superkaramba/src/memsensor.h
new file mode 100644
index 0000000..a9e425e
--- /dev/null
+++ b/superkaramba/src/memsensor.h
@@ -0,0 +1,67 @@
+/***************************************************************************
+ * Copyright (C) 2003 by Hans Karlsson *
+ * karlsson.h@home.se *
+ * *
+ * 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. *
+ ***************************************************************************/
+#ifndef MEMSENSOR_H
+#define MEMSENSOR_H
+#include "sensor.h"
+#include <qglobal.h>
+#include <qstring.h>
+#include <qregexp.h>
+#include <kprocess.h>
+
+#ifdef __FreeBSD__
+#include <kprocio.h>
+#include <kvm.h>
+#include <osreldate.h>
+#endif
+
+class MemSensor : public Sensor
+{
+Q_OBJECT
+public:
+
+ MemSensor( int interval );
+ ~MemSensor();
+
+ int getMemTotal();
+ int getMemFree();
+ int getBuffers();
+ int getCached();
+
+ int getSwapTotal();
+ int getSwapFree();
+
+ void update();
+ void setMaxValue( SensorParams *sp );
+ QString getMemLine();
+
+private:
+ QString meminfo;
+ void readValues();
+#if defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
+ int pageshift; /* log base 2 of the pagesize */
+ QString sensorResult;
+ int swapTotal;
+ int swapUsed;
+# if defined(Q_OS_FREEBSD) && defined(__FreeBSD_version) && __FreeBSD_version >= 500018
+ kvm_t *kd;
+ kvm_swap swapinfo;
+# elif defined(Q_OS_FREEBSD)
+ KShellProcess ksp;
+ bool MaxSet;
+# endif
+#endif
+
+private slots:
+ void receivedStdout(KProcess *, char *buffer, int);
+ void processExited(KProcess *);
+
+};
+
+#endif // MEMSENSOR_H