From a032fa30d282fa69c304e0afd1f95f67c55d22e3 Mon Sep 17 00:00:00 2001 From: Russell Yanofsky Date: Wed, 16 Jun 2021 14:49:09 -0400 Subject: multiprocess: add interfaces::ExternalSigner class Add interfaces::ExternalSigner to let signer objects be passed between processes and signer code to run in the original process, without multiple processes linking and running signer code. --- src/interfaces/node.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/interfaces') diff --git a/src/interfaces/node.h b/src/interfaces/node.h index 34fdde3774..48d4fd3ee2 100644 --- a/src/interfaces/node.h +++ b/src/interfaces/node.h @@ -6,7 +6,6 @@ #define BITCOIN_INTERFACES_NODE_H #include -#include #include // For NodeId #include // For banmap_t #include // For Network @@ -50,6 +49,16 @@ struct BlockAndHeaderTipInfo double verification_progress; }; +//! External signer interface used by the GUI. +class ExternalSigner +{ +public: + virtual ~ExternalSigner() {}; + + //! Get signer display name + virtual std::string getName() = 0; +}; + //! Top-level interface for a bitcoin node (bitcoind process). class Node { @@ -111,8 +120,8 @@ public: //! Disconnect node by id. virtual bool disconnectById(NodeId id) = 0; - //! List external signers - virtual std::vector externalSigners() = 0; + //! Return list of external signers (attached devices which can sign transactions). + virtual std::vector> listExternalSigners() = 0; //! Get total bytes recv. virtual int64_t getTotalBytesRecv() = 0; -- cgit v1.2.3