Changeset View
Changeset View
Standalone View
Standalone View
src/walletinitinterface.h
// Copyright (c) 2017 The Bitcoin Core developers | // Copyright (c) 2017 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_WALLETINITINTERFACE_H | #ifndef BITCOIN_WALLETINITINTERFACE_H | ||||
#define BITCOIN_WALLETINITINTERFACE_H | #define BITCOIN_WALLETINITINTERFACE_H | ||||
#include <chainparams.h> | #include <chainparams.h> | ||||
#include <string> | #include <string> | ||||
class CScheduler; | class CScheduler; | ||||
class CRPCTable; | class CRPCTable; | ||||
class WalletInitInterface { | class WalletInitInterface { | ||||
public: | public: | ||||
/** Is the wallet component enabled */ | |||||
virtual bool HasWalletSupport() const = 0; | |||||
/** Get wallet help string */ | /** Get wallet help string */ | ||||
virtual void AddWalletOptions() const = 0; | virtual void AddWalletOptions() const = 0; | ||||
/** Check wallet parameter interaction */ | /** Check wallet parameter interaction */ | ||||
virtual bool ParameterInteraction() const = 0; | virtual bool ParameterInteraction() const = 0; | ||||
/** Register wallet RPC*/ | /** Register wallet RPC*/ | ||||
virtual void RegisterRPC(CRPCTable &) const = 0; | virtual void RegisterRPC(CRPCTable &) const = 0; | ||||
/** Verify wallets */ | /** Verify wallets */ | ||||
virtual bool Verify(const CChainParams &chainParams) const = 0; | virtual bool Verify(const CChainParams &chainParams) const = 0; | ||||
/** Open wallets*/ | /** Open wallets*/ | ||||
virtual bool Open(const CChainParams &chainParams) const = 0; | virtual bool Open(const CChainParams &chainParams) const = 0; | ||||
/** Start wallets*/ | /** Start wallets*/ | ||||
virtual void Start(CScheduler &scheduler) const = 0; | virtual void Start(CScheduler &scheduler) const = 0; | ||||
/** Flush Wallets*/ | /** Flush Wallets*/ | ||||
virtual void Flush() const = 0; | virtual void Flush() const = 0; | ||||
/** Stop Wallets*/ | /** Stop Wallets*/ | ||||
virtual void Stop() const = 0; | virtual void Stop() const = 0; | ||||
/** Close wallets */ | /** Close wallets */ | ||||
virtual void Close() const = 0; | virtual void Close() const = 0; | ||||
virtual ~WalletInitInterface() {} | virtual ~WalletInitInterface() {} | ||||
}; | }; | ||||
extern const WalletInitInterface &g_wallet_init_interface; | |||||
#endif // BITCOIN_WALLETINITINTERFACE_H | #endif // BITCOIN_WALLETINITINTERFACE_H |