LAPTOP-SNT8I5JK\Boounion
2025-01-21 ccbda3e4f7ed430843fbc0190e8ee0d0f0e3a721
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma once
#include "Context.h"
 
 
#define ACTION_IDLE                                0
#define ACTION_HELLO                            1        /* S1F1 */
#define ACTION_ALARM_REPORT                        2        /* S5F1 */
 
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;
};