Eris  1.3.23
Timeout.h
1 #ifndef ERIS_TIMEOUT_H
2 #define ERIS_TIMEOUT_H
3 
4 #include <Eris/TimedEventService.h>
5 
6 #include <sigc++/trackable.h>
7 #include <sigc++/signal.h>
8 
9 namespace Eris {
10 
12 class Timeout : public TimedEvent, virtual public sigc::trackable
13 {
14 public:
15 
21  Timeout(unsigned long milli);
22 
23  virtual ~Timeout();
24 
27 
34  void extend(unsigned long msec);
35 
41  void reset(unsigned long msec);
42 
44  void cancel();
45 
47  bool isExpired() const;
48 
50  sigc::signal<void> Expired;
51 
52  virtual void expired();
53 
54  virtual const WFMath::TimeStamp& due() const
55  {
56  return _due;
57  }
58 protected:
59  WFMath::TimeStamp _due;
60  bool _fired;
61 
62 private:
64  Timeout(const Timeout &t);
65 };
66 
67 } // of Eris namespace
68 
69 #endif
Eris::Timeout
Timeout
Definition: Timeout.h:13
Eris::Timeout::operator=
Timeout & operator=(const Timeout &t)
assignment operator
Eris::Timeout::due
virtual const WFMath::TimeStamp & due() const
The time value when this event is due.
Definition: Timeout.h:54
Eris::Timeout::_due
WFMath::TimeStamp _due
interval at which the timeout is due
Definition: Timeout.h:59
Eris::Timeout::Timeout
Timeout(unsigned long milli)
standard constructor for new timeouts
Definition: Timeout.cpp:20
Eris::TimedEvent
Abstract interface for things which occur after a period of time.
Definition: TimedEventService.h:17
Eris::Timeout::expired
virtual void expired()
Implement the expiry behaviour of this object.
Definition: Timeout.cpp:57
Eris::Timeout::_fired
bool _fired
flag if the timeout has expired
Definition: Timeout.h:60
Eris::Timeout::reset
void reset(unsigned long msec)
reset the timeout to the specified time, and reset the 'expired' flag.
Definition: Timeout.cpp:43
Eris::Timeout::cancel
void cancel()
cancel the Timeout immediately
Definition: Timeout.cpp:32
Eris::Timeout::isExpired
bool isExpired() const
test whether or not the timeout has fired or not
Definition: Timeout.cpp:38
Eris::Timeout::extend
void extend(unsigned long msec)
Extend the timeout termination by the specified time.
Definition: Timeout.cpp:52
Eris::Timeout::Expired
sigc::signal< void > Expired
The timeout signal.
Definition: Timeout.h:50