feat(net): implement message ready callback in NetClient

This commit is contained in:
fallenoak 2023-02-24 19:41:07 -06:00
parent af2a47ae15
commit 8e03d9e5dd
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
3 changed files with 44 additions and 4 deletions

View file

@ -40,6 +40,7 @@ class NetClient : public WowConnectionResponse {
// Member variables
LoginData m_loginData;
NETSTATE m_netState = NS_UNINITIALIZED;
bool m_suspended = false;
MESSAGE_HANDLER m_handlers[NUM_MSG_TYPES];
void* m_handlerParams[NUM_MSG_TYPES];
NETEVENTQUEUE* m_netEventQueue = nullptr;
@ -52,15 +53,17 @@ class NetClient : public WowConnectionResponse {
SCritSect m_pingLock;
// Virtual member functions
virtual void WCMessageReady(WowConnection *conn, uint32_t timeStamp, CDataStore* msg);
virtual void WCMessageReady(WowConnection* conn, uint32_t timeStamp, CDataStore* msg);
virtual void WCConnected(WowConnection* conn, WowConnection* inbound, uint32_t timeStamp, const NETCONNADDR* addr);
virtual void WCCantConnect(WowConnection* conn, uint32_t timeStamp, NETCONNADDR* addr);
virtual void WCDisconnected(WowConnection* conn, uint32_t timeStamp, NETCONNADDR* addr);
// Member functions
void AuthChallengeHandler(WowConnection* conn, CDataStore* msg);
void Connect(const char* addrStr);
int32_t ConnectInternal(const char* host, uint16_t port);
int32_t Initialize();
void PongHandler(WowConnection* conn, CDataStore* msg);
void SetLoginData(LoginData* loginData);
void SetMessageHandler(NETMESSAGE msgId, MESSAGE_HANDLER handler, void* param);
};