|
@@ -621,20 +621,7 @@ typedef struct CInitlizerMKRet : CHTTPRet {
|
|
|
class MyMutex;
|
|
|
class CAccessAuthFSM : public FSMImpl<CAccessAuthFSM>, public IFSMStateHooker
|
|
|
{
|
|
|
-public:
|
|
|
- /*struct ReportStateEvent : public FSMEvent
|
|
|
- {
|
|
|
- ReportStateEvent(char cNewStage, DWORD dwNewStageTime, char cOldStage, DWORD dwOldStageTime):
|
|
|
- FSMEvent(Event_ReportStage), cNewStage(cNewStage), dwNewStageTime(dwNewStageTime),
|
|
|
- cOldStage(cOldStage), dwOldStageTime(dwOldStageTime)
|
|
|
- {}
|
|
|
-
|
|
|
- char cNewStage;
|
|
|
- char cOldStage;
|
|
|
- DWORD dwNewStageTime;
|
|
|
- DWORD dwOldStageTime;
|
|
|
- };*/
|
|
|
-
|
|
|
+public:
|
|
|
CAccessAuthFSM();
|
|
|
virtual ~CAccessAuthFSM();
|
|
|
|
|
@@ -642,67 +629,11 @@ public:
|
|
|
virtual ErrorCodeEnum OnInit();
|
|
|
virtual ErrorCodeEnum OnExit();
|
|
|
|
|
|
- //enum{s1, s2, s3, s4, s5, s6, s7};
|
|
|
-
|
|
|
- //enum
|
|
|
- //{
|
|
|
- // Event_StartRegist = EVT_USER+1,
|
|
|
- // Event_StartReregist,
|
|
|
- // Event_ConnectionOK,
|
|
|
- // Event_EndSyncTime,
|
|
|
- // Event_UpdateWKSucc,
|
|
|
- // Event_IgnoreUpdateWK,
|
|
|
- // Event_UpdateWKFail,
|
|
|
- // Event_ReqTokenSucc,
|
|
|
- // Event_ReqTokenFail,
|
|
|
- // Event_ReqTokenCancel,
|
|
|
- // Event_StartUnregist,
|
|
|
- // Event_LostTrust,
|
|
|
- // Event_StateTimeout, // 临时状态超时
|
|
|
- // Event_ReportStage,
|
|
|
- // Event_CheckMD5Succ,
|
|
|
- // Event_CheckMD5Fail,
|
|
|
- // Event_InitFinishOK,
|
|
|
- // Event_GetHsotFailed,
|
|
|
- // Event_NetworkIllegal,
|
|
|
- // Event_SyncTimeFailed //同步时间失败
|
|
|
- //};
|
|
|
-
|
|
|
- //BEGIN_FSM_STATE(CAccessAuthFSM)
|
|
|
- // FSM_STATE_ENTRY(s1, "Isolate",s1_on_entry,s1_on_exit,s1_on_event)
|
|
|
- // FSM_STATE_ENTRY(s2, "Checking",s2_on_entry,s2_on_exit,s2_on_event) //开始准入
|
|
|
- // FSM_STATE_ENTRY(s3, "Failure",s3_on_entry,s3_on_exit,s3_on_event) //准入失败
|
|
|
- // FSM_STATE_ENTRY(s4, "Cancel", s4_on_entry, s4_on_exit, s4_on_event) //准入超时
|
|
|
- // FSM_STATE_ENTRY(s5, "Login", s5_on_entry, s5_on_exit, s5_on_event) //准入成功
|
|
|
- // FSM_STATE_ENTRY(s6, "Leaving", s6_on_entry, s6_on_exit, s6_on_event)
|
|
|
- // FSM_STATE_ENTRY(s7, "LostTrust", s7_on_entry, s7_on_exit, s7_on_event)
|
|
|
- //END_FSM_STATE()
|
|
|
-
|
|
|
- //BEGIN_FSM_RULE(CAccessAuthFSM,s1)
|
|
|
- // FSM_RULE_ENTRY_ANY(s1, s2, Event_StartRegist)
|
|
|
- // FSM_RULE_ENTRY_ANY(s1, s3, Event_GetHsotFailed)
|
|
|
- // //FSM_RULE_ENTRY_ANY(s2, s3, Event_UpdateWKFail)
|
|
|
- // FSM_RULE_ENTRY_ANY(s2, s3, Event_ReqTokenFail)
|
|
|
- // FSM_RULE_ENTRY_ANY(s2, s3, Event_CheckMD5Fail)
|
|
|
- // FSM_RULE_ENTRY_ANY(s2, s3, Event_NetworkIllegal)
|
|
|
- // FSM_RULE_ENTRY_ANY(s2, s4, Event_ReqTokenCancel)
|
|
|
- // FSM_RULE_ENTRY_ANY(s2, s5, Event_ReqTokenSucc)
|
|
|
- // FSM_RULE_ENTRY_ANY(s2, s3, Event_SyncTimeFailed)
|
|
|
- // FSM_RULE_ENTRY_ANY(s3, s2, Event_StartRegist)
|
|
|
- // FSM_RULE_ENTRY_ANY(s4, s1, Event_StateTimeout)
|
|
|
- // FSM_RULE_ENTRY_ANY(s5, s6, Event_StartUnregist)
|
|
|
- // FSM_RULE_ENTRY_ANY(s5, s2, Event_StartReregist)
|
|
|
- // FSM_RULE_ENTRY_ANY(s5, s2, Event_StartRegist)
|
|
|
- // FSM_RULE_ENTRY_ANY(s5, s7, Event_LostTrust)
|
|
|
- // FSM_RULE_ENTRY_ANY(s6, s1, Event_StateTimeout)
|
|
|
- // FSM_RULE_ENTRY_ANY(s7, s1, Event_StateTimeout)
|
|
|
- //END_FSM_RULE()
|
|
|
-
|
|
|
- enum { s1, s2, s3 };
|
|
|
+ enum{s1, s2, s3};
|
|
|
|
|
|
enum
|
|
|
{
|
|
|
- Event_StartRegist = EVT_USER + 1,
|
|
|
+ Event_StartRegist = EVT_USER+1,
|
|
|
Event_ConnectionOK,
|
|
|
Event_EndSyncTime,
|
|
|
Event_ReqTokenFail,
|
|
@@ -714,17 +645,17 @@ public:
|
|
|
};
|
|
|
|
|
|
BEGIN_FSM_STATE(CAccessAuthFSM)
|
|
|
- FSM_STATE_ENTRY(s1, "Isolate", s1_on_entry, s1_on_exit, s1_on_event)
|
|
|
- FSM_STATE_ENTRY(s2, "Checking", s2_on_entry, s2_on_exit, s2_on_event)
|
|
|
+ FSM_STATE_ENTRY(s1, "Isolate",s1_on_entry,s1_on_exit,s1_on_event)
|
|
|
+ FSM_STATE_ENTRY(s2, "Checking",s2_on_entry,s2_on_exit,s2_on_event)
|
|
|
FSM_STATE_ENTRY(s3, "Authorized", s3_on_entry, s3_on_exit, s3_on_event)
|
|
|
- END_FSM_STATE()
|
|
|
+ END_FSM_STATE()
|
|
|
|
|
|
- BEGIN_FSM_RULE(CAccessAuthFSM, s1)
|
|
|
+ BEGIN_FSM_RULE(CAccessAuthFSM,s1)
|
|
|
FSM_RULE_ENTRY_ANY(s1, s2, Event_StartRegist)
|
|
|
FSM_RULE_ENTRY_ANY(s1, s3, Event_AccessAuthSucc)
|
|
|
FSM_RULE_ENTRY_ANY(s2, s1, Event_ReqTokenCancel)
|
|
|
FSM_RULE_ENTRY_ANY(s2, s3, Event_AccessAuthSucc)
|
|
|
- END_FSM_RULE()
|
|
|
+ END_FSM_RULE()
|
|
|
|
|
|
void s1_on_entry();
|
|
|
void s1_on_exit();
|
|
@@ -735,24 +666,10 @@ public:
|
|
|
unsigned int s2_on_event(FSMEvent* event);
|
|
|
|
|
|
void s3_on_entry();
|
|
|
- void s3_on_exit();
|
|
|
- unsigned int s3_on_event(FSMEvent* event);
|
|
|
-
|
|
|
- /*void s4_on_entry();
|
|
|
- void s4_on_exit();
|
|
|
- unsigned int s4_on_event(FSMEvent* event);
|
|
|
-
|
|
|
- void s5_on_entry();
|
|
|
- void s5_on_exit();
|
|
|
- unsigned int s5_on_event(FSMEvent* event);
|
|
|
|
|
|
- void s6_on_entry();
|
|
|
- void s6_on_exit();
|
|
|
- unsigned int s6_on_event(FSMEvent* event);
|
|
|
+ void s3_on_exit();
|
|
|
|
|
|
- void s7_on_entry();
|
|
|
- void s7_on_exit();
|
|
|
- unsigned int s7_on_event(FSMEvent* event);*/
|
|
|
+ unsigned int s3_on_event(FSMEvent* event);
|
|
|
|
|
|
public:
|
|
|
void UpdateWK();
|
|
@@ -795,6 +712,7 @@ private:
|
|
|
ErrorCodeEnum LoadCenterConfig();
|
|
|
|
|
|
bool IsNetworkChecking() const { return m_fNetworkChecking; }
|
|
|
+ void GetDiffSyncTimeFromCenterSettings();
|
|
|
|
|
|
int m_nExitReason;
|
|
|
int m_nExitWay;
|
|
@@ -812,6 +730,7 @@ private:
|
|
|
int m_nAccessFailedCount;
|
|
|
|
|
|
bool m_fNetworkChecking;
|
|
|
+ int m_torelateDiffSyncTimeSecs;
|
|
|
};
|
|
|
class MyMutex {
|
|
|
public:
|