9#ifndef SUP_SYSSUP_COMMON_GENERIC_HPP
10#define SUP_SYSSUP_COMMON_GENERIC_HPP
12#include <rad/mal/requestor.hpp>
13#include <rad/mal/subscriber.hpp>
33 class Generic :
public Subsys::Registrar<Generic> {
61 virtual bool IsReady()
const override;
84 virtual std::optional<elt::mal::future<void>>
Connect()
override;
86 virtual void Close()
override;
92 virtual elt::mal::future<std::string>
Init()
override;
99 virtual elt::mal::future<std::string>
Enable()
override;
106 virtual elt::mal::future<std::string>
Disable()
override;
113 virtual elt::mal::future<std::string>
Stop()
override;
115 virtual elt::mal::future<std::string>
GetState()
override;
117 virtual elt::mal::future<std::string>
GetStatus()
override;
119 virtual elt::mal::future<std::string>
GetVersion()
override;
126 virtual elt::mal::future<std::string>
Reset()
override;
136 virtual void Ignore(rad::AnyEvent
const& last_event)
override;
145 virtual void StopIgn(rad::AnyEvent
const& last_event)
override;
154 virtual void SubsysReset(rad::AnyEvent
const& last_event)
override;
163 virtual void SubsysInit(rad::AnyEvent
const& last_event)
override;
172 virtual void SubsysEnable(rad::AnyEvent
const& last_event)
override;
181 virtual void SubsysDisable(rad::AnyEvent
const& last_event)
override;
190 virtual void Setup(
const std::any& payload)
override;
196 virtual void Status(
const std::string& payload, std::string& buffer)
override;
202 virtual std::string
GetName()
const override;
240 void UpdateDb(std::vector<std::string> attr_vector);
260 void GetPrefix(
const std::vector<std::string> prefix_list, std::string& prefix);
297 log4cplus::Logger m_logger;
Definition config.hpp:162
Definition dataContext.hpp:67
Definition subsys.hpp:105
Definition generic.hpp:33
virtual void Ignore(rad::AnyEvent const &last_event) override
Executes a Ignore.
Definition generic.cpp:152
virtual ~Generic()
Default destructor.
Definition generic.cpp:39
void UpdateConfig() override
Update subsystem configuration.
Definition generic.cpp:240
virtual void CheckSubsysFailure() const override
Check if subsys is in failure state.
Definition generic.cpp:222
virtual elt::mal::future< std::string > Enable() override
Executes a Enable command.
Definition generic.cpp:90
virtual void SubsysReset(rad::AnyEvent const &last_event) override
Executes a hardware reset command.
Definition generic.cpp:160
virtual bool IsDisabling() const override
Check if subsys is disablig.
Definition generic.cpp:228
virtual void Close() override
Definition generic.cpp:73
void StartSubscription() override
Start subscription of subsystem status.
Definition generic.cpp:326
std::string GetPrefixName() const
Get subsystem name for logging purposes.
Definition generic.cpp:283
virtual elt::mal::future< std::string > GetVersion() override
Definition generic.cpp:134
bool IsMsgForMe(const std::string &id) const
Check if received message id is addressed to me.
Definition generic.cpp:267
virtual elt::mal::future< std::string > Disable() override
Executes a Disable command.
Definition generic.cpp:98
virtual void SubsysEnable(rad::AnyEvent const &last_event) override
Executes a hardware enable command.
Definition generic.cpp:168
void StopSubscription()
Start subscription of subsystem status.
Definition generic.cpp:380
virtual elt::mal::future< std::string > Reset() override
Executes a Reset command.
Definition generic.cpp:142
virtual bool IsOperational() const override
Check if subsys is Operational.
Definition generic.cpp:186
void SetAccess(const bool &access)
Definition generic.cpp:299
virtual void Setup(const std::any &payload) override
Executes a run time configuration.
Definition generic.cpp:387
void SetIgnore(bool flag)
SetIgnore.
Definition generic.cpp:258
bool GetAccess() const
Get subsystem access flag.
Definition generic.cpp:294
virtual std::string GetName() const override
Get subsystem name.
Definition generic.cpp:278
std::string m_name
name of the subsystem
Definition generic.hpp:287
void GetPrefix(const std::vector< std::string > prefix_list, std::string &prefix)
Get prefix for writing attributes to the DB.
Definition generic.cpp:263
Generic(const std::string name, Config &config, DataContext &data_ctx)
Subsys abstract class constructor.
Definition generic.cpp:29
virtual elt::mal::future< std::string > Stop() override
Executes a Stop command.
Definition generic.cpp:106
virtual std::optional< elt::mal::future< void > > Connect() override
Definition generic.cpp:42
std::atomic< bool > m_initiated_connection
Definition generic.hpp:284
Dispatcher< stdif::StdCmdsAsync > m_dispatcher
Definition generic.hpp:290
DataContext & m_data_ctx
reference to the data context object.
Definition generic.hpp:289
virtual elt::mal::future< std::string > GetState() override
Definition generic.cpp:114
virtual void SubsysInit(rad::AnyEvent const &last_event) override
Executes a hardware init command.
Definition generic.cpp:164
virtual bool IsReady() const override
Check if subsys is Standby/Ready.
Definition generic.cpp:181
virtual void Status(const std::string &payload, std::string &buffer) override
Get subsystem status.
Definition generic.cpp:191
virtual bool IsNotReady() const override
Check if subsys is Standby/NotReady.
Definition generic.cpp:176
Config & m_config
reference to the config object.
Definition generic.hpp:288
virtual elt::mal::future< std::string > Init() override
Executes a Init command.
Definition generic.cpp:82
bool CheckNameParam(const std::any &payload)
Determine whether paramater is included (subsys name).
Definition generic.cpp:303
virtual void StopIgn(rad::AnyEvent const &last_event) override
Executes a StopIgn.
Definition generic.cpp:156
elt::mal::rr::ListenerRegistration m_connection_listener
Definition generic.hpp:292
std::string GetScopeStr() const
Get subsystem scope as string.
Definition generic.cpp:289
void UpdateDb(std::vector< std::string > attr_vector)
Update subsys database.
Definition generic.cpp:236
virtual void SubsysDisable(rad::AnyEvent const &last_event) override
Executes a hardware disable command.
Definition generic.cpp:172
virtual elt::mal::future< std::string > GetStatus() override
Definition generic.cpp:124
std::unique_ptr< rad::cii::Subscriber< stdif::Status > > m_subscriber
Definition generic.hpp:293
ActionsInit class source file.
Definition actionMgr.cpp:32
SubsysFactory class header file.
Subsys class header file.
DataContext class header file.