aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-11-07 12:00:29 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-11-07 12:00:29 +0000
commit63fe6fd9ba3d7fe56564543b877a962e3c7eea53 (patch)
treeb78d8c122757a2fc8581c8fc0eb8e62084c01f18
parentMerge pull request #1295 (diff)
downloadmonero-63fe6fd9ba3d7fe56564543b877a962e3c7eea53.tar.xz
wallet2_api: allow connection to return "yes, but wrong version"
-rw-r--r--src/wallet/api/wallet.cpp12
-rw-r--r--src/wallet/api/wallet.h2
-rw-r--r--src/wallet/wallet2_api.h8
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;