Changeset View
Changeset View
Standalone View
Standalone View
src/validationinterface.cpp
Show First 20 Lines • Show All 118 Lines • ▼ Show 20 Lines | size_t CMainSignals::CallbacksPending() { | ||||
return m_internals->m_schedulerClient.CallbacksPending(); | return m_internals->m_schedulerClient.CallbacksPending(); | ||||
} | } | ||||
CMainSignals &GetMainSignals() { | CMainSignals &GetMainSignals() { | ||||
return g_signals; | return g_signals; | ||||
} | } | ||||
void RegisterSharedValidationInterface( | void RegisterSharedValidationInterface( | ||||
std::shared_ptr<CValidationInterface> pwalletIn) { | std::shared_ptr<CValidationInterface> callbacks) { | ||||
// Each connection captures pwalletIn to ensure that each callback is | // Each connection captures the shared_ptr to ensure that each callback is | ||||
// executed before pwalletIn is destroyed. For more details see #18338. | // executed before the subscriber is destroyed. For more details see #18338. | ||||
g_signals.m_internals->Register(std::move(pwalletIn)); | g_signals.m_internals->Register(std::move(callbacks)); | ||||
} | } | ||||
void RegisterValidationInterface(CValidationInterface *callbacks) { | void RegisterValidationInterface(CValidationInterface *callbacks) { | ||||
// Create a shared_ptr with a no-op deleter - CValidationInterface lifecycle | // Create a shared_ptr with a no-op deleter - CValidationInterface lifecycle | ||||
// is managed by the caller. | // is managed by the caller. | ||||
RegisterSharedValidationInterface( | RegisterSharedValidationInterface( | ||||
{callbacks, [](CValidationInterface *) {}}); | {callbacks, [](CValidationInterface *) {}}); | ||||
} | } | ||||
void UnregisterSharedValidationInterface( | void UnregisterSharedValidationInterface( | ||||
std::shared_ptr<CValidationInterface> callbacks) { | std::shared_ptr<CValidationInterface> callbacks) { | ||||
UnregisterValidationInterface(callbacks.get()); | UnregisterValidationInterface(callbacks.get()); | ||||
} | } | ||||
void UnregisterValidationInterface(CValidationInterface *pwalletIn) { | void UnregisterValidationInterface(CValidationInterface *callbacks) { | ||||
if (g_signals.m_internals) { | if (g_signals.m_internals) { | ||||
g_signals.m_internals->Unregister(pwalletIn); | g_signals.m_internals->Unregister(callbacks); | ||||
} | } | ||||
} | } | ||||
void UnregisterAllValidationInterfaces() { | void UnregisterAllValidationInterfaces() { | ||||
if (!g_signals.m_internals) { | if (!g_signals.m_internals) { | ||||
return; | return; | ||||
} | } | ||||
g_signals.m_internals->Clear(); | g_signals.m_internals->Clear(); | ||||
▲ Show 20 Lines • Show All 119 Lines • Show Last 20 Lines |