diff options
author | Jeff Garzik <jgarzik@bitpay.com> | 2014-11-18 12:06:32 -0500 |
---|---|---|
committer | João Barbosa <joao@bitreserve.org> | 2015-09-16 11:01:35 +0100 |
commit | e6a14b64d665eb1fafd03a6bbc8d14597ce1c83c (patch) | |
tree | bfefc581188fb56413c6d29cde625b0395faebc5 /src/zmq/zmqnotificationinterface.h | |
parent | 1136879df8af2358efb706c5af886778fbd94989 (diff) |
Add ZeroMQ support. Notify blocks and transactions via ZeroMQ
Continues Johnathan Corgan's work.
Publishing multipart messages
Bugfix: Add missing zmq header includes
Bugfix: Adjust build system to link ZeroMQ code for Qt binaries
Diffstat (limited to 'src/zmq/zmqnotificationinterface.h')
-rw-r--r-- | src/zmq/zmqnotificationinterface.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/zmq/zmqnotificationinterface.h b/src/zmq/zmqnotificationinterface.h new file mode 100644 index 0000000000..afc0b8d24e --- /dev/null +++ b/src/zmq/zmqnotificationinterface.h @@ -0,0 +1,35 @@ +// Copyright (c) 2015 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 BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H +#define BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H + +#include "validationinterface.h" +#include <string> +#include <map> + +class CZMQAbstractNotifier; + +class CZMQNotificationInterface : public CValidationInterface +{ +public: + virtual ~CZMQNotificationInterface(); + + static CZMQNotificationInterface* CreateWithArguments(const std::map<std::string, std::string> &args); + + bool Initialize(); + void Shutdown(); + +protected: // CValidationInterface + void SyncTransaction(const CTransaction &tx, const CBlock *pblock); + void UpdatedBlockTip(const uint256 &newHashTip); + +private: + CZMQNotificationInterface(); + + void *pcontext; + std::list<CZMQAbstractNotifier*> notifiers; +}; + +#endif // BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H |