1 // Copyright (c) 2015 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 #ifndef BITCOIN_ZMQ_ZMQABSTRACTNOTIFIER_H
6 #define BITCOIN_ZMQ_ZMQABSTRACTNOTIFIER_H
8 #include <zmq/zmqconfig.h>
11 class CZMQAbstractNotifier
;
13 typedef CZMQAbstractNotifier
* (*CZMQNotifierFactory
)();
15 class CZMQAbstractNotifier
18 CZMQAbstractNotifier() : psocket(nullptr) { }
19 virtual ~CZMQAbstractNotifier();
22 static CZMQAbstractNotifier
* Create()
27 std::string
GetType() const { return type
; }
28 void SetType(const std::string
&t
) { type
= t
; }
29 std::string
GetAddress() const { return address
; }
30 void SetAddress(const std::string
&a
) { address
= a
; }
32 virtual bool Initialize(void *pcontext
) = 0;
33 virtual void Shutdown() = 0;
35 virtual bool NotifyBlock(const CBlockIndex
*pindex
);
36 virtual bool NotifyTransaction(const CTransaction
&transaction
);
44 #endif // BITCOIN_ZMQ_ZMQABSTRACTNOTIFIER_H