// BillingTestModule.h : PROJECT_NAME ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ëÇÑ ÁÖ Çì´õ ÆÄÀÏÀÔ´Ï´Ù. // #pragma once #ifndef __AFXWIN_H__ #error PCH¿¡¼­ ÀÌ ÆÄÀÏÀ» Æ÷ÇÔÇϱâ Àü¿¡ 'stdafx.h'¸¦ Æ÷ÇÔÇϽʽÿÀ. #endif #include "resource.h" // ÁÖ ±âÈ£ #include "BillingAsyncSocket.h" #include "HanUnitedBillingPacket.h" #include #include class CBillingTestModuleDlg; // CBillingTestModuleApp: // ÀÌ Å¬·¡½ºÀÇ ±¸Çö¿¡ ´ëÇØ¼­´Â BillingTestModule.cppÀ» ÂüÁ¶ÇϽʽÿÀ. // class CBillingTestModuleApp : public CWinApp { public: CBillingTestModuleApp(); // ÀçÁ¤ÀÇ public: virtual BOOL InitInstance(); // ±¸Çö DECLARE_MESSAGE_MAP() public: enum { LISTEN_PORT = 10800 }; void ProcessPacket(); void AddRecvPacket(CBillingAsyncSocket& billingAsyncSocket, const char* szBuffer, unsigned short usDataLen); void SetMainDlg(CBillingTestModuleDlg& billingTestModule) { m_lpBillingTestModule = &billingTestModule; } void ResetMainDlg(CBillingTestModuleDlg& billingTestModule) { if(m_lpBillingTestModule == &billingTestModule) { m_lpBillingTestModule = 0; } } CBillingTestModuleDlg* GetMainDlg() { return m_lpBillingTestModule; } size_t GetConnectedSocketNum() { return m_SocketList.size(); } void RegisterSocket(CBillingAsyncSocket& billingAsyncSocket); void RemoveSocket(CBillingAsyncSocket& billingAsyncSocket); void SendPendingAll(const HanUnitedBilling::GLTransStruct& glTransStruct); private: bool ProcessLogin(CBillingAsyncSocket& billingAsyncSocket, const HanUnitedBilling::GLTransStruct& glTransStruct); bool ProcessLogout(CBillingAsyncSocket& billingAsyncSocket, const HanUnitedBilling::GLTransStruct& glTransStruct); bool ProcessBillAuth(CBillingAsyncSocket& billingAsyncSocket, const HanUnitedBilling::GLTransStruct& glTransStruct); struct Packet { CBillingAsyncSocket& m_billingAsyncSocket; HanUnitedBilling::GLTransStruct m_glTransStruct; unsigned long m_dwPendingTime; unsigned long m_dwDelayMSec; explicit Packet(CBillingAsyncSocket& billingAsyncSocket, const HanUnitedBilling::GLTransStruct glTransStruct, unsigned long dwDelayMSec); }; typedef std::deque PacketList; typedef std::list SocketList; PacketList m_RecvPacketList; SocketList m_SocketList; CBillingAsyncSocket* m_lpListenAsyncSocket; CBillingTestModuleDlg* m_lpBillingTestModule; }; extern CBillingTestModuleApp theApp;