aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2020-04-02 00:31:43 +0000
committerxiphon <xiphon@protonmail.com>2020-04-02 00:31:43 +0000
commit09abca76ae3ed218daccbb8bbed8e5db1966b42f (patch)
tree8d20e8434dc6b1c5389088500ae492f915d053dc
parentMerge pull request #6336 (diff)
downloadmonero-09abca76ae3ed218daccbb8bbed8e5db1966b42f.tar.xz
wallet_api: checkUpdate - optional version and buildtag params
-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 3945e55c9..c0bae5cfd 100644
--- a/src/wallet/api/wallet2_api.h
+++ b/src/wallet/api/wallet2_api.h
@@ -1291,7 +1291,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 d589dcc75..8a40cdaaf 100644
--- a/src/wallet/api/wallet_manager.cpp
+++ b/src/wallet/api/wallet_manager.cpp
@@ -341,22 +341,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);