server/game/src/desc_client.h

54 lines
1.2 KiB
C
Raw Normal View History

2022-03-05 12:44:06 +02:00
#ifndef __CLIENT_H__
#define __CLIENT_H__
#include "desc.h"
class CLIENT_DESC : public DESC
{
public:
CLIENT_DESC();
virtual ~CLIENT_DESC();
virtual BYTE GetType() { return DESC_TYPE_CONNECTOR; }
virtual void Destroy();
virtual void SetPhase(int phase);
bool Connect(int iPhaseWhenSucceed = 0);
void Setup(LPFDWATCH _fdw, const char * _host, WORD _port);
void SetRetryWhenClosed(bool);
void DBPacketHeader(BYTE bHeader, DWORD dwHandle, DWORD dwSize);
void DBPacket(BYTE bHeader, DWORD dwHandle, const void * c_pvData, DWORD dwSize);
void Packet(const void * c_pvData, int iSize);
bool IsRetryWhenClosed();
void Update(DWORD t);
void UpdateChannelStatus(DWORD t, bool fForce);
// Non-destructive close for reuse
void Reset();
private:
void InitializeBuffers();
protected:
int m_iPhaseWhenSucceed;
bool m_bRetryWhenClosed;
time_t m_LastTryToConnectTime;
time_t m_tLastChannelStatusUpdateTime;
CInputDB m_inputDB;
CInputP2P m_inputP2P;
CInputTeen m_inputTeen;
};
extern LPCLIENT_DESC db_clientdesc;
extern LPCLIENT_DESC g_pkAuthMasterDesc;
extern LPCLIENT_DESC g_NetmarbleDBDesc;
extern LPCLIENT_DESC g_TeenDesc;
extern LPCLIENT_DESC g_PasspodDesc;
#endif