#pragma once #include "Context.h" #define ACTION_IDLE 0 #define ACTION_HELLO 1 /* S1F1 */ class CHsmsAction { public: CHsmsAction(); CHsmsAction(int nAction, BOOL bNeedReply, unsigned int nTimeout); ~CHsmsAction(); public: void reset(); void resetResponseTime(); void setAction(int nAction, BOOL bNeedReply = TRUE, unsigned int nTimeout = 45); int getAction(); void setContext(CContext* pContext); CContext* getContext(); void setSendMessage(IMessage* pMessage); IMessage* getSendMessage(); unsigned int getTimeout(); BOOL isNeedWaitReply(); HANDLE getEvent(); int responseTimeIncrement(); BOOL incrementAndCheckTimeout(); private: int m_nAction; unsigned int m_nTimeout; // ³¬Ê±(Ãë) unsigned int m_nResponseTime; CContext* m_pContext; HANDLE m_hEvent; BOOL m_bNeedWaitReply; IMessage* m_pSendMessage; };