|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /proc/self/root/usr/local/src/apcupsd-3.14.10/include/ |
Upload File : |
#ifndef __ATIMER_H
#define __ATIMER_H
#include <pthread.h>
#include "athread.h"
class atimer: public athread
{
public:
class client
{
public:
virtual void HandleTimeout(int id) = 0;
protected:
client() {}
virtual ~client() {}
};
atimer(client &cli, int id = 0);
~atimer();
void start(unsigned long msec);
void stop();
private:
virtual void body();
client &_client;
int _id;
pthread_mutex_t _mutex;
pthread_cond_t _condvar;
bool _started;
struct timespec _abstimeout;
// Prevent use
atimer(const atimer &rhs);
atimer &operator=(const atimer &rhs);
};
#endif // __ATIMER_H