You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
// Copyright (c) 2015-2016 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> |
|
#include <list> |
|
|
|
class CBlockIndex; |
|
class CZMQAbstractNotifier; |
|
|
|
class CZMQNotificationInterface : public CValidationInterface |
|
{ |
|
public: |
|
virtual ~CZMQNotificationInterface(); |
|
|
|
static CZMQNotificationInterface* Create(); |
|
|
|
protected: |
|
bool Initialize(); |
|
void Shutdown(); |
|
|
|
// CValidationInterface |
|
void TransactionAddedToMempool(const CTransactionRef& tx) override; |
|
void BlockConnected(const std::shared_ptr<const CBlock>& pblock, const CBlockIndex* pindexConnected, const std::vector<CTransactionRef>& vtxConflicted) override; |
|
void BlockDisconnected(const std::shared_ptr<const CBlock>& pblock) override; |
|
void UpdatedBlockTip(const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) override; |
|
|
|
private: |
|
CZMQNotificationInterface(); |
|
|
|
void *pcontext; |
|
std::list<CZMQAbstractNotifier*> notifiers; |
|
}; |
|
|
|
#endif // BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H
|
|
|