aboutsummaryrefslogtreecommitdiff
path: root/src/validationinterface.cpp
diff options
context:
space:
mode:
authorJon Atack <jon@atack.com>2022-05-03 18:34:31 +0200
committerJon Atack <jon@atack.com>2022-05-09 18:33:32 +0200
commit23854f84024c292164ce49b3fefee2a9b4fe0831 (patch)
tree85357b78c5d14e16cca00cd25f8e1063e3f9d67f /src/validationinterface.cpp
parent1ad5d5088d69939b0551de31d6c33c03153697c5 (diff)
downloadbitcoin-23854f84024c292164ce49b3fefee2a9b4fe0831.tar.xz
refactor: make MainSignalsInstance() a class
and use Doxygen documentation for it, per our developer notes. Context: MainSignalsInstance was created in 3a19fed9db5 and originally was a struct collection of boost::signals methods moved to validationinterface.cpp, in order to no longer need to include boost/signals in validationinterface.h. MainSignalsInstance then evolved in d6815a23131 to remove boost/signals2 and became class-like. [C.8: Use class rather than struct if any member is non-public](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-class) [C.2: Use class if the class has an invariant; use struct if the data members can vary independently](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c2-use-class-if-the-class-has-an-invariant-use-struct-if-the-data-members-can-vary-independently) A class also has the advantage of default private access, as opposed to public for a struct.
Diffstat (limited to 'src/validationinterface.cpp')
-rw-r--r--src/validationinterface.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/validationinterface.cpp b/src/validationinterface.cpp
index edc4633c01..0cb48a19cb 100644
--- a/src/validationinterface.cpp
+++ b/src/validationinterface.cpp
@@ -16,14 +16,16 @@
#include <unordered_map>
#include <utility>
-//! The MainSignalsInstance manages a list of shared_ptr<CValidationInterface>
-//! callbacks.
-//!
-//! A std::unordered_map is used to track what callbacks are currently
-//! registered, and a std::list is to used to store the callbacks that are
-//! currently registered as well as any callbacks that are just unregistered
-//! and about to be deleted when they are done executing.
-struct MainSignalsInstance {
+/**
+ * MainSignalsInstance manages a list of shared_ptr<CValidationInterface> callbacks.
+ *
+ * A std::unordered_map is used to track what callbacks are currently
+ * registered, and a std::list is used to store the callbacks that are
+ * currently registered as well as any callbacks that are just unregistered
+ * and about to be deleted when they are done executing.
+ */
+class MainSignalsInstance
+{
private:
Mutex m_mutex;
//! List entries consist of a callback pointer and reference count. The