#pragma once /************************************************************************************************** ÀÛ¼ºÀÏ: 2008-07-08 ÀÛ¼ºÀÚ: ¹®»óÇö (youngmoon@webzen.co.kr) ¼³¸í: ºô¸µ¼­¹ö¸¦ »ç¿ëÇϴ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¼ö½ÅµÈ ÆÐŶÀ» Àü´ÞÇØ ÁÖ±â À§ÇÑ À̺¥Æ® °´Ã¼ À̺¥Æ®¸¦ ¹Þ´ÂÂÊ(ºô¸µÅ¬¶óÀ̾ðÆ®)¿¡¼­ »ó¼Ó¹Þ¾Æ »ç¿ëÇØ¾ß ÇÑ´Ù. **************************************************************************************************/ #include "ClientSession.h" class CBillEventHandler : public CClientSession { public: CBillEventHandler(void); virtual ~CBillEventHandler(void); // ÃʱâÈ­ ÇÔ¼ö (ÇÁ·Î±×·¥ ½ÇÇàÇϰí Çѹø¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù.) bool CreateSession(WBANetwork::LPFN_ErrorHandler errhandler = NULL); // ºô¸µ ·Î±×ÀÎ ¿äû bool UserLogin( DWORD dwAccountGUID, // °èÁ¤ GUID DWORD dwIPAddress, // Ŭ¶óÀÌ¾ðÆ® ¾ÆÀÌÇÇ ÁÖ¼Ò DWORD dwRoomGUID, // PC ¹æ GUID (¾øÀ»°æ¿ì 0), PC ¹æ GUID´Â °ÔÀÓ DB¿¡¼­ Á¶È¸ ÇÏ½Ã¸é µË´Ï´Ù. (PC¹æ Á¤º¸´Â °ÔÀÓ DB¿Í ºô¸µ DB µ¿±âÈ­ µÊ) DWORD dwGameCode, // °ÔÀÓ ÄÚµå DWORD dwServerType); // ¼­¹ö À¯Çü ÄÚµå // ºô¸µ ·Î±×¾Æ¿ô ¿äû bool UserLogout( long dwBillingGUID); // ºô¸µ À¯´ÏÅ© ¾ÆÀ̵ð(·Î±×ÀÎ ¼º°ø ½Ã OnUserStatus ÇÔ¼ö¸¦ ÅëÇØ Àü´ÞµÈ °ª) // ºô¸µ ·Î±×ÀÎ Á¤º¸ Á¶È¸ ¿äû bool InquireUser( long dwBillingGUID); // ºô¸µ À¯´ÏÅ© ¾ÆÀ̵ð(·Î±×ÀÎ ¼º°ø ½Ã OnUserStatus ÇÔ¼ö¸¦ ÅëÇØ Àü´ÞµÈ °ª) // PC ¹æÀÌ ¸ÖƼ À¯Àú Áö¿ø ¿©ºÎ Á¶È¸ bool InquireMultiUser( long AccountGUID, // °èÁ¤ GUID long RoomGUID); // PC ¹æ GUID // °³ÀÎ Á¤¾×/Á¤·® º¸À¯ ¿©ºÎ Á¶È¸ bool InquirePersonDeduct( long AccountGUID, // °èÁ¤ GUID long GameCode); // °ÔÀÓ ÄÚµå // ƯÁ¤ PC¹æÀÇ °ÔÀÓ º° Á¤·® º¸À¯ ¿©ºÎ Á¶È¸ bool InquirePCRoomPoint( long AccountGUID, // °èÁ¤ GUID long RoomGUID, // PC ¹æ GUID long GameCode); // °ÔÀÓ ÄÚµå protected: // [do not override] - ·Î±ëÈÄ ÀûÀýÇÑ ÀÀ´äó¸® ÇÔ¼ö(On...()) È£Ãâ void OnReceive(PBYTE buffer, int size); // [do not override] - ·Î±ë¸¸ Çϰí OnNetConnect() È£Ãâ void OnConnect(bool success, DWORD error); // [do not override] - ·Î±ë¸¸ Çϰí OnNetSend() È£Ãâ void OnSend(int size); // [do not override] - ·Î±ë¸¸ Çϰí OnNetClose() È£Ãâ void OnClose(DWORD error); protected: // À¯ÀúÀÇ °áÀç Á¤º¸°¡ º¯°æµÇ¾úÀ» ¶§ Àü´Þ¹Þ´Â Äݹé // Á¤»ó ·Î±×ÀÎÀÇ °æ¿ì : (0 == nResultCode) && (0 == nAccessCheck) && (0 != nDeductType) virtual void OnUserStatus( DWORD dwAccountGUID, // °èÁ¤ GUID long dwBillingGUID, // ºô¸µ À¯´ÏÅ© ¾ÆÀ̵ð DWORD RealEndDate, // Á¤¾× »ç¿ë Á¾·á ÀϽà (__time32_t) DWORD EndDate, // Á¤¾× ½ÇÁ¦ Á¾·á ÀϽà double dRestPoint, // Á¤·® ÀÜ¿© Æ÷ÀÎÆ® double dRestTime, // Á¤·® ÀÜ¿¬ ½Ã°£(ÃÊ) short nDeductType, // »ç¿ëÀÚ Â÷°¨ À¯Çü short nAccessCheck, // Á¢±Ù üũ °á°ú short nResultCode) // ó¸® °á°ú = 0; // °³ÀÎÀÇ °ÔÀÓ º° Á¤¾×, Á¤·® º¸À¯ ¿©ºÎ Á¶È¸ °á°ú virtual void OnInquirePersonDeduct( long AccountGUID, // °èÁ¤ GUID long GameCode, // °ÔÀÓ ÄÚµå long ResultCode) // ó¸® °á°ú = 0; // ƯÁ¤ PC¹æÀÇ °ÔÀÓ º° Á¤·® º¸À¯ ¿©ºÎ Á¶È¸ °á°ú virtual void OnInquirePCRoomPoint( long AccountGUID, // °èÁ¤ GUID long RoomGUID, // PC ¹æ GUID long GameCode, // °ÔÀÓ ÄÚµå long ResultCode) // ó¸® °á°ú = 0; // PC ¹æ ¸ÖƼ À¯Àú Á¶È¸ °á°ú // Result : 1 (°¡´É), 2 (ºÒ°¡), -1 (PC¹æ Á¤º¸ ¾øÀ½) virtual void OnInquireMultiUser( long AccountID, // °èÁ¤ GUID long RoomGUID, // PC ¹æ GUID long Result) // ó¸® °á°ú = 0; // ºô¸µ¿¡ ·Î±×ÀÎÇÑ À¯Àú Á¤º¸¸¦ ÀÎÁõ¼­¹ö¿¡ Àü¼Û // ½ÇÁ¦·Î ÀÎÁõ¼­¹ö¿¡ ·Î±×ÀÎ Çß´ÂÁö üũÇϵµ·Ï ¾Ë·ÁÁÖ´Â ÀÎÅÍÆäÀ̽º // Á¤·®¿¡ ´ëÇØ¼­¸¸ ·Î±×ÀÎ ÈÄ ¾à 3ºÐ¿¡ Çѹø¾¿ Àü¼Û. // »óǰÀÌ º¯°æµÇ´Â ½ÃÁ¡°ú, ·Î±×¾Æ¿ô µÇ¸é Àü¼ÛµÇÁö ¾Ê´Â´Ù. virtual void OnCheckLoginUser( long AccountID, // °èÁ¤ GUID long BillingGUID) // ºô¸µ À¯´ÏÅ© ¾ÆÀ̵ð(·Î±×ÀÎ ¼º°ø ½Ã OnUserStatus ÇÔ¼ö¸¦ ÅëÇØ Àü´ÞµÈ °ª) = 0; // ºô¸µ¼­¹ö¿¡ Á¢¼ÓÇÑ ÀÌÈÄ PC¹æ ¾÷ÁÖ°¡ PC¹æ IP¸¦ º¯°æÇßÀ» ¶§, // ºô¸µ¼­¹ö¿¡ Á¢¼ÓµÇ¾îÁ® ÀÖ´Â °ÔÀÓ¼­¹ö·Î IPº¯°æÇÑ PC¹æ GUID¸¦ ¾Ë·ÁÁÜ. virtual void OnPCRoomIPUpdate( long RoomGUID, // PC ¹æ GUID long GameCode) // ó¸® °á°ú = 0; // ºô¸µ¼­¹öÀÇ ¿¬°á ¼º°ø ¿©ºÎ // (»õ·Î ¿¬°áµÇ¸é ÇöÀç Â÷°¨ÀÌ ÇÊ¿äÇÑ ¸ðµç À¯ÀúÀÇ Á¤º¸¸¦ ´Ù½Ã ·Î±×ÀÎÇØ¾ßÇÑ´Ù.) // success : ¿¬°á ¼º°ø ¿©ºÎ // error : ¿¡·¯ÄÚµå virtual void OnNetConnect(bool success, DWORD error) = 0; // ºô¸µ¼­¹ö·Î º¸³½ µ¥ÀÌŸ Àü¼Û ¿©ºÎ // size : Àü¼ÛµÈ ÆÐŶ »çÀÌÁî virtual void OnNetSend(int size) = 0; // ºô¸µ¼­¹ö¿Í ¼¼¼ÇÀÌ ²÷°åÀ»¶§ (ºô¸µ¼­¹ö°¡ Á×Àº°ÍÀ¸·Î ó¸® ÇØ¾ßÇÑ´Ù.) // error : ¿¡·¯ÄÚµå virtual void OnNetClose( DWORD error ) = 0; //·Î±×¸¦ ½á¾ßÇÒ¶§ º¸³»´Â À̺¥Æ® ¸Þ¼Òµå virtual void WriteLog(char* szMsg) = 0; private: // ºô¸µ¼­¹öÀÇ ·Î±×¸¦ ÀÛ¼º À̺¥Æ® : ÇÔ¼ö³»ºÎ¿¡¼­ ·Î±×¸¦ ³²±æ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÔ. void WriteLog(const char* szFormat, ...); };