whoa/src/net/grunt/ClientResponse.hpp

32 lines
1.4 KiB
C++

#ifndef NET_GRUNT_CLIENT_RESPONSE_HPP
#define NET_GRUNT_CLIENT_RESPONSE_HPP
#include "net/grunt/Grunt.hpp"
#include "net/Types.hpp"
class CDataStore;
class LoginResponse;
class Grunt::ClientResponse {
public:
virtual bool Connected(const NETADDR& addr) = 0;
virtual bool OnlineIdle() = 0;
virtual void GetLogonMethod() = 0;
virtual void GetVersionProof(const uint8_t* versionChallenge) = 0;
virtual void SetPinInfo(bool enabled, uint32_t gridSeed, const uint8_t* salt) = 0;
virtual void SetMatrixInfo(bool enabled, uint8_t width, uint8_t height, uint8_t a5, uint8_t a6, bool a7, uint8_t challengeCount, uint64_t seed, const uint8_t* sessionKey, uint32_t a11) = 0;
virtual void SetTokenInfo(bool enabled, uint8_t required) = 0;
virtual void LogonResult(Result result, const uint8_t* sessionKey, uint32_t sessionKeyLen, uint16_t flags) = 0;
virtual void RealmListResult(CDataStore* msg) = 0;
virtual LOGIN_STATE NextSecurityState(LOGIN_STATE state) = 0;
virtual int32_t GetServerId() = 0;
virtual void GetRealmList() = 0;
virtual void Logon(const char* a2, const char* a3) = 0;
virtual void ProveVersion(const uint8_t* versionChecksum) = 0;
virtual void Logoff() = 0;
virtual void Init(LoginResponse* loginResponse) = 0;
virtual int32_t GetLoginServerType() = 0;
};
#endif