Files
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

68 lines
1.7 KiB
C++

#ifndef _SEND_MANAGE_PACKET_H_
#define _SEND_MANAGE_PACKET_H_
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <winsock2.h>
#include <windows.h>
// 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