Bitcoin Core 31.99.0
P2P Digital Currency
handler.h
Go to the documentation of this file.
1// Copyright (c) 2018-present 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
11namespace btcsignals {
12 class connection;
13} // namespace btcsignals
14
15namespace interfaces {
16
21{
22public:
23 virtual ~Handler() = default;
24
26 virtual void disconnect() = 0;
27};
28
30std::unique_ptr<Handler> MakeSignalHandler(btcsignals::connection connection);
31
33std::unique_ptr<Handler> MakeCleanupHandler(std::function<void()> cleanup);
34
35} // namespace interfaces
36
37#endif // BITCOIN_INTERFACES_HANDLER_H
Generic interface for managing an event handler or callback function registered with another interfac...
Definition: handler.h:21
virtual ~Handler()=default
virtual void disconnect()=0
Disconnect the handler.
btcsignals is a simple mechanism for signaling events to multiple subscribers.
Definition: btcsignals.h:31
std::unique_ptr< Handler > MakeCleanupHandler(std::function< void()> cleanup)
Return handler wrapping a cleanup function.
Definition: interfaces.cpp:42
std::unique_ptr< Handler > MakeSignalHandler(btcsignals::connection connection)
Return handler wrapping a btcsignals connection.
Definition: interfaces.cpp:47