void HttpImageFileView::DownloadCompletedCallback(http::Download &download) { if (download.IsCancelled()) { // We were probably destroyed. Can't touch "this" (heh). return; } if (download.ResultCode() == 200) { download.buffer().TakeAll(&textureData_); } else { textureFailed_ = true; } }
void Config::DownloadCompletedCallback(http::Download &download) { if (download.ResultCode() != 200) { ERROR_LOG(LOADER, "Failed to download version.json"); return; } std::string data; download.buffer().TakeAll(&data); if (data.empty()) { ERROR_LOG(LOADER, "Version check: Empty data from server!"); return; } JsonReader reader(data.c_str(), data.size()); const json_value *root = reader.root(); if (!root) { ERROR_LOG(LOADER, "Failed to parse json"); return; } std::string version = root->getString("version", ""); const char *gitVer = PPSSPP_GIT_VERSION; Version installed(gitVer); Version upgrade(version); Version dismissed(g_Config.dismissedVersion); if (!installed.IsValid()) { ERROR_LOG(LOADER, "Version check: Local version string invalid. Build problems? %s", PPSSPP_GIT_VERSION); return; } if (!upgrade.IsValid()) { ERROR_LOG(LOADER, "Version check: Invalid server version: %s", version.c_str()); return; } if (installed >= upgrade) { INFO_LOG(LOADER, "Version check: Already up to date, erasing any upgrade message"); g_Config.upgradeMessage = ""; g_Config.upgradeVersion = upgrade.ToString(); g_Config.dismissedVersion = ""; return; } if (installed < upgrade && dismissed != upgrade) { g_Config.upgradeMessage = "New version of PPSSPP available!"; g_Config.upgradeVersion = upgrade.ToString(); g_Config.dismissedVersion = ""; } }