eis/inc/gtm/TimerThread.h

91 lines
2.1 KiB
C
Raw Normal View History

/*********************************************************************
*
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: TimerThread.h <EFBFBD><EFBFBD><EFBFBD>߳̿<EFBFBD><EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Shanghai Baosight Software Co., Ltd.
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* :
* :
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-01 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
*********************************************************************/
#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
/*********************************************************************
* <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>: TimerThread
* <EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Shanghai Baosight Software Co., Ltd.
* <EFBFBD><EFBFBD> ְ <EFBFBD><EFBFBD>:
* :
* :
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-01 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
*********************************************************************/
class TimerThread:public Thread
{
public:
TimerThread( struct TMRINFO *);
virtual ~TimerThread();
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> run
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> void
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-01 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
void run();
/**********************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD>߳<EFBFBD>ֹͣ
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cancel
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> void
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȡֵ<EFBFBD><EFBFBD>Χ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2010-09-01 echo_li <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
**********************************************************************/
void cancel();
private:
struct TMRINFO *ptm;
int evtFreq;
int keepRun;
IceUtil::Time t;
};
//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B6A8>
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