aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2020-04-21 08:52:57 -0500
committerluigi1111 <luigi1111w@gmail.com>2020-04-21 08:52:57 -0500
commitcc91c0221ded1766c71c1c877493a3c7dadef106 (patch)
treeb336c9249413c1957e09648999cf46068ef7d51e
parentMerge pull request #6414 (diff)
parentwallet_api: checkUpdate - optional version and buildtag params (diff)
downloadmonero-cc91c0221ded1766c71c1c877493a3c7dadef106.tar.xz
Merge pull request #6415
09abca7 wallet_api: checkUpdate - optional version and buildtag params (xiphon)
-rw-r--r--src/wallet/api/wallet2_api.h6
-rw-r--r--src/wallet/api/wallet_manager.cpp20
2 files changed, 19 insertions, 7 deletions
diff --git a/src/wallet/api/wallet2_api.h b/src/wallet/api/wallet2_api.h
index 09c64106e..6309724a4 100644
--- a/src/wallet/api/wallet2_api.h
+++ b/src/wallet/api/wallet2_api.h
@@ -1293,7 +1293,11 @@ struct WalletManager
virtual std::string resolveOpenAlias(const std::string &address, bool &dnssec_valid) const = 0;
//! checks for an update and returns version, hash and url
- static std::tuple<bool, std::string, std::string, std::string, std::string> checkUpdates(const std::string &software, std::string subdir);
+ static std::tuple<bool, std::string, std::string, std::string, std::string> checkUpdates(
+ const std::string &software,
+ std::string subdir,
+ const char *buildtag = nullptr,
+ const char *current_version = nullptr);
};
diff --git a/src/wallet/api/wallet_manager.cpp b/src/wallet/api/wallet_manager.cpp
index 44a184304..8d7541cea 100644
--- a/src/wallet/api/wallet_manager.cpp
+++ b/src/wallet/api/wallet_manager.cpp
@@ -342,22 +342,30 @@ std::string WalletManagerImpl::resolveOpenAlias(const std::string &address, bool
return addresses.front();
}
-std::tuple<bool, std::string, std::string, std::string, std::string> WalletManager::checkUpdates(const std::string &software, std::string subdir)
+std::tuple<bool, std::string, std::string, std::string, std::string> WalletManager::checkUpdates(
+ const std::string &software,
+ std::string subdir,
+ const char *buildtag/* = nullptr*/,
+ const char *current_version/* = nullptr*/)
{
+ if (buildtag == nullptr)
+ {
#ifdef BUILD_TAG
- static const char buildtag[] = BOOST_PP_STRINGIZE(BUILD_TAG);
+ static const char buildtag_default[] = BOOST_PP_STRINGIZE(BUILD_TAG);
#else
- static const char buildtag[] = "source";
- // Override the subdir string when built from source
- subdir = "source";
+ static const char buildtag_default[] = "source";
+ // Override the subdir string when built from source
+ subdir = "source";
#endif
+ buildtag = buildtag_default;
+ }
std::string version, hash;
MDEBUG("Checking for a new " << software << " version for " << buildtag);
if (!tools::check_updates(software, buildtag, version, hash))
return std::make_tuple(false, "", "", "", "");
- if (tools::vercmp(version.c_str(), MONERO_VERSION) > 0)
+ if (tools::vercmp(version.c_str(), current_version != nullptr ? current_version : MONERO_VERSION) > 0)
{
std::string user_url = tools::get_update_url(software, subdir, buildtag, version, true);
std::string auto_url = tools::get_update_url(software, subdir, buildtag, version, false);