#ifndef _SEND_MANAGE_PACKET_H_ #define _SEND_MANAGE_PACKET_H_ #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include #include // forward decl. struct PktBase; class CSession; class CBufferFactory; class CPacketDispatch; namespace ServerManage { // forward decl. struct ManageCommand; struct UserInfo; bool CheckManagePacketLength(PktBase* lpPktBase); bool CheckUserPacketLength(PktBase* lpPktBase, int nExpectUserInfoNum = -1); // ¼­¹ö °ü¸® ÆÐŶÀ» º¸³½´Ù. bool SendManagePacket( CSession& Session, // ¼¼¼Ç unsigned char cCmd, // Ä¿¸Çµå unsigned int nMessage, // À©µµ¿ì ¸Þ½ÃÁö ¹øÈ£ WPARAM wParam, // WPARAM LPARAM lParam, // LPARAM unsigned long dwRunID, // RunID unsigned short usDataLen, // µ¥ÀÌÅÍ ±æÀÌ unsigned short usFlags, // Ãß°¡ µ¥ÀÌÅÍ Ç÷¡±× const void* lpData, // º¸³¾ µ¥ÀÌÅÍ unsigned char cError); // ¿¡·¯ Ä¿¸Çµå // À¯Àú Á¤º¸ ÆÐŶÀ» º¸³½´Ù. bool SendUserInfo( CBufferFactory& bufferFactory, // BufferFactory CSession* lpTarget, // ¼¼¼Ç. 0À̸é Broadcast const ServerManage::UserInfo* lpUserInfo, // À¯Àú Á¤º¸ (³»ºÎÀûÀ¸·Î ÆÐ½º¿öµå¸¸ Á¦°ÅÇÏ°í º¸³½´Ù) unsigned char cUserInfoNum, // À¯Àú Á¤º¸ °³¼ö unsigned char cCommand, // Ä¿¸Çµå. unsigned char cError); // ¿¡·¯. class CSendManagePacketToClient { public: CSendManagePacketToClient(ManageCommand& manageCommand, const char* lpData); bool operator() (CPacketDispatch& dispatch); bool operator() (unsigned long dwKeyType, CPacketDispatch& dispatch) { return operator() (dispatch); } private: ManageCommand& m_ManageCommand; const char* m_lpData; }; }; #endif