RTC Toolkit 6.0.0
Loading...
Searching...
No Matches
businessLogic.hpp
Go to the documentation of this file.
1
11
12#ifndef RTCTK_EXAMPLECUSTOM_BUSINESSLOGIC_HPP
13#define RTCTK_EXAMPLECUSTOM_BUSINESSLOGIC_HPP
14
15#include "customLifeCycle.hpp"
21
22namespace rtctk::exampleCustom {
23
24using namespace rtctk::componentFramework;
25
27
28class BusinessLogic : public LifeCycle::BizLogicIf {
29public:
31
32 BusinessLogic(const std::string& name, ServiceContainer& services);
33 virtual ~BusinessLogic() = default;
34
35 void ActivityStarting(StopToken st) override;
36 void ActivityInitialising(StopToken st) override;
37 void ActivityEnabling(StopToken st) override;
38 void ActivityDisabling(StopToken st) override;
39
40 void ActivityGoingRunning(StopToken st) override;
41 void ActivityGoingIdle(StopToken st) override;
42 void ActivityRunning(StopToken st) override;
43 void ActivityRecovering(StopToken st) override;
44
45 void ActivityUpdating(StopToken st, const JsonPayload& arg) override;
46 bool GuardUpdatingAllowed(const JsonPayload& args) override;
47
48 void ActivityOptimising(StopToken st, const JsonPayload& arg) override;
49 bool GuardOptimisingAllowed(const JsonPayload& arg) override;
50
51 void ActivityFoo(StopToken st) override;
52 void ActivityBar(StopToken st, const JsonPayload& arg) override;
53
54private:
55 log4cplus::Logger& m_logger;
56 std::string m_name;
57 RuntimeRepoIf& m_rtr;
58 OldbIf& m_oldb;
59};
60
61} // namespace rtctk::exampleCustom
62
63#endif // RTCTK_EXAMPLECUSTOM_BUSINESSLOGIC_HPP
Base interface for all OLDB adapters.
Definition oldbIf.hpp:24
Base interface for all Runtime Configuration Repository adapters.
Definition runtimeRepoIf.hpp:26
Container class that holds services of any type.
Definition serviceContainer.hpp:38
LifeCycle ComponentType
Definition businessLogic.hpp:30
void ActivityGoingIdle(StopToken st) override
Definition businessLogic.cpp:66
bool GuardOptimisingAllowed(const JsonPayload &arg) override
Definition businessLogic.cpp:94
void ActivityEnabling(StopToken st) override
Definition businessLogic.cpp:54
bool GuardUpdatingAllowed(const JsonPayload &args) override
Definition businessLogic.cpp:85
void ActivityInitialising(StopToken st) override
Definition businessLogic.cpp:37
void ActivityRecovering(StopToken st) override
Definition businessLogic.cpp:77
void ActivityBar(StopToken st, const JsonPayload &arg) override
Definition businessLogic.cpp:103
void ActivityRunning(StopToken st) override
Definition businessLogic.cpp:70
void ActivityDisabling(StopToken st) override
Definition businessLogic.cpp:58
void ActivityStarting(StopToken st) override
Definition businessLogic.cpp:33
BusinessLogic(const std::string &name, ServiceContainer &services)
Definition businessLogic.cpp:24
void ActivityFoo(StopToken st) override
Definition businessLogic.cpp:99
void ActivityGoingRunning(StopToken st) override
Definition businessLogic.cpp:62
void ActivityOptimising(StopToken st, const JsonPayload &arg) override
Definition businessLogic.cpp:90
void ActivityUpdating(StopToken st, const JsonPayload &arg) override
Definition businessLogic.cpp:81
Mixin layer that defines a custom life cycle extension.
rad::StopToken StopToken
Definition stopToken.hpp:19
nlohmann::json JsonPayload
Type requirements:
Definition jsonPayload.hpp:24
Definition businessLogic.cpp:22
CustomLifeCycle< Optimisable< Runnable< RtcComponent > > > LifeCycle
Definition businessLogic.hpp:26
Header file for OldbIf, which defines the API for OldbAdapters.
Lifecycle Extension that makes an RTC Component 'Optimisable'.
Lifecycle of a basic 'RtcComponent'.
Lifecycle Extension that makes an RTC Component 'Runnable'.
Header file for RuntimeRepoIf, which defines the API for RuntimeRepoAdapters.
Definition customLifeCycle.hpp:26