Source Code (Use browser search to find items of interest.)

Class Index

krn'KAlarmTimer (./kdenetwork/krn/kalarmtimer.h:18)

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);
};

krn'KAlarmTimer::KAlarmTimer() (./kdenetwork/krn/kalarmtimer.cpp:47)

KAlarmTimer :: KAlarmTimer(): QObject()
{
  initMetaObject();
  tid  = 0;
  msec = 0;
}


//-----------------------------------------------------------------------------

krn'KAlarmTimer::~KAlarmTimer() (./kdenetwork/krn/kalarmtimer.cpp:56)

KAlarmTimer :: ~KAlarmTimer()
{
}


//-----------------------------------------------------------------------------

krn'KAlarmTimer::start() (./kdenetwork/krn/kalarmtimer.cpp:62)

void KAlarmTimer :: start (int aMsec, bool aOnce)
{
  msec = aMsec;
  once = aOnce;

  tid = KAlarmAddTimeout(this, msec);
  dprintf ("start %d\n", msec);
}


//-----------------------------------------------------------------------------

krn'KAlarmTimer::stop() (./kdenetwork/krn/kalarmtimer.cpp:73)

void KAlarmTimer :: stop (void)
{
  dprintf ("stop %d\n", msec);
  once = TRUE;
  KAlarmRemoveTimeout(tid);
}


//-----------------------------------------------------------------------------

krn'KAlarmTimer::internalTimerEvent() (./kdenetwork/krn/kalarmtimer.cpp:82)

void KAlarmTimer :: internalTimerEvent (KAlarmTimerId id)
{
  struct timeval tod;

  gettimeofday(&tod,NULL);

  emit timeout(id);
  timerEvent();
  dprintf ("%s: event #%ld %d\n", time2str(tod), id, msec);

  if (!once) tid = KAlarmAddTimeout(this, msec);
  else tid = 0;
}


//-----------------------------------------------------------------------------

krn'KAlarmTimer::timerEvent() (./kdenetwork/krn/kalarmtimer.cpp:98)

void KAlarmTimer :: timerEvent (void)
{
}


//-----------------------------------------------------------------------------