// BillingTestModuleDlg.h : Çì´õ ÆÄÀÏ // #pragma once #include "afxcmn.h" #include "afxwin.h" #include #include #include #include "BillingAsyncSocket.h" // forward decl. class CBillingAsyncSocket; enum DlgLogType { NORMAL_LOG, ERROR_LOG }; // CBillingTestModuleDlg ´ëÈ­ »óÀÚ class CBillingTestModuleDlg : public CDialog { // »ý¼º public: CBillingTestModuleDlg(CWnd* pParent = NULL); // Ç¥ÁØ »ý¼ºÀÚ // ´ëÈ­ »óÀÚ µ¥ÀÌÅÍ enum { IDD = IDD_BILLINGTESTMODULE_DIALOG }; enum Behavior { NORMAL_PROCESS = 0, SUCCESS_ALL_PROCESS = 1, FAIL_ALL_PROCESS = 2, DELAY_ALL_PROCESS = 3, DROP_ALL_PROCESS = 4 }; protected: HICON m_hIcon; virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿ø virtual void OnOK(); virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); DECLARE_MESSAGE_MAP() virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); private: void AddAddress(in_addr addressStart, in_addr addressEnd); void SaveAddress(); void LoadAddress(); int FindCurrentUserPos(const char* szID, const char* szIP); bool CheckIPList(const char* szIP); CListCtrl m_ctrlCurrentUserList; CListCtrl m_ctrlLoginIPList; CListCtrl m_BillingLog; CIPAddressCtrl m_StartIP; CIPAddressCtrl m_EndIP; CComboBox m_LoginAckType; CComboBox m_BillAuthAckType; DWORD m_LoginAckDelay; DWORD m_BillAuthAckDelay; CEdit m_LoginAckDelayDlg; CEdit m_BillAuthAckDelayDlg; size_t m_nSocketNum; public: void AddLog(DlgLogType eLogType, const TCHAR* szFormat, ...); bool Login(CBillingAsyncSocket& billingAsyncSocket, unsigned long dwSeqID, const char* szID, const char* szIP); bool Logout(CBillingAsyncSocket& billingAsyncSocket, unsigned long dwSeqID, const char* szID, const char* szIP); bool BillAuth(CBillingAsyncSocket& billingAsyncSocket, unsigned long dwSeqID, const char* szID, const char* szIP); Behavior GetLoginAckType() { return static_cast(m_LoginAckType.GetCurSel()); } Behavior GetBillAuthAckType() { return static_cast(m_BillAuthAckType.GetCurSel()); } DWORD GetLoginAckDelay() { UpdateData(true); return m_LoginAckDelay; } DWORD GetBillAuthAckDelay() { UpdateData(true); return m_BillAuthAckDelay; } afx_msg void OnDisconnectUser(); afx_msg void OnSendMsgUser(); afx_msg void OnIpDelete(); afx_msg void OnBnClickedIPAdd(); afx_msg void OnBnClickedSaveLog(); afx_msg void OnBnClickedClearLog(); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnDestroy(); afx_msg void OnCbnSelchangeLoginAckType(); afx_msg void OnCbnSelchangeBillAuthAckType(); };