Bitcoin Core  0.20.99
P2P Digital Currency
handler.h
Go to the documentation of this file.
1 // Copyright (c) 2018-2020 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.
4 
5 #ifndef BITCOIN_INTERFACES_HANDLER_H
6 #define BITCOIN_INTERFACES_HANDLER_H
7 
8 #include <functional>
9 #include <memory>
10 
11 namespace boost {
12 namespace signals2 {
13 class connection;
14 } // namespace signals2
15 } // namespace boost
16 
17 namespace interfaces {
18 
22 class Handler
23 {
24 public:
25  virtual ~Handler() {}
26 
28  virtual void disconnect() = 0;
29 };
30 
32 std::unique_ptr<Handler> MakeHandler(boost::signals2::connection connection);
33 
35 std::unique_ptr<Handler> MakeHandler(std::function<void()> cleanup);
36 
37 } // namespace interfaces
38 
39 #endif // BITCOIN_INTERFACES_HANDLER_H
Definition: init.h:14
std::unique_ptr< Handler > MakeHandler(boost::signals2::connection connection)
Return handler wrapping a boost signal connection.
Definition: handler.cpp:36
virtual ~Handler()
Definition: handler.h:25
Generic interface for managing an event handler or callback function registered with another interfac...
Definition: handler.h:22