Replace boost::signals2 with homegrown CSignal<>

Drops the last boost::signals2 dependency from the GUI/wallet/smessage
notification path. CSignal<> is a std::function-based fan-out signal
with explicit Connection tokens (no equivalent-bind disconnect). Same
semantics for the void-returning case; non-void variant returns the
last-connected slot's result via std::optional.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-26 17:36:05 -07:00
parent 2ba0ecf428
commit 32330b420e
14 changed files with 236 additions and 60 deletions
+3 -3
View File
@@ -77,9 +77,9 @@ Notes:
// TODO: For buckets older than current, only need to store no. messages and hash in memory
boost::signals2::signal<void (SecMsgStored& inboxHdr)> NotifySecMsgInboxChanged;
boost::signals2::signal<void (SecMsgStored& outboxHdr)> NotifySecMsgOutboxChanged;
boost::signals2::signal<void ()> NotifySecMsgWalletUnlocked;
CSignal<void(SecMsgStored&)> NotifySecMsgInboxChanged;
CSignal<void(SecMsgStored&)> NotifySecMsgOutboxChanged;
CSignal<void()> NotifySecMsgWalletUnlocked;
bool fSecMsgEnabled = false;