|
5 | 5 |
|
6 | 6 | #include <set> |
7 | 7 |
|
8 | | -#include "utl/CallBack.h" |
9 | | - |
10 | 8 | namespace utl { |
11 | | - |
12 | | -/// @brief Handler class for managing callback registration and triggering. |
13 | | -/// |
14 | | -/// This class provides a centralized mechanism for modules to register |
15 | | -/// callbacks and trigger them when specific events occur. |
| 9 | +class Logger; |
| 10 | +class CallBack; |
| 11 | + |
| 12 | +/** |
| 13 | + * @brief Handler class for managing callback registration and triggering. |
| 14 | + * |
| 15 | + * This class provides a centralized mechanism for modules to register |
| 16 | + * callbacks and trigger them when specific events occur. |
| 17 | + */ |
16 | 18 | class CallBackHandler |
17 | 19 | { |
18 | 20 | public: |
19 | | - CallBackHandler() = default; |
| 21 | + CallBackHandler(utl::Logger* logger); |
20 | 22 | ~CallBackHandler() = default; |
21 | 23 |
|
22 | | - /// @brief Register a callback for event notifications. |
23 | | - /// |
24 | | - /// @param callback Pointer to the callback object to register |
| 24 | + /** |
| 25 | + * @brief Register a callback for event notifications. |
| 26 | + * |
| 27 | + * @param callback Pointer to the callback object to register |
| 28 | + */ |
25 | 29 | void addCallBack(CallBack* callback); |
26 | 30 |
|
27 | | - /// @brief Unregister a callback from event notifications. |
28 | | - /// |
29 | | - /// @param callback Pointer to the callback object to unregister |
| 31 | + /** |
| 32 | + * @brief Unregister a callback from event notifications. |
| 33 | + * |
| 34 | + * @param callback Pointer to the callback object to unregister |
| 35 | + */ |
30 | 36 | void removeCallBack(CallBack* callback); |
31 | 37 |
|
32 | | - /// @brief Trigger the onPinAccessUpdateRequired callback for all registered |
33 | | - /// callbacks. |
34 | | - /// |
35 | | - /// This method iterates through all registered callbacks and calls their |
36 | | - /// onPinAccessUpdateRequired method. |
| 38 | + /** |
| 39 | + * @brief Trigger the onPinAccessUpdateRequired callback for all registered |
| 40 | + * callbacks. |
| 41 | + */ |
37 | 42 | void triggerOnPinAccessUpdateRequired(); |
38 | 43 |
|
39 | 44 | private: |
40 | | - /// @brief Set of registered callbacks. |
| 45 | + utl::Logger* logger_; |
41 | 46 | std::set<CallBack*> callbacks_; |
42 | 47 | }; |
43 | 48 |
|
|
0 commit comments