Krotos Modules 3
Loading...
Searching...
No Matches
PresetEventMiddleware.cpp
Go to the documentation of this file.
1namespace krotos
2{
3 void PresetEventMiddleware::addHook(std::unique_ptr<PresetEventHook> hook) { m_hooks.push_back(std::move(hook)); }
4
6 {
7 auto it = std::find_if(m_hooks.begin(), m_hooks.end(), [hook](const auto& h) { return h.get() == hook; });
8
9 if (it != m_hooks.end())
10 {
11 m_hooks.erase(it);
12 return true;
13 }
14
15 return false;
16 }
17
19 {
20 PresetLoadResponse response;
21 for (auto& hook : m_hooks)
22 {
23 hook->onPresetLoad(request, response);
24
25 if (!response.success)
26 {
27 break;
28 }
29 }
30 return response;
31 }
32
34 {
35 KwidgetLoadResponse response;
36 for (auto& hook : m_hooks)
37 {
38 hook->onKwidgetLoad(request, response);
39
40 if (!response.success)
41 {
42 break;
43 }
44 }
45 return response;
46 }
47
48} // namespace krotos
bool removeHook(PresetEventHook *hook)
Removes a hook from the middleware.
Definition PresetEventMiddleware.cpp:5
void addHook(std::unique_ptr< PresetEventHook > hook)
Adds a new hook to the middleware.
Definition PresetEventMiddleware.cpp:3
KwidgetLoadResponse processKwidgetLoad(KwidgetLoadRequest &request)
Processes a Kwidget load request through all registered hooks.
Definition PresetEventMiddleware.cpp:33
PresetLoadResponse processPresetLoad(PresetLoadRequest &request)
Processes a preset load request through all registered hooks.
Definition PresetEventMiddleware.cpp:18
std::vector< std::unique_ptr< PresetEventHook > > m_hooks
Definition PresetEventMiddleware.h:131
Definition AirAbsorptionFilter.cpp:2
A middleware request object for a Kwidget load event.
Definition PresetEventMiddleware.h:36
A middleware response object for the Kwidget load operation.
Definition PresetEventMiddleware.h:47
bool success
Indicates whether the middleware operation was successful. Also returns true by default,...
Definition PresetEventMiddleware.h:52
An abstract base class for preset event hooks. These can be used to intercept and modify preset and K...
Definition PresetEventMiddleware.h:65
A middleware request object for a preset load event.
Definition PresetEventMiddleware.h:7
A simple middleware response object containing the success status and a message.
Definition PresetEventMiddleware.h:19
bool success
Indicates whether the middleware was successful in processing the preset load request,...
Definition PresetEventMiddleware.h:24