Async::Timer Class Reference

A class that produces timer events. More...

#include <AsyncTimer.h>

List of all members.

Public Types

Public Member Functions

Public Attributes


Detailed Description

A class that produces timer events.

Author:
Tobias Blomberg
Date:
2003-03-26

This class is used to create timer objects. These objects will emit a signal when the specified time has elapsed. An example of how to use it is shown below.

#include <iostream>
#include <AsyncCppApplication.h>
#include <AsyncTimer.h>

using namespace std;
using namespace Async;

class MyClass : public SigC::Object
{
  public:
    MyClass(void) : count(0)
    {
      timer = new Timer(1000, Timer::TYPE_PERIODIC);
      timer->expired.connect(slot(*this, &MyClass::onTimerExpired));
    }
    
    ~MyClass(void)
    {
      delete timer;
    }

  private:
    Timer * timer;
    int     count;
    
    void onTimerExpired(Timer *t)
    {
      if (++count == 3)
      {
        Application::app().quit();
      }
      cout << "Timer expired " << count << "...\n";
    }
};

int main(int argc, char **argv)
{
  CppApplication app;
  MyClass my_class;
  app.exec();
}
Examples:

AsyncTimer_demo.cpp.

Definition at line 116 of file AsyncTimer.h.


Member Enumeration Documentation

The type of the timer.

Enumerator:
TYPE_ONESHOT 

A timer that expires once.

TYPE_PERIODIC 

A timer that restarts itself every time it expires.

Definition at line 122 of file AsyncTimer.h.


Constructor & Destructor Documentation

Async::Timer::Timer ( int  timeout_ms = 0,
Type  type = TYPE_ONESHOT 
)

Constructor.

Parameters:
timeout_ms The timeout value in milliseconds
type The type of timer to use (see Type)

If no arguments are given (default constructor) a timer that expires immediately will be created. Such a timer can for example be used to delay the execution of some function until all active callbacks have returned.

Async::Timer::~Timer ( void   ) 

Destructor.


Member Function Documentation

bool Async::Timer::isEnabled ( void   )  const [inline]

Check if the timer is enabled.

Returns:
Returns true if the timer is enabled or false if it is disabled

Definition at line 180 of file AsyncTimer.h.

void Async::Timer::reset ( void   ) 

Reset (restart) the timer.

This function is used to reset the timer. After reset it will take timeout milliseconds before the timer expires, where timeout is the previously set timeout value. If the timer is disabled, this function will do nothing.

void Async::Timer::setEnable ( bool  do_enable  ) 

Enable or disable the timer.

Parameters:
do_enable Set to true to enable the timer or false to disable it
void Async::Timer::setTimeout ( int  timeout_ms  ) 

Set (change) the timeout value.

Parameters:
timeout_ms The new timeout value in milliseconds

Use this function to set a new timeout value on an existing timer. The timer will expire when the new timeout time has elapsed. If the timer is disabled, this function will set the new timeout value but it will not enable the timer.

int Async::Timer::timeout ( void   )  const [inline]

Return the setting of the timeout value.

Returns:
Returns the timeout value in milliseconds

Definition at line 166 of file AsyncTimer.h.

Type Async::Timer::type ( void   )  const [inline]

Return the type of this timer.

Returns:
Returns the type of this timer

Definition at line 149 of file AsyncTimer.h.


Member Data Documentation

SigC::Signal1<void, Timer *> Async::Timer::expired

A signal that is emitted when the timer expires.

Parameters:
timer A pointer to the timer that has expired

This signal is emitted when the timer expires. It is perfectly legal to delete the timer in the connected slot if it is known to be the only connected slot.

Definition at line 200 of file AsyncTimer.h.


The documentation for this class was generated from the following file:
Generated by  doxygen 1.6.2-20100208