diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-11-07 12:00:29 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-11-07 12:00:29 +0000 |
commit | 63fe6fd9ba3d7fe56564543b877a962e3c7eea53 (patch) | |
tree | b78d8c122757a2fc8581c8fc0eb8e62084c01f18 | |
parent | Merge pull request #1295 (diff) | |
download | monero-63fe6fd9ba3d7fe56564543b877a962e3c7eea53.tar.xz |
wallet2_api: allow connection to return "yes, but wrong version"
-rw-r--r-- | src/wallet/api/wallet.cpp | 12 | ||||
-rw-r--r-- | src/wallet/api/wallet.h | 2 | ||||
-rw-r--r-- | src/wallet/wallet2_api.h | 8 |
3 files changed, 17 insertions, 5 deletions
diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp index 9a9638b40..f80e38334 100644 --- a/src/wallet/api/wallet.cpp +++ b/src/wallet/api/wallet.cpp @@ -720,9 +720,15 @@ bool WalletImpl::connectToDaemon() return result; } -bool WalletImpl::connected() const -{ - return m_wallet->check_connection(); +Wallet::ConnectionStatus WalletImpl::connected() const +{ + bool same_version = false; + bool is_connected = m_wallet->check_connection(&same_version); + if (!is_connected) + return Wallet::ConnectionStatus_Disconnected; + if (!same_version) + return Wallet::ConnectionStatus_WrongVersion; + return Wallet::ConnectionStatus_Connected; } void WalletImpl::setTrustedDaemon(bool arg) diff --git a/src/wallet/api/wallet.h b/src/wallet/api/wallet.h index c8a59f7c3..4b61a6707 100644 --- a/src/wallet/api/wallet.h +++ b/src/wallet/api/wallet.h @@ -70,7 +70,7 @@ public: bool init(const std::string &daemon_address, uint64_t upper_transaction_size_limit); void initAsync(const std::string &daemon_address, uint64_t upper_transaction_size_limit); bool connectToDaemon(); - bool connected() const; + ConnectionStatus connected() const; void setTrustedDaemon(bool arg); bool trustedDaemon() const; uint64_t balance() const; diff --git a/src/wallet/wallet2_api.h b/src/wallet/wallet2_api.h index 8427ba250..aa5edd2f2 100644 --- a/src/wallet/wallet2_api.h +++ b/src/wallet/wallet2_api.h @@ -159,6 +159,12 @@ struct Wallet Status_Error }; + enum ConnectionStatus { + ConnectionStatus_Disconnected, + ConnectionStatus_Connected, + ConnectionStatus_WrongVersion + }; + virtual ~Wallet() = 0; virtual std::string seed() const = 0; virtual std::string getSeedLanguage() const = 0; @@ -243,7 +249,7 @@ struct Wallet * @brief connected - checks if the wallet connected to the daemon * @return - true if connected */ - virtual bool connected() const = 0; + virtual ConnectionStatus connected() const = 0; virtual void setTrustedDaemon(bool arg) = 0; virtual bool trustedDaemon() const = 0; virtual uint64_t balance() const = 0; |