00001 #ifndef ERIS_ALARM_H
00002 #define ERIS_ALARM_H
00003
00004 #include <Eris/TimedEventService.h>
00005
00006 #include <sigc++/trackable.h>
00007 #include <sigc++/slot.h>
00008 #include <sigc++/signal.h>
00009
00010 namespace Eris
00011 {
00012
00013 class Alarm : public TimedEvent, public sigc::trackable
00014 {
00015 public:
00016 Alarm(unsigned long, const sigc::slot<void>& done);
00017
00018 virtual void expired();
00019
00020 virtual const WFMath::TimeStamp& due() const
00021 {
00022 return m_due;
00023 }
00024 private:
00025 sigc::signal<void> AlarmExpired;
00026
00027 WFMath::TimeStamp m_due;
00028 };
00029
00030 }
00031
00032 #endif // of ERIS_ALARM_H