From 154825e85890549e474c16c12181009be6a92c66 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Sun, 18 Feb 2018 18:43:18 -0300 Subject: [PATCH] Add register page to dlman --- src/DownloadManager.cpp | 18 ++++++++++++++++++ src/DownloadManager.h | 4 +++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/DownloadManager.cpp b/src/DownloadManager.cpp index c265d76347..8da8b03e07 100644 --- a/src/DownloadManager.cpp +++ b/src/DownloadManager.cpp @@ -262,6 +262,7 @@ DownloadManager::DownloadManager() { } CachePackList(packListURL); RefreshLastVersion(); + RefreshRegisterPage(); } DownloadManager::~DownloadManager() @@ -803,6 +804,17 @@ void DownloadManager::RefreshLastVersion() }; SendRequest("client_version", vector>(), done, false, false, false); } +void DownloadManager::RefreshRegisterPage() +{ + function done = [this](HTTPRequest& req) { + Json::Value json; + RString error; + if (!JsonUtil::LoadFromString(json, req.result, error) || (json.isObject() && json.isMember("error"))) + return; + this->registerPage = json.get("link", "").asCString(); + }; + SendRequest("register_link", vector>(), done, false, false, false); +} void DownloadManager::RefreshTop25(Skillset ss) { if (!LoggedIn()) @@ -1175,6 +1187,11 @@ class LunaDownloadManager : public Luna lua_pushstring(L, DLMAN->lastVersion.c_str()); return 1; } + static int GetRegisterPage(T* p, lua_State* L) + { + lua_pushstring(L, DLMAN->registerPage.c_str()); + return 1; + } static int GetTopSkillsetScore(T* p, lua_State* L) { int rank = IArg(1); @@ -1315,6 +1332,7 @@ class LunaDownloadManager : public Luna ADD_METHOD(GetTopChartScore); ADD_METHOD(GetTopChartScoreCount); ADD_METHOD(GetLastVersion); + ADD_METHOD(GetRegisterPage); ADD_METHOD(Logout); } }; diff --git a/src/DownloadManager.h b/src/DownloadManager.h index 84cbe67567..c472666e9d 100644 --- a/src/DownloadManager.h +++ b/src/DownloadManager.h @@ -147,7 +147,8 @@ class DownloadManager string sessionCookie{ "" }; // Entire session cookie string string sessionUser{ "" }; // Currently logged in username string sessionPass{ "" }; // Currently logged in password - string lastVersion{""}; // Last version according to server (Or current if non was obtained) + string lastVersion{ "" }; // Last version according to server (Or current if non was obtained) + string registerPage{ "" }; // Register page from server (Or empty if non was obtained) map> chartLeaderboards; map sessionRanks; // Leaderboard ranks for logged in user by skillset map sessionRatings; @@ -184,6 +185,7 @@ class DownloadManager void SendRequest(string requestName, vector> params, function done, bool requireLogin = true, bool post = false, bool async = true); void RefreshLastVersion(); + void RefreshRegisterPage(); void RequestChartLeaderBoard(string chartkey); void RefreshUserData(); void RefreshUserRank();