diff options
author | João Barbosa <joao.paulo.barbosa@gmail.com> | 2019-01-12 11:36:38 +0000 |
---|---|---|
committer | João Barbosa <joao.paulo.barbosa@gmail.com> | 2019-02-04 12:20:42 +0000 |
commit | ab288b4e59c52905343a1de628735b5c871d79a1 (patch) | |
tree | 602341604977e3b171477680bff7ab19ca08f47f | |
parent | 17abc0fd52510bfeb85a7b5be04001075ec78b6b (diff) |
interfaces: Add loadWallet to Node
-rw-r--r-- | src/interfaces/node.cpp | 5 | ||||
-rw-r--r-- | src/interfaces/node.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/interfaces/node.cpp b/src/interfaces/node.cpp index c574f960e6..f3e990fa47 100644 --- a/src/interfaces/node.cpp +++ b/src/interfaces/node.cpp @@ -42,6 +42,7 @@ class CWallet; fs::path GetWalletDir(); std::vector<fs::path> ListWalletDir(); std::vector<std::shared_ptr<CWallet>> GetWallets(); +std::shared_ptr<CWallet> LoadWallet(interfaces::Chain& chain, const std::string& name, std::string& error, std::string& warning); namespace interfaces { @@ -252,6 +253,10 @@ public: } return wallets; } + std::unique_ptr<Wallet> loadWallet(const std::string& name, std::string& error, std::string& warning) override + { + return MakeWallet(LoadWallet(*m_interfaces.chain, name, error, warning)); + } std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) override { return MakeHandler(::uiInterface.InitMessage_connect(fn)); diff --git a/src/interfaces/node.h b/src/interfaces/node.h index 54c2d78338..76b93af234 100644 --- a/src/interfaces/node.h +++ b/src/interfaces/node.h @@ -192,6 +192,11 @@ public: //! Return interfaces for accessing wallets (if any). virtual std::vector<std::unique_ptr<Wallet>> getWallets() = 0; + //! Attempts to load a wallet from file or directory. + //! The loaded wallet is also notified to handlers previously registered + //! with handleLoadWallet. + virtual std::unique_ptr<Wallet> loadWallet(const std::string& name, std::string& error, std::string& warning) = 0; + //! Register handler for init messages. using InitMessageFn = std::function<void(const std::string& message)>; virtual std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) = 0; |