// // Linux Daemon // /* prevent multiple inclusions */ #ifndef __Timer__ #define __Timer__ /* includes *****************************************************************/ #include #include #include #include #include #include #include #include #include #include "netlib.h" /* defines ******************************************************************/ /* macros *******************************************************************/ /* structs & typedefs *******************************************************/ /* c class definitions ******************************************************/ class Timer { // public data public: // protected data protected: struct timespec m_timespec; bool m_running; // private data private: // public methods public: // constructors Timer(); // destructor virtual ~Timer(); // public methods // virtual functions virtual int Restart(void); virtual int Start( unsigned long usec ); virtual void Stop(void); virtual unsigned long Remaining(void); virtual int Wait(void); virtual int Sync(void); // Wait()+Restart() // exceptions class TimerException { char *toString(void) { return strerror(errno); }; }; // static methods static void Sleep( unsigned int sec ) { sleep(sec); }; static void MilliSleep( unsigned long msec ) { msleep(msec); }; static void MicroSleep( unsigned long usec ) { usleep(usec); }; static void NanoSleep( unsigned long nsleep ); // private methods private: // signal catchers (do not override) }; #endif