00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef NAUGHTY_PROCESS_MONITOR_H
00022 #define NAUGHTY_PROCESS_MONITOR_H
00023
00024 #include <tqobject.h>
00025
00026 class NaughtyProcessMonitorPrivate;
00027
00028 class NaughtyProcessMonitor : public QObject
00029 {
00030 Q_OBJECT
00031
00032 public:
00033
00034 NaughtyProcessMonitor
00035 (
00036 uint interval,
00037 uint triggerLevel,
00038 TQObject * parent = 0,
00039 const char * name = 0
00040 );
00041
00042 virtual ~NaughtyProcessMonitor();
00043
00044 void start();
00045 void stop();
00046
00047 uint triggerLevel() const;
00048 void setTriggerLevel(uint);
00049 uint interval() const;
00050 void setInterval(uint);
00051
00052 virtual uint cpuLoad() const;
00053 virtual TQValueList<ulong> pidList() const;
00054 virtual bool getLoad(ulong pid, uint & load) const;
00055 virtual TQString processName(ulong pid) const;
00056 virtual bool canKill(ulong pid) const;
00057 virtual bool kill(ulong pid) const;
00058
00059 protected slots:
00060
00061 void slotTimeout();
00062
00063 signals:
00064
00065 void load(uint);
00066 void runawayProcess(ulong pid, const TQString & name);
00067
00068 private:
00069
00070 void _process(ulong pid, uint load);
00071
00072 NaughtyProcessMonitorPrivate * d;
00073 };
00074
00075 #endif
00076