📄 pana_client_fsm.h
字号:
public AAA_StateTable<PANA_Client>{ public: PANA_ClientStateTable(); class PacOfflineExitActionRxPSR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPSR(); } }; class PacOfflineExitActionAuthUser : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPDI(); } }; class PacWaitEapMsgInExitActionTxPSA : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPSA(NULL); } }; class PacWaitPaaExitActionRxPAR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPAR(false); } }; class PacWaitPaaExitActionRxPAN : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPAN(); } }; class PacWaitPaaExitActionRxPFER : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPFER(); } }; class PacWaitPaaExitActionRxPBR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPBR(); } }; class PacWaitEapMsgExitActionTxPAN : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPAN(true); } }; class PacWaitEapMsgExitActionTxPAR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPAR(); } }; class PacWaitEapMsgExitActionTxPANTout : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPAN(false); } }; class PacWaitEapResultExitActionEapOpen : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPBA(false); c.NotifyAuthorization(); c.NotifyScheduleLifetime(); } }; class PacWaitEapResultCloseExitAction : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPBA(true); c.Disconnect(); } }; class PacWaitEapResultExitActionTxPERPpac : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPER(PANA_PPAC_CAPABILITY_UNSUPPORTED); } }; class PacWaitEapResultExitActionTxPERPcap : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPER(PANA_PROTECTION_CAPABILITY_UNSUPPORTED); } }; class PacWait1stEapResultExitAction : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPFEA(false); c.NotifyEapRestart(); } }; class PacWait1stEapResultCloseExitAction : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPFEA(true); c.Disconnect(); } }; class PacWait1stEapResultRestartExitAction : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.NotifyEapRestart(); } }; class PacOpenExitActionRxPPR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPPR(); } }; class PacOpenExitActionTxPPR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPPR(); } }; class PacOpenExitActionEapReAuth : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPDI(); } }; class PacOpenExitActionRxPAR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPAR(true); } }; class PacOpenExitActionRxPTR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPTR(); } }; class PacOpenExitActionTxPTR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPTR(PANA_TERMCAUSE_LOGOUT); } }; class PacOpenExitActionTxPUR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPUR(); } }; class PacOpenExitActionRxPUR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPUR(); } }; class PacOpenExitActionTxPRAR : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPRAR(); } }; class PacWaitPRAAExitActionRxPRAA : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPRAA(); } }; class PacWaitPPAExitActionRxPPA : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPPA(); } }; class PacWaitPUAExitActionRxPUA : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPUA(); } }; class PacSessTermExitActionRxPTA : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPTA(); } }; class PacExitActionTimeout : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.Disconnect(PANA_TERMCAUSE_SESSION_TIMEOUT); } }; class PacExitActionRetransmission : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c); }; class PacExitActionTxPEA : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.TxPEA(); } }; class PacWaitPEAExitActionRxPEA : public AAA_Action<PANA_Client> { virtual void operator()(PANA_Client &c) { c.RxPEA(true); } }; private: PacOfflineExitActionRxPSR m_PacOfflineExitActionRxPSR; PacOfflineExitActionAuthUser m_PacOfflineExitActionAuthUser; PacWaitEapMsgInExitActionTxPSA m_PacWaitEapMsgInExitActionTxPSA; PacWaitPaaExitActionRxPAR m_PacWaitPaaExitActionRxPAR; PacWaitPaaExitActionRxPAN m_PacWaitPaaExitActionRxPAN; PacWaitPaaExitActionRxPFER m_PacWaitPaaExitActionRxPFER; PacWaitPaaExitActionRxPBR m_PacWaitPaaExitActionRxPBR; PacWaitEapMsgExitActionTxPAR m_PacWaitEapMsgExitActionTxPAR; PacWaitEapMsgExitActionTxPAN m_PacWaitEapMsgExitActionTxPAN; PacWaitEapMsgExitActionTxPANTout m_PacWaitEapMsgExitActionTxPANTout; PacWaitEapResultExitActionEapOpen m_PacWaitEapResultExitActionEapOpen; PacWaitEapResultCloseExitAction m_PacWaitEapResultCloseExitAction; PacWaitEapResultExitActionTxPERPpac m_PacWaitEapResultExitActionTxPERPpac; PacWaitEapResultExitActionTxPERPcap m_PacWaitEapResultExitActionTxPERPcap; PacWait1stEapResultExitAction m_PacWait1stEapResultExitAction; PacWait1stEapResultCloseExitAction m_PacWait1stEapResultCloseExitAction; PacWait1stEapResultRestartExitAction m_PacWait1stEapResultRestartExitAction; PacOpenExitActionRxPPR m_PacOpenExitActionRxPPR; PacOpenExitActionTxPPR m_PacOpenExitActionTxPPR; PacOpenExitActionEapReAuth m_PacOpenExitActionEapReAuth; PacOpenExitActionRxPAR m_PacOpenExitActionRxPAR; PacOpenExitActionRxPTR m_PacOpenExitActionRxPTR; PacOpenExitActionTxPTR m_PacOpenExitActionTxPTR; PacOpenExitActionTxPUR m_PacOpenExitActionTxPUR; PacOpenExitActionRxPUR m_PacOpenExitActionRxPUR; PacOpenExitActionTxPRAR m_PacOpenExitActionTxPRAR; PacWaitPRAAExitActionRxPRAA m_PacWaitPRAAExitActionRxPRAA; PacWaitPUAExitActionRxPUA m_PacWaitPUAExitActionRxPUA; PacWaitPPAExitActionRxPPA m_PacWaitPPAExitActionRxPPA; PacSessTermExitActionRxPTA m_PacSessTermExitActionRxPTA; PacExitActionRetransmission m_PacExitActionRetransmission; PacExitActionTimeout m_PacExitActionTimeout; PacExitActionTxPEA m_PacExitActionTxPEA; PacWaitPEAExitActionRxPEA m_PacWaitPEAExitActionRxPEA;};class PANA_EXPORT PANA_PacSession : public PANA_StateMachine<PANA_Client, PANA_SenderChannel>{ public: PANA_PacSession(PANA_Node &n, PANA_ClientEventInterface &eif); virtual ~PANA_PacSession(); virtual void Start() throw (AAA_Error); virtual void EapSendResponse(AAAMessageBlock *response); virtual void EapInvalidMessage(); virtual void EapSuccess(); virtual void EapTimeout(); virtual void EapFailure(); virtual void EapReAuthenticate(); virtual void UpdatePostPanaAddress(ACE_INET_Addr &addr, std::string &message); virtual void SendNotification(std::string &message); virtual void Ping(); virtual void Stop(); PANA_CfgProviderInfo &PreferedISP() { return m_PaC.PreferedISP(); } PANA_CfgProviderInfo &PreferedNAP() { return m_PaC.PreferedNAP(); } virtual PANA_DeviceId &PacDeviceId() { return m_PaC.PacDeviceId(); } virtual PANA_DeviceId &PaaDeviceId() { return m_PaC.PaaDeviceId(); } bool &EnableDhcpBootstrap() { return m_PaC.DhcpBootstrap().Enable(); } bool &ResumePreviousSession() { return m_PaC.AuxVariables().SecAssociationResumed(); } std::string &CurrentInterface() { return PANA_CFG_GENERAL().m_Interface; } private: virtual void InitializeMsgMaps(); virtual void FlushMsgMaps(); virtual void GetBindAddress(ACE_INET_Addr &addr); static PANA_ClientStateTable m_StateTable; PANA_Node &m_Node; PANA_SenderChannel m_Udp; FsmTimer<PANA_PacEventVariable, PANA_PacSession> m_Timer; PANA_Client m_PaC;};#endif // __PANA_CLIENT_FSM_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -