diff options
author | TheCharlatan <seb.kung@gmail.com> | 2023-05-10 22:29:17 +0200 |
---|---|---|
committer | TheCharlatan <seb.kung@gmail.com> | 2023-05-20 12:03:22 +0200 |
commit | 447761c8228d58f948aae7e73ed079c028cacb97 (patch) | |
tree | 138ae285148636dd18870df62338a6acacaa400c /src/node/kernel_notifications.h | |
parent | 0f8c95dccd120ad5fd371f81025137b855796f13 (diff) |
kernel: Add notification interface
This commit is part of the libbitcoinkernel project and seeks to remove
the ChainstateManager's and, more generally, the kernel library's
dependency on interface_ui with options methods in this and the following
few commits. By removing interface_ui from the kernel library, its
dependency on boost is reduced to just boost::multi_index.
Define a new kernel notification class with virtual methods for
notifying about internal kernel events. Create a new file in the node
library for defining a function creating the default set of notification
methods such that these do not need to be re-defined all over the
codebase. As a first step, add a `blockTip` method, wrapping
`uiInterface.NotifyBlockTip`.
Diffstat (limited to 'src/node/kernel_notifications.h')
-rw-r--r-- | src/node/kernel_notifications.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/node/kernel_notifications.h b/src/node/kernel_notifications.h new file mode 100644 index 0000000000..11b270f1db --- /dev/null +++ b/src/node/kernel_notifications.h @@ -0,0 +1,21 @@ +// Copyright (c) 2023 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_NODE_KERNEL_NOTIFICATIONS_H +#define BITCOIN_NODE_KERNEL_NOTIFICATIONS_H + +#include <kernel/notifications_interface.h> + +class CBlockIndex; +enum class SynchronizationState; + +namespace node { +class KernelNotifications : public kernel::Notifications +{ +public: + void blockTip(SynchronizationState state, CBlockIndex& index) override; +}; +} // namespace node + +#endif // BITCOIN_NODE_KERNEL_NOTIFICATIONS_H |