Files
2022-10-26 12:25:11 +08:00

61 lines
1.8 KiB
C++

#ifndef __TEMP_USER_H__
#define __TEMP_USER_H__
#pragma once
#include "UserSession.h"
struct MSG_CG_CONNECTION_ENTERSERVER_SYN;
class TempUser : public UserSession
{
public:
TempUser();
virtual ~TempUser();
virtual BOOL SendPacket(MSG_BASE* pMsg, WORD wSize, const BOOLEAN bUsePacking = TRUE);
protected:
virtual VOID Init();
virtual VOID Release();
public:
virtual eUSER_TYPE GetUserType() const { return UT_TEMP_USER; };
inline ITimeout& NoActionTimeout() { return m_dwNoActionTimeout; }
// (WAVERIX) (090526) (CHANGES)
static DWORD GetConnectionTimeout();
#ifdef __CN_OO0510__FATIGUE_MATCHING_UPDATE
VOID SetAge(BYTE byAge) { m_byAge = byAge; }
BYTE GetAge() { return m_byAge; }
VOID SetRealNameAuth(BYTE byRealNameAuth) { m_byRealNameAuth = byRealNameAuth; }
inline BYTE GetRealNameAuth() { return m_byRealNameAuth; }
#endif //
private:
virtual VOID OnAccept(DWORD dwNetworkIndex);
virtual VOID OnDisconnect();
virtual VOID OnRecv(BYTE* pMsg, WORD wSize);
//BOOL _IsAuthenticatedUser(UserSession* OUT pNewUser, MSG_CG_CONNECTION_ENTERSERVER_SYN* pMsg);
BOOL Authentication(MSG_CG_CONNECTION_ENTERSERVER_SYN * pMsg);
void SendEnterServerNak(BYTE byErrorCode);
enum {
IDLING, CHECKING, PASSING
};
BOOL ProcessCHECKING(BYTE* pMsg, WORD wSize);
BOOL ProcessPASSING(BYTE* pMsg, WORD wSize);
//----------------------------------------------------------------------------------------------
// (Fields)
//BOOL m_bFirst;
DWORD m_dwChangeMod;
User* m_pNewUser;
ITimeout m_dwNoActionTimeout;
CHAR m_szID[ID_MAX_LEN+1];
#ifdef __CN_OO0510__FATIGUE_MATCHING_UPDATE
BYTE m_byAge;
BYTE m_byRealNameAuth;
#endif //__CN_OO0510__FATIGUE_MATCHING_UPDATE
__DISABLE_COPY(TempUser);
};
#endif // __TEMP_USER_H__