thunderbrew/src/client/ClientServices.hpp

63 lines
2.4 KiB
C++
Raw Normal View History

2023-01-02 13:17:18 -06:00
#ifndef CLIENT_CLIENT_SERVICES_HPP
#define CLIENT_CLIENT_SERVICES_HPP
#include "net/login/LoginResponse.hpp"
#include "net/connection/NetClient.hpp"
#include <tempest/Vector.hpp>
2023-01-02 13:17:18 -06:00
class ClientConnection;
class CVar;
2023-01-02 13:17:18 -06:00
class Login;
class RealmResponse;
class ClientServices : public LoginResponse {
public:
// Static variables
static char s_accountName[1280];
2023-01-02 13:17:18 -06:00
static RealmResponse* s_clientRealmResponse;
static ClientConnection* s_currentConnection;
static ClientServices* s_instance;
static Login* s_loginObj;
static bool s_newLogin;
static REALM_INFO s_selectRealmInfo;
static bool s_selectRealmInfoValid;
2023-01-02 13:17:18 -06:00
// Static console variables
static CVar* s_realmNameVar;
static CVar* s_decorateAccountName;
static CVar* s_realmListBNVar;
static CVar* s_darkPortalVar;
static CVar* s_ServerAlertVar;
static CVar* s_realmListVar;
static CVar* s_patchListVar;
2023-01-02 13:17:18 -06:00
// Static functions
static void ConnectToSelectedServer();
2023-01-02 13:17:18 -06:00
static ClientConnection* Connection();
static ClientServices* GetInstance();
static void SetMessageHandler(NETMESSAGE msgId, MESSAGE_HANDLER handler, void* param);
static void GetRealmList();
static void GetCharacterList();
static void CharacterLogin(uint64_t id, const C3Vector& position);
static REALM_INFO* GetRealmInfoByIndex(int32_t index);
static const char* GetSelectedRealmName();
static const REALM_INFO* GetSelectedRealm();
2023-01-02 13:17:18 -06:00
static void Initialize();
static Login* LoginConnection();
static void Logon(const char* accountName, const char* password);
static void SelectRealm(const char* realmName);
static void SetAccountName(const char* accountName);
static int32_t SetSelectedRealmInfo(int32_t a1);
2023-09-01 21:24:17 -04:00
static void InitLoginServerCVars(int32_t overwrite, const char* locale);
2023-09-01 21:28:09 -04:00
static const char* GetDefaultRealmlistString();
static const char* GetDefaultPatchListString();
static bool LoadCDKey();
2023-01-02 13:17:18 -06:00
// Virtual member functions
2023-02-10 14:56:00 -06:00
virtual int32_t GetLoginServerType();
virtual void LoginServerStatus(LOGIN_STATE state, LOGIN_RESULT result, const char* addrStr, const char* stateStr, const char* resultStr, uint8_t flags);
2023-02-10 14:56:00 -06:00
virtual void RealmEnumCallback(uint32_t a2);
2023-01-02 13:17:18 -06:00
};
#endif