mojo_client/src/Client/Realm/RealmSession.h
False.Genesis 6c4ae79a87 * rewrote the realm/world login code.
-> reconnecting does work now, finally.
* updated conf setting: reconnect=0: dont reconnect; reconnect=X: reconnect after X msecs.
* misc code cleanups, crash fixes, and overall improved stability.
* splitted RealmSocket into a RealmSession and the original RealmSocket code. better read-/useabilty because now its handled as WorldSession and related.
2007-05-11 20:55:38 +00:00

45 lines
983 B
C++

#ifndef REALMSESSION_H
#define REALMSESSION_H
#include "common.h"
struct AuthHandler;
class RealmSocket;
class RealmSession
{
public:
RealmSession(PseuInstance*);
~RealmSession();
void AddToPktQueue(ByteBuffer*);
void Connect(void);
void Update(void);
PseuInstance *GetInstance(void);
void ClearSocket(void);
void SendLogonChallenge(void);
bool MustDie(void);
void SetMustDie(void);
private:
void _HandleRealmList(ByteBuffer&);
void _HandleLogonProof(ByteBuffer&);
void _HandleLogonChallenge(ByteBuffer&);
AuthHandler *_GetAuthHandlerTable(void) const;
void SendRealmPacket(ByteBuffer&);
void DumpInvalidPacket(ByteBuffer&);
SocketHandler _sh;
PseuInstance *_instance;
ZThread::LockedQueue<ByteBuffer*,ZThread::FastMutex> pktQueue;
RealmSocket *_socket;
uint8 _m2[20];
RealmSession *_session;
BigNumber _key;
bool _mustdie;
};
#endif