query backing device

This commit is contained in:
m2049r
2018-08-16 10:31:48 +02:00
parent bad2c7cf31
commit bce474be7d
10 changed files with 123 additions and 17 deletions
+22
View File
@@ -373,6 +373,10 @@ struct WalletListener
*/
struct Wallet
{
enum Device {
Device_Software = 0,
Device_Ledger = 1
};
enum Status {
Status_Ok,
@@ -911,6 +915,12 @@ struct Wallet
virtual bool unlockKeysFile() = 0;
//! returns true if the keys file is locked
virtual bool isKeysFileLocked() = 0;
/*!
* \brief Queries backing device for wallet keys
* \return Device they are on
*/
virtual Device getDeviceType() const = 0;
};
/**
@@ -1096,6 +1106,18 @@ struct WalletManager
*/
virtual bool verifyWalletPassword(const std::string &keys_file_name, const std::string &password, bool no_spend_key, uint64_t kdf_rounds = 1) const = 0;
/*!
* \brief determine the key storage for the specified wallet file
* \param device_type (OUT) wallet backend as enumerated in Wallet::Device
* \param keys_file_name Keys file to verify password for
* \param password Password to verify
* \return true if password correct, else false
*
* for verification only - determines key storage hardware
*
*/
virtual bool queryWalletDevice(Wallet::Device& device_type, const std::string &keys_file_name, const std::string &password, uint64_t kdf_rounds = 1) const = 0;
/*!
* \brief findWallets - searches for the wallet files by given path name recursively
* \param path - starting point to search