From 4aed2c8219774f5d797760606b8489a92ddc5163 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: 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/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kicker/applets/naughty/NaughtyProcessMonitor.h | 76 ++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 kicker/applets/naughty/NaughtyProcessMonitor.h (limited to 'kicker/applets/naughty/NaughtyProcessMonitor.h') diff --git a/kicker/applets/naughty/NaughtyProcessMonitor.h b/kicker/applets/naughty/NaughtyProcessMonitor.h new file mode 100644 index 000000000..d7023dbd7 --- /dev/null +++ b/kicker/applets/naughty/NaughtyProcessMonitor.h @@ -0,0 +1,76 @@ +/* + Naughty applet - Runaway process monitor for the KDE panel + + Copyright 2000 Rik Hemsley (rikkus) + + 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 NAUGHTY_PROCESS_MONITOR_H +#define NAUGHTY_PROCESS_MONITOR_H + +#include + +class NaughtyProcessMonitorPrivate; + +class NaughtyProcessMonitor : public QObject +{ + Q_OBJECT + + public: + + NaughtyProcessMonitor + ( + uint interval, + uint triggerLevel, + QObject * parent = 0, + const char * name = 0 + ); + + virtual ~NaughtyProcessMonitor(); + + void start(); + void stop(); + + uint triggerLevel() const; + void setTriggerLevel(uint); + uint interval() const; + void setInterval(uint); + + virtual uint cpuLoad() const; + virtual QValueList pidList() const; + virtual bool getLoad(ulong pid, uint & load) const; + virtual QString processName(ulong pid) const; + virtual bool canKill(ulong pid) const; + virtual bool kill(ulong pid) const; + + protected slots: + + void slotTimeout(); + + signals: + + void load(uint); + void runawayProcess(ulong pid, const QString & name); + + private: + + void _process(ulong pid, uint load); + + NaughtyProcessMonitorPrivate * d; +}; + +#endif + -- cgit v1.2.1