timer.h

来自「linux下同一个进程中多个定时器实现。简单描述下定时器模块的实现」· C头文件 代码 · 共 37 行

H
37
字号
#ifndef _CTIMER_H_
#define _CTIMER_H_
#include "queue.h"
#include <sys/time.h>
class CTimer
{
friend class CTimerManager;
public:
	typedef enum
	{
		TIMER_IDLE=0,
		TIMER_ALIVE,
		TIMER_TIMEOUT
	}TimerState;
	typedef enum
	{
		TIMER_ONCE=0,
		TIMER_CIRCLE
	}TimerType;
	CTimer(unsigned int vinterval=0,void (*vfunc)(CTimer *,void *)=0,void *vdata=0,TimerType vtype=TIMER_ONCE);
	void start();
	void stop();
	void reset(unsigned int vinterval);
	~CTimer();
private:
	unsigned int id_;
	unsigned long m_interval;
	unsigned int m_counter;
	struct timeval m_endtime;
	TimerState m_state;
	TimerType m_type;
	void (*m_func)(CTimer *,void *);
	void * m_data;
	TAILQ_ENTRY(CTimer) entry_;
};
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?