1 // Copyright (c) 2017 The Zcash developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or https://www.opensource.org/licenses/mit-license.php .
5 #ifndef ZCASH_AMQP_AMQPABSTRACTNOTIFIER_H
6 #define ZCASH_AMQP_AMQPABSTRACTNOTIFIER_H
8 #include "amqpconfig.h"
11 class AMQPAbstractNotifier;
13 typedef AMQPAbstractNotifier* (*AMQPNotifierFactory)();
15 class AMQPAbstractNotifier
18 AMQPAbstractNotifier() { }
19 virtual ~AMQPAbstractNotifier();
22 static AMQPAbstractNotifier* 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() = 0;
33 virtual void Shutdown() = 0;
35 virtual bool NotifyBlock(const CBlockIndex *pindex);
36 virtual bool NotifyTransaction(const CTransaction &transaction);
43 #endif // ZCASH_AMQP_AMQPABSTRACTNOTIFIER_H