/************************************************************************* 【文件名】 AuthMgr.h 【功能模块和目的】 鉴权管理类头文件 【开发者及日期】 郑石诺 2015/11/20 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once #define TIMER_INTERVAL_AUTH_POLL 3600 #define TIMER_INTERVAL_AUTH_INVALID 600 #define TTL_FOR_AUTH_INVALID 3600 /************************************************************************* 【类名】 CAuthMgr 【功能】 【接口说明】 鉴权管理类 【开发者及日期】 郑石诺 2015/11/20 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CAuthMgr { SINGLETON_DECLARE(CAuthMgr) public: ~CAuthMgr(void); bool isValid(void) const { return m_IsValid; } UINT getValidAgentCount(void) const { return m_AgentCount; } UINT getValidIvrFlowCount(void) const { return m_IvrFlowCount; } // 操作 void init(void); private: CAuthMgr(void); static void CALLBACK __authPollCallback(void); // 授权轮询定时器回调函数 static void CALLBACK __authInvalidCallback(void); // 授权无效的计时器回调函数 void __onAuthInvalid(void); void __setAuthPollTimer(void); void __killAuthPollTimer(void); void __setAuthInvalidTimer(void); void __killAuthInvalidTimer(void); void __onTimerAuthPoll(void); void __onTimerAuthInvalid(void); private: bool m_IsValid; UINT m_TimerIdAuthPoll; UINT m_TimerIdAuthInvalid; UINT m_LeftTime; UINT m_IvrFlowCount; UINT m_AgentCount; };