eis/inc/gtm/TimerThread.h

91 lines
2.1 KiB
C++

/*********************************************************************
*
* 文 件: TimerThread.h 多线程控制
*
* 版权所有: Shanghai Baosight Software Co., Ltd.
*
* 概述:
* :
* :
*
* 版本历史
* 1.0 2010-09-01 echo_li 增加注释
*
*********************************************************************/
#ifndef H_TimerThread_H
#define H_TimerThread_H
#include <IceUtil/Time.h>
#include <IceUtil/Thread.h>
#include <log4cplus/LOG.h>
#include <common/Macro.h>
//#include <cold/GtmDefine.h>
using namespace IceUtil;
struct TMRINFO; /* Forward declaration */
#define MAX_TASKNAME 48
#define MAX_TIMER_SEQ 256
/*********************************************************************
* 类 名: TimerThread
* 版权所有: Shanghai Baosight Software Co., Ltd.
* 类 职 责:
* :
* :
* 版本历史
* 1.0 2010-09-01 echo_li 增加注释
*
*********************************************************************/
class TimerThread:public Thread
{
public:
TimerThread( struct TMRINFO *);
virtual ~TimerThread();
/**********************************************************************
* 概述: 线程启动
* 函数名: run
* 返回值: void
* 参数列表: 参数类型 取值范围 描述
*
* 版本历史
* 1.0 2010-09-01 echo_li 增加注释
*
**********************************************************************/
void run();
/**********************************************************************
* 概述: 线程停止
* 函数名: cancel
* 返回值: void
* 参数列表: 参数类型 取值范围 描述
*
* 版本历史
* 1.0 2010-09-01 echo_li 增加注释
*
**********************************************************************/
void cancel();
private:
struct TMRINFO *ptm;
int evtFreq;
int keepRun;
IceUtil::Time t;
};
//定时任务结定义
struct TMRINFO
{
char TaskName[MAX_TASKNAME];
int SwitchFact;
unsigned int DelayTime;
int LenBuf;
int TimeMethod;
char *mlc_buff;
Handle<TimerThread> tHDL;
IceUtil::ThreadControl tTC;
} ;
#endif