Files
Client/Server/RylServerProject/RylDBAgentServer/RylDBAgentServer.h
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

78 lines
2.0 KiB
C++

#ifndef _RYL_DBAGENT_SERVER_H_
#define _RYL_DBAGENT_SERVER_H_
#include <Utility/ServerAppFramework/ServerWindowFramework.h>
#ifdef AUTH_MY
#include "NFAuthClient/AuthClient.h"
#endif
// forward delc.
class CPulse;
class CSessionPolicy;
class CRylDBAgentServer : public CServerWindowFramework
#ifdef AUTH_MY
, public CPacketEvent
#endif
{
public:
static CRylDBAgentServer& GetInstance();
// Desc : RylDBAgentCommands에서 호출하는 함수들.
void PrintStatistics();
void PrintServerInfo();
void ReloadSetup();
void ConnectAll(); // 로그인, UID서버로 연결을 시도한다
void SendDBAgentManageInfo(); // 관리서버로 패킷 보냄
void SendChannelData(); // 각 서버로 채널 관련 데이터 보냄
void UpdateDBData(CPulse& Pulse); // 남은 시간에 DB데이터 업데이트
void ForceUpdateDBData(); // DB에 변경된 데이터를 전부 기록한다
void ManageUnloadedData(); // 로드되지 않은 데이터를 관리한다
#ifdef AUTH_MY
public:
virtual void EventConnect(BOOL bConnect);
virtual void EventIRC(CHAR* strCmd, CHAR* strMsg);
virtual void EventCMD(DWORD dwCmd, DWORD dwValue);
virtual void EventIPLIST(CHAR Type, CHAR Page, SHORT Count, char* lpIPList_Out);
void Update(unsigned long dwTick);
#endif
protected:
virtual bool ApplicationSpecificInit(const TCHAR* szCmdLine);
bool InitializeCommand();
bool InitializeMsgProc();
private:
CRylDBAgentServer();
virtual ~CRylDBAgentServer();
bool CreateSessionPolicy();
void DeleteSessionPolicy();
bool ListenAll(); // 운영툴, 인증, 챗, 게임에 대해서 리스너를 생성해서 붙인다
CSessionPolicy* m_lpAdminToolPolicy;
CSessionPolicy* m_lpAuthPolicy;
CSessionPolicy* m_lpChatPolicy;
CSessionPolicy* m_lpGamePolicy;
CSessionPolicy* m_lpLoginPolicy;
CSessionPolicy* m_lpUIDPolicy;
CSessionPolicy* m_lpPart1DBAgentPolicy;
unsigned long m_dwFlag;
};
#endif