#ifndef _DBAGENT_SERVER_UID_DISPATCH_H_ #define _DBAGENT_SERVER_UID_DISPATCH_H_ #include #include #include // forward decl. struct PktBase; struct PktUUTAck; struct PktBTN; struct PktHanBTN; struct PktHanUserKill; struct PktUK; struct PktSLAck; namespace DBAgent { extern const char* g_szPktUUTString[PktUUT::MAX_UPDATE_TYPE]; class CUIDDispatch : public CRylServerDispatch { public: static CSingleDispatch& GetDispatchTable(); enum Const { MAX_PACKET_DISPATCH_PER_PULSE = 100, MAX_STREAM_BUFFER_SIZE = 16000 }; CUIDDispatch(CSession& Session); virtual ~CUIDDispatch(); virtual void Connected(); virtual void Disconnected(); virtual bool DispatchPacket(PktBase* lpPktBase); private: bool ParseServerLoginAck(PktSLAck* lpPktSLAck); bool ParseServerLogoutAck(PktBase* lpPktBase); bool ParseUpdateUIDTable(PktUUTAck* lpPktUUTAck); bool ParseBillingTimeNotify(PktBTN* lpPktBTN); // Çѱ¹ °ú±Ý °æ°í ¸Þ½ÃÁö bool ParseBillingTimeCheckNotify(PktBTN* lpPktBTN); // ´ë¸¸ °ú±Ý °æ°í ¸Þ½ÃÁö bool ParseHanBTNWarning(PktHanBTN* lpPktHanBTN); // Çѱ¹ ÅëÇÕºô¸µ °ú±Ý °æ°í ¸Þ½ÃÁö bool ParseHanBTNUserKill(PktHanUserKill* lpPktHanUserKill); // Çѱ¹ ÅëÇÕºô¸µ °ú±Ý Á¢¼Ó ²÷±â bool ParseUserKill(PktUK* lpPktUK); // Á¢¼Ó ²÷±â }; } #endif