sesseltimeout.h

来自「linux下编写的一个时间定时触发器」· C头文件 代码 · 共 52 行

H
52
字号
#ifndef SESSELTIMEOUT_H
#define SESSELTIMEOUT_H

#include <sys/select.h>
#include <sys/time.h>
#include <time.h>

#include <vector>

typedef struct timeval SelTime_T;

SelTime_T operator+ (SelTime_T &t1, SelTime_T &t2);
SelTime_T operator- (SelTime_T &t1, SelTime_T &t2);
bool operator> (SelTime_T &t1, SelTime_T &t2);
bool operator< (SelTime_T &t1, SelTime_T &t2);
bool operator== (SelTime_T &t1, SelTime_T &t2);

struct TimeOutStruct_T
{
	TimeOutStruct_T (SelTime_T timeout, time_t timerepeat, char* msgsourcename)
	{
		t.tv_sec = timeout.tv_sec;
		t.tv_usec = timeout.tv_usec;
		rt = timerepeat;
		strcpy(MsgSourceName, msgsourcename);
	}
	SelTime_T t;
	time_t rt;
	char MsgSourceName[256];
};

typedef std::vector<TimeOutStruct_T> TOSVct_T;

class sesSelTimeOut
{
public:
	void AddTimeOut (SelTime_T &t, time_t rt, char* MsgSourceName);
	void ClearAllTimeOut (void);
	void DelTimeOut (char* MsgSourceName);
	void DelTimeOut (SelTime_T &t, time_t rt, char* MsgSourceName);
	bool ExistTimeOut (SelTime_T &t, time_t rt, char* MsgSourceName);
	void RaiseTimeOut (SelTime_T &t, time_t rt, char* MsgSourceName);
	void ShowInfo (void);
	
	SelTime_T GetFirstTimeOut (void);

private:
	TOSVct_T tosVct;
};

#endif

⌨️ 快捷键说明

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