RTC Toolkit 5.1.0
Loading...
Searching...
No Matches
businessLogic.hpp
Go to the documentation of this file.
1
13#ifndef RTCTK_EXAMPLEDATATASK_BUSINESSLOGIC_HPP
14#define RTCTK_EXAMPLEDATATASK_BUSINESSLOGIC_HPP
15
16#include "computation.hpp"
17
22
23namespace rtctk::exampleDataTask {
24
25using namespace rtctk::componentFramework;
26
28
29class BusinessLogic : public LifeCycle::BizLogicIf, public Computation::ResultIf {
30public:
32
33 BusinessLogic(const std::string& name, ServiceContainer& services);
34
35 // activities
45
46private:
47 void OnResultAvailable(const Computation::Result& result) override;
48
49 std::string m_name;
50 ServiceContainer& m_services;
51 RuntimeRepoIf& m_rtr;
52 EventServiceIf& m_esv;
53
54 // event publisher for all kinds of configuration events
55 std::unique_ptr<EventPublisherIf> m_ev_pub;
56
57 // rtr datapoints (inputs)
58 DataPointPath m_dp_queue_name;
59 DataPointPath m_dp_thread_policies;
60 DataPointPath m_dp_samples_to_read;
61 DataPointPath m_dp_samples_to_skip;
62 DataPointPath m_dp_sample_timeout;
63 DataPointPath m_dp_slopes;
64 DataPointPath m_dp_modes;
65 DataPointPath m_dp_s2m;
66
67 // rtr datapoints (outputs)
68 DataPointPath m_dp_avg_slopes;
69 DataPointPath m_dp_avg_modes;
70
71 std::unique_ptr<Computation> m_computation;
72};
73
74} // namespace rtctk::exampleDataTask
75
76#endif // RTCTK_EXAMPLEDATATASK_BUSINESSLOGIC_HPP
Definition main.cpp:25
This class provides a wrapper for a data point path.
Definition dataPointPath.hpp:74
Interface class for providing pub/sub facilities for JSON events.
Definition eventServiceIf.hpp:29
Base interface for all Runtime Configuration Repository adapters.
Definition runtimeRepoIf.hpp:27
Container class that holds services of any type.
Definition serviceContainer.hpp:39
void ActivityEnabling(StopToken st) override
void ActivityGoingIdle(StopToken st) override
void ActivityStarting(StopToken st) override
void ActivityRunning(StopToken st) override
void ActivityInitialising(StopToken st) override
void ActivityGoingRunning(StopToken st) override
void ActivityDisabling(StopToken st) override
void ActivityRecovering(StopToken st) override
void ActivityUpdating(StopToken st, const JsonPayload &args) override
BusinessLogic(const std::string &name, ServiceContainer &services)
Low-level interface of the event service.
Definition commandReplier.cpp:22
rad::StopToken StopToken
Definition stopToken.hpp:20
nlohmann::json JsonPayload
Type requirements:
Definition jsonPayload.hpp:25
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Definition businessLogic.cpp:27
Runnable< RtcComponent > LifeCycle
Definition businessLogic.hpp:27
Lifecycle of a basic 'RtcComponent'.
Lifecycle Extension that makes an RTC Component 'Runnable'.
Header file for RuntimeRepoIf, which defines the API for RuntimeRepoAdapters.
Basic life cycle for RtcComponent.
Definition rtcComponent.hpp:74
Life cycle extension to make RtcComponent Runnable.
Definition runnable.hpp:31
Definition computation.hpp:43
Computation class of the example data task.