Changeset View
Changeset View
Standalone View
Standalone View
src/interfaces/node.h
Show All 14 Lines | |||||
class Config; | class Config; | ||||
class HTTPRPCRequestProcessor; | class HTTPRPCRequestProcessor; | ||||
class proxyType; | class proxyType; | ||||
class RPCServer; | class RPCServer; | ||||
namespace interfaces { | namespace interfaces { | ||||
class Handler; | class Handler; | ||||
class Wallet; | |||||
//! Top-level interface for a bitcoin node (bitcoind process). | //! Top-level interface for a bitcoin node (bitcoind process). | ||||
class Node { | class Node { | ||||
public: | public: | ||||
virtual ~Node() {} | virtual ~Node() {} | ||||
//! Set command line arguments. | //! Set command line arguments. | ||||
virtual void parseParameters(int argc, const char *const argv[]) = 0; | virtual void parseParameters(int argc, const char *const argv[]) = 0; | ||||
▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | using MessageBoxFn = | ||||
const std::string &caption, unsigned int style)>; | const std::string &caption, unsigned int style)>; | ||||
virtual std::unique_ptr<Handler> handleMessageBox(MessageBoxFn fn) = 0; | virtual std::unique_ptr<Handler> handleMessageBox(MessageBoxFn fn) = 0; | ||||
//! Register handler for question messages. | //! Register handler for question messages. | ||||
using QuestionFn = std::function<bool( | using QuestionFn = std::function<bool( | ||||
const std::string &message, const std::string &non_interactive_message, | const std::string &message, const std::string &non_interactive_message, | ||||
const std::string &caption, unsigned int style)>; | const std::string &caption, unsigned int style)>; | ||||
virtual std::unique_ptr<Handler> handleQuestion(QuestionFn fn) = 0; | virtual std::unique_ptr<Handler> handleQuestion(QuestionFn fn) = 0; | ||||
//! Register handler for progress messages. | |||||
using ShowProgressFn = std::function<void( | |||||
const std::string &title, int progress, bool resume_possible)>; | |||||
virtual std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) = 0; | |||||
//! Register handler for load wallet messages. | |||||
using LoadWalletFn = std::function<void(std::unique_ptr<Wallet> wallet)>; | |||||
virtual std::unique_ptr<Handler> handleLoadWallet(LoadWalletFn fn) = 0; | |||||
}; | }; | ||||
//! Return implementation of Node interface. | //! Return implementation of Node interface. | ||||
std::unique_ptr<Node> MakeNode(); | std::unique_ptr<Node> MakeNode(); | ||||
} // namespace interfaces | } // namespace interfaces | ||||
#endif // BITCOIN_INTERFACE_NODE_H | #endif // BITCOIN_INTERFACE_NODE_H |