You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
55 lines
1.3 KiB
/* kalarmtimer: timeout handler using the system's alarm timer |
|
* |
|
* The alarm timer uses the alarm signal for timeout events. The |
|
* advantage of this signal is that the event will also occur when |
|
* the application is busy. Qt's timer events only occur when |
|
* the application is idle. |
|
* |
|
* Author: Stefan Taferner <taferner@salzburg.co.at> |
|
* This code is under GPL. |
|
*/ |
|
#ifndef kalarmtimer_h_ |
|
#define kalarmtimer_h_ |
|
|
|
#include <qobject.h> |
|
|
|
typedef unsigned long KAlarmTimerId; |
|
|
|
class KAlarmTimer: public QObject |
|
{ |
|
Q_OBJECT |
|
|
|
public: |
|
KAlarmTimer(); |
|
virtual ~KAlarmTimer(); |
|
|
|
/** Start the timer. If 'once' is TRUE then the timer periodically |
|
* sends the timeout signal until stoped. */ |
|
void start (int msec, bool once=FALSE); |
|
|
|
/** Stop the timer. */ |
|
void stop (void); |
|
|
|
signals: |
|
/** Emitted when a timer event occurs. Either connect to this signal |
|
or inherit the alarmtimer class and write your own `timerEvent' |
|
method. */ |
|
void timeout(int timerId); |
|
|
|
protected: |
|
/** Virtual method that can be overloaded and is empty per default. |
|
You do not need to call `KAlarmTimer::timerEvent' in inherited |
|
methods. */ |
|
virtual void timerEvent(void); |
|
|
|
private: |
|
void internalTimerEvent(KAlarmTimerId id); |
|
|
|
KAlarmTimerId tid; |
|
int msec; |
|
bool once; |
|
|
|
friend void KAlarmTimeoutHandler(int); |
|
}; |
|
|
|
#endif /*kalarmtimer_h_*/
|
|
|