Timeout.h

00001 #ifndef ERIS_TIMEOUT_H
00002 #define ERIS_TIMEOUT_H
00003 
00004 #include <Eris/TimedEventService.h>
00005 
00006 #include <sigc++/trackable.h>
00007 #include <sigc++/signal.h>
00008 
00009 namespace Eris {
00010 
00012 class Timeout : public TimedEvent, virtual public sigc::trackable
00013 {
00014 public:
00015 
00021         Timeout(unsigned long milli);
00022 
00023         virtual ~Timeout();
00024 
00026         Timeout& operator=(const Timeout &t);
00027 
00034         void extend(unsigned long msec);
00035 
00041         void reset(unsigned long msec);
00042 
00044         void cancel();
00045     
00047         bool isExpired() const;
00048 
00050         sigc::signal<void> Expired;
00051 
00052     virtual void expired();
00053     
00054     virtual const WFMath::TimeStamp& due() const
00055     {
00056         return _due;
00057     }
00058 protected:
00059     WFMath::TimeStamp _due;                     
00060         bool _fired;                            
00061 
00062 private:
00064         Timeout(const Timeout &t);
00065 };
00066 
00067 } // of Eris namespace
00068 
00069 #endif

Generated on Mon Jan 29 21:35:50 2007 for Eris by  doxygen 1.5.1