]> Git Repo - VerusCoin.git/blob - src/amqp/amqpabstractnotifier.h
Build fix
[VerusCoin.git] / src / amqp / amqpabstractnotifier.h
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 .
4
5 #ifndef ZCASH_AMQP_AMQPABSTRACTNOTIFIER_H
6 #define ZCASH_AMQP_AMQPABSTRACTNOTIFIER_H
7
8 #include "amqpconfig.h"
9
10 class CBlockIndex;
11 class AMQPAbstractNotifier;
12
13 typedef AMQPAbstractNotifier* (*AMQPNotifierFactory)();
14
15 class AMQPAbstractNotifier
16 {
17 public:
18     AMQPAbstractNotifier() { }
19     virtual ~AMQPAbstractNotifier();
20
21     template <typename T>
22     static AMQPAbstractNotifier* Create()
23     {
24         return new T();
25     }
26
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; }
31
32     virtual bool Initialize() = 0;
33     virtual void Shutdown() = 0;
34
35     virtual bool NotifyBlock(const CBlockIndex *pindex);
36     virtual bool NotifyTransaction(const CTransaction &transaction);
37
38 protected:
39     std::string type;
40     std::string address;
41 };
42
43 #endif // ZCASH_AMQP_AMQPABSTRACTNOTIFIER_H
This page took 0.044393 seconds and 4 git commands to generate.