ifw-sup 4.0.0
Loading...
Searching...
No Matches
generic.hpp
Go to the documentation of this file.
1
9#ifndef SUP_SYSSUP_COMMON_GENERIC_HPP
10#define SUP_SYSSUP_COMMON_GENERIC_HPP
11
12#include <rad/mal/requestor.hpp>
13#include <rad/mal/subscriber.hpp>
14
18
19
20#include <Stdif.hpp>
21
22namespace sup::syssup::common {
23 class Config;
24
25
32 class Generic : public Subsys::Registrar<Generic> {
33 public:
40 Generic(const std::string name,
41 Config& config,
42 DataContext& data_ctx);
43
47 virtual ~Generic();
48
54 virtual bool IsNotReady() const override;
60 virtual bool IsReady() const override;
61
67 virtual bool IsOperational() const override;
68
74 virtual void CheckSubsysFailure() const override;
75
81 virtual bool IsDisabling() const override;
82
83 virtual std::optional<elt::mal::future<void>> Connect() override;
89 virtual elt::mal::future<std::string> Init() override;
90
96 virtual elt::mal::future<std::string> Enable() override;
97
103 virtual elt::mal::future<std::string> Disable() override;
104
110 virtual elt::mal::future<std::string> Stop() override;
111
112 virtual elt::mal::future<std::string> GetState() override;
113
114 virtual elt::mal::future<std::string> GetStatus() override;
115
116 virtual elt::mal::future<std::string> GetVersion() override;
117
123 virtual elt::mal::future<std::string> Reset() override;
124
125
133 virtual void Ignore(rad::AnyEvent const& last_event) override;
134
142 virtual void StopIgn(rad::AnyEvent const& last_event) override;
143
151 virtual void SubsysReset(rad::AnyEvent const& last_event) override;
152
160 virtual void SubsysInit(rad::AnyEvent const& last_event) override;
161
169 virtual void SubsysEnable(rad::AnyEvent const& last_event) override;
170
178 virtual void SubsysDisable(rad::AnyEvent const& last_event) override;
179
187 virtual void Setup(const std::any& payload) override;
188
193 virtual void Status(const std::string& payload, std::string& buffer) override;
194
199 virtual std::string GetName() const override;
200
205 std::string GetPrefixName() const;
206
211 std::string GetScopeStr() const;
212
217 bool GetAccess() const;
218
219 void SetAccess(const bool& access);
220
221
222 protected:
223
230 bool IsMsgForMe(const std::string& id) const;
231
237 void UpdateDb(std::vector<std::string> attr_vector);
238
243 void UpdateConfig() override;
244
249 void SetIgnore(bool flag);
250
251
257 void GetPrefix(const std::vector<std::string> prefix_list, std::string& prefix);
258
266 bool CheckNameParam(const std::any& payload);
267
268 protected:
272 void StartSubscription() override;
273
277 void StopSubscription();
278
279
280
281 protected:
282 std::string m_name;
286
287 elt::mal::rr::ListenerRegistration m_connection_listener;
288 std::unique_ptr<rad::cii::Subscriber<stdif::Status>> m_subscriber;
289
290 private:
291 log4cplus::Logger m_logger;
292
293 };
294
295}
296
297
298#endif //SUP_SYSSUP_COMMON_GENERIC_HPP
Definition: config.hpp:162
Definition: dataContext.hpp:69
Definition: subsys.hpp:107
Definition: generic.hpp:32
bool CheckNameParam(const std::any &payload)
Determine whether paramater is included (subsys name).
Definition: generic.cpp:311
void StartSubscription() override
Start subscription of subsystem status.
Definition: generic.cpp:334
std::string GetScopeStr() const
Get subsystem scope as string.
Definition: generic.cpp:296
virtual elt::mal::future< std::string > Disable() override
Executes a Disable command.
Definition: generic.cpp:88
virtual void StopIgn(rad::AnyEvent const &last_event) override
Executes a StopIgn.
Definition: generic.cpp:149
bool IsMsgForMe(const std::string &id) const
Check if received message id is addressed to me.
Definition: generic.cpp:274
virtual void SubsysDisable(rad::AnyEvent const &last_event) override
Executes a hardware disable command.
Definition: generic.cpp:177
void StopSubscription()
Start subscription of subsystem status.
Definition: generic.cpp:380
Dispatcher< stdif::StdCmdsAsync > m_dispatcher
Definition: generic.hpp:285
Config & m_config
reference to the config object.
Definition: generic.hpp:283
std::string m_name
name of the subsystem
Definition: generic.hpp:282
virtual elt::mal::future< std::string > Enable() override
Executes a Enable command.
Definition: generic.cpp:80
void SetAccess(const bool &access)
Definition: generic.cpp:306
virtual void SubsysReset(rad::AnyEvent const &last_event) override
Executes a hardware reset command.
Definition: generic.cpp:156
virtual void Status(const std::string &payload, std::string &buffer) override
Get subsystem status.
Definition: generic.cpp:201
virtual void Setup(const std::any &payload) override
Executes a run time configuration.
Definition: generic.cpp:385
virtual elt::mal::future< std::string > GetVersion() override
Definition: generic.cpp:124
std::string GetPrefixName() const
Get subsystem name for logging purposes.
Definition: generic.cpp:290
void SetIgnore(bool flag)
SetIgnore.
Definition: generic.cpp:259
virtual elt::mal::future< std::string > Reset() override
Executes a Reset command.
Definition: generic.cpp:132
bool GetAccess() const
Get subsystem access flag.
Definition: generic.cpp:301
virtual void SubsysInit(rad::AnyEvent const &last_event) override
Executes a hardware init command.
Definition: generic.cpp:163
virtual void CheckSubsysFailure() const override
Check if subsys is in failure state.
Definition: generic.cpp:232
std::unique_ptr< rad::cii::Subscriber< stdif::Status > > m_subscriber
Definition: generic.hpp:288
virtual std::string GetName() const override
Get subsystem name.
Definition: generic.cpp:285
virtual void Ignore(rad::AnyEvent const &last_event) override
Executes a Ignore.
Definition: generic.cpp:142
virtual elt::mal::future< std::string > GetState() override
Definition: generic.cpp:104
virtual bool IsNotReady() const override
Check if subsys is Standby/NotReady.
Definition: generic.cpp:183
virtual std::optional< elt::mal::future< void > > Connect() override
Definition: generic.cpp:47
void GetPrefix(const std::vector< std::string > prefix_list, std::string &prefix)
Get prefix for writing attributes to the DB.
Definition: generic.cpp:267
virtual elt::mal::future< std::string > Init() override
Executes a Init command.
Definition: generic.cpp:72
virtual bool IsOperational() const override
Check if subsys is Operational.
Definition: generic.cpp:195
virtual elt::mal::future< std::string > GetStatus() override
Definition: generic.cpp:114
virtual ~Generic()
Default destructor.
Definition: generic.cpp:42
virtual void SubsysEnable(rad::AnyEvent const &last_event) override
Executes a hardware enable command.
Definition: generic.cpp:170
void UpdateDb(std::vector< std::string > attr_vector)
Update subsys database.
Definition: generic.cpp:246
DataContext & m_data_ctx
reference to the data context object.
Definition: generic.hpp:284
virtual bool IsReady() const override
Check if subsys is Standby/Ready.
Definition: generic.cpp:189
void UpdateConfig() override
Update subsystem configuration.
Definition: generic.cpp:251
virtual bool IsDisabling() const override
Check if subsys is disablig.
Definition: generic.cpp:238
elt::mal::rr::ListenerRegistration m_connection_listener
Definition: generic.hpp:287
virtual elt::mal::future< std::string > Stop() override
Executes a Stop command.
Definition: generic.cpp:96
Definition: actionMgr.cpp:31
SubsysFactory class header file.
Subsys class header file.
DataContext class header file.