Changeset View
Changeset View
Standalone View
Standalone View
src/zmq/zmqnotificationinterface.h
// Copyright (c) 2015-2016 The Bitcoin Core developers | // Copyright (c) 2015-2016 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H | #ifndef BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H | ||||
#define BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H | #define BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H | ||||
#include "validationinterface.h" | #include "validationinterface.h" | ||||
#include <map> | #include <map> | ||||
#include <string> | #include <string> | ||||
class CBlockIndex; | class CBlockIndex; | ||||
class CZMQAbstractNotifier; | class CZMQAbstractNotifier; | ||||
class CZMQNotificationInterface : public CValidationInterface { | class CZMQNotificationInterface : public CValidationInterface { | ||||
public: | public: | ||||
virtual ~CZMQNotificationInterface(); | virtual ~CZMQNotificationInterface(); | ||||
static CZMQNotificationInterface *Create(); | static CZMQNotificationInterface *Create(); | ||||
protected: | protected: | ||||
bool Initialize(); | bool Initialize(); | ||||
void Shutdown(); | void Shutdown(); | ||||
// CValidationInterface | // CValidationInterface | ||||
void SyncTransaction(const CTransaction &tx, const CBlockIndex *pindex, | void SyncTransaction(const CTransaction &tx, const CBlockIndex *pindex, | ||||
int posInBlock); | int posInBlock) override; | ||||
void UpdatedBlockTip(const CBlockIndex *pindexNew, | void UpdatedBlockTip(const CBlockIndex *pindexNew, | ||||
const CBlockIndex *pindexFork, bool fInitialDownload); | const CBlockIndex *pindexFork, | ||||
bool fInitialDownload) override; | |||||
private: | private: | ||||
CZMQNotificationInterface(); | CZMQNotificationInterface(); | ||||
void *pcontext; | void *pcontext; | ||||
std::list<CZMQAbstractNotifier *> notifiers; | std::list<CZMQAbstractNotifier *> notifiers; | ||||
}; | }; | ||||
#endif // BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H | #endif // BITCOIN_ZMQ_ZMQNOTIFICATIONINTERFACE_H |