aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Newbery <john@johnnewbery.com>2017-07-06 08:50:48 +0100
committerJohn Newbery <john@johnnewbery.com>2018-03-26 13:23:24 -0400
commitcaaf9722f3200775cf37aab6b911a7054b2378e7 (patch)
treeb1e4690418de5ea35cf25e7e0cdfa3adec587e8a
parent5fb54210a68612ebcc47b2b12048d192a529d3d7 (diff)
downloadbitcoin-caaf9722f3200775cf37aab6b911a7054b2378e7.tar.xz
[wallet] Create wallet init interface.
-rw-r--r--src/Makefile.am1
-rw-r--r--src/walletinitinterface.h37
2 files changed, 38 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index ac822d6c5e..15ff4256e0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -161,6 +161,7 @@ BITCOIN_CORE_H = \
validation.h \
validationinterface.h \
versionbits.h \
+ walletinitinterface.h \
wallet/coincontrol.h \
wallet/crypter.h \
wallet/db.h \
diff --git a/src/walletinitinterface.h b/src/walletinitinterface.h
new file mode 100644
index 0000000000..95c51a4f49
--- /dev/null
+++ b/src/walletinitinterface.h
@@ -0,0 +1,37 @@
+// Copyright (c) 2017 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef WALLETINITINTERFACE_H
+#define WALLETINITINTERFACE_H
+
+#include <string>
+
+class CScheduler;
+class CRPCTable;
+
+class WalletInitInterface {
+public:
+ /** Get wallet help string */
+ virtual std::string GetHelpString(bool showDebug) = 0;
+ /** Check wallet parameter interaction */
+ virtual bool ParameterInteraction() = 0;
+ /** Register wallet RPC*/
+ virtual void RegisterRPC(CRPCTable &) = 0;
+ /** Verify wallets */
+ virtual bool Verify() = 0;
+ /** Open wallets*/
+ virtual bool Open() = 0;
+ /** Start wallets*/
+ virtual void Start(CScheduler& scheduler) = 0;
+ /** Flush Wallets*/
+ virtual void Flush() = 0;
+ /** Stop Wallets*/
+ virtual void Stop() = 0;
+ /** Close wallets */
+ virtual void Close() = 0;
+
+ virtual ~WalletInitInterface() {}
+};
+
+#endif // WALLETINITINTERFACE_H