mirror of
https://github.com/whoahq/whoa.git
synced 2026-02-01 08:12:44 +03:00
feat(glue): handle errors with urls in CGlueMgr::PollAccountLogin
This commit is contained in:
parent
e1a14f8550
commit
1b6bcdc59c
@ -74,6 +74,11 @@ int32_t CGlueMgr::m_showedDisconnect;
|
|||||||
CSimpleTop* CGlueMgr::m_simpleTop;
|
CSimpleTop* CGlueMgr::m_simpleTop;
|
||||||
int32_t CGlueMgr::m_suspended;
|
int32_t CGlueMgr::m_suspended;
|
||||||
|
|
||||||
|
struct URLERROR {
|
||||||
|
int32_t error;
|
||||||
|
char url[32];
|
||||||
|
};
|
||||||
|
|
||||||
float CalculateAspectRatio() {
|
float CalculateAspectRatio() {
|
||||||
auto widescreenVar = CVar::Lookup("widescreen");
|
auto widescreenVar = CVar::Lookup("widescreen");
|
||||||
auto resolutionVar = CVar::Lookup("gxResolution");
|
auto resolutionVar = CVar::Lookup("gxResolution");
|
||||||
@ -492,6 +497,14 @@ int32_t CGlueMgr::OnKickReasonMsg(void* param, NETMESSAGE msgId, uint32_t time,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CGlueMgr::PollAccountLogin(int32_t errorCode, const char* msg, int32_t complete, int32_t result, WOWCS_OPS op) {
|
void CGlueMgr::PollAccountLogin(int32_t errorCode, const char* msg, int32_t complete, int32_t result, WOWCS_OPS op) {
|
||||||
|
static URLERROR s_urlErrors[] = {
|
||||||
|
{ 28, "AUTH_BANNED_URL" },
|
||||||
|
{ 31, "AUTH_DB_BUSY_URL" },
|
||||||
|
{ 30, "AUTH_NO_TIME_URL" },
|
||||||
|
{ 32, "AUTH_SUSPENDED_URL" },
|
||||||
|
{ 33, "AUTH_PARENTAL_CONTROL_URL" }
|
||||||
|
};
|
||||||
|
|
||||||
auto login = ClientServices::LoginConnection();
|
auto login = ClientServices::LoginConnection();
|
||||||
|
|
||||||
if (login->GetLoginServerType() == 1 && CGlueMgr::m_loginState == LOGIN_STATE_FAILED) {
|
if (login->GetLoginServerType() == 1 && CGlueMgr::m_loginState == LOGIN_STATE_FAILED) {
|
||||||
@ -524,7 +537,20 @@ void CGlueMgr::PollAccountLogin(int32_t errorCode, const char* msg, int32_t comp
|
|||||||
|
|
||||||
if (result == 0) {
|
if (result == 0) {
|
||||||
if (errorCode != 2) {
|
if (errorCode != 2) {
|
||||||
// TODO
|
URLERROR* urlError = nullptr;
|
||||||
|
|
||||||
|
for (auto& ue : s_urlErrors) {
|
||||||
|
if (errorCode == ue.error) {
|
||||||
|
urlError = &ue;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (urlError) {
|
||||||
|
FrameScript_SignalEvent(OPEN_STATUS_DIALOG,"%s%s%s", "OKAY_WITH_URL", urlError->url);
|
||||||
|
} else {
|
||||||
|
FrameScript_SignalEvent(OPEN_STATUS_DIALOG, "%s%s", "OKAY", msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CGlueMgr::SetIdleState(IDLE_NONE);
|
CGlueMgr::SetIdleState(IDLE_NONE);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user