thunderbrew/src/net/connection/ClientConnection.hpp

39 lines
1.2 KiB
C++
Raw Normal View History

2023-01-02 13:17:18 -06:00
#ifndef NET_CONNECTION_CLIENT_CONNECTION_HPP
#define NET_CONNECTION_CLIENT_CONNECTION_HPP
#include "net/connection/RealmConnection.hpp"
#include "net/Types.hpp"
class RealmResponse;
class ClientConnection : public RealmConnection {
public:
// Member variables
int32_t m_connected = 0;
2023-01-02 13:17:18 -06:00
int32_t m_statusComplete = 1;
int32_t m_statusResult = 1;
WOWCS_OPS m_statusCop = COP_NONE;
int32_t m_errorCode = 0;
void (*m_cleanup)() = nullptr;
// Virtual member functions
virtual int32_t HandleConnect();
2023-01-02 13:17:18 -06:00
// Member functions
ClientConnection(RealmResponse* realmResponse)
: RealmConnection(realmResponse)
{};
void AccountLogin_Finish(int32_t authResult);
void AccountLogin_Queued();
2023-01-02 13:17:18 -06:00
void Cancel(int32_t errorCode);
void Cleanup();
void Complete(int32_t result, int32_t errorCode);
2023-01-02 13:17:18 -06:00
void Connect();
int32_t Disconnect();
void Initiate(WOWCS_OPS op, int32_t errorCode, void (*cleanup)());
int32_t IsConnected();
int32_t PollStatus(WOWCS_OPS& op, const char** msg, int32_t& result, int32_t& errorCode);
2023-01-02 13:17:18 -06:00
};
#endif