Go to the documentation of this file.
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>
32 class Generic :
public Subsys::Registrar<Generic> {
60 virtual bool IsReady()
const override;
83 virtual std::optional<elt::mal::future<void>>
Connect()
override;
89 virtual elt::mal::future<std::string>
Init()
override;
96 virtual elt::mal::future<std::string>
Enable()
override;
103 virtual elt::mal::future<std::string>
Disable()
override;
110 virtual elt::mal::future<std::string>
Stop()
override;
112 virtual elt::mal::future<std::string>
GetState()
override;
114 virtual elt::mal::future<std::string>
GetStatus()
override;
116 virtual elt::mal::future<std::string>
GetVersion()
override;
123 virtual elt::mal::future<std::string>
Reset()
override;
133 virtual void Ignore(rad::AnyEvent
const& last_event)
override;
142 virtual void StopIgn(rad::AnyEvent
const& last_event)
override;
151 virtual void SubsysReset(rad::AnyEvent
const& last_event)
override;
160 virtual void SubsysInit(rad::AnyEvent
const& last_event)
override;
169 virtual void SubsysEnable(rad::AnyEvent
const& last_event)
override;
178 virtual void SubsysDisable(rad::AnyEvent
const& last_event)
override;
187 virtual void Setup(
const std::any& payload)
override;
193 virtual void Status(
const std::string& payload, std::string& buffer)
override;
199 virtual std::string
GetName()
const override;
237 void UpdateDb(std::vector<std::string> attr_vector);
257 void GetPrefix(
const std::vector<std::string> prefix_list, std::string& prefix);
291 log4cplus::Logger m_logger;
298 #endif //SUP_SYSSUP_COMMON_GENERIC_HPP
virtual std::optional< elt::mal::future< void > > Connect() override
Definition: generic.cpp:47
virtual void Setup(const std::any &payload) override
Executes a run time configuration.
Definition: generic.cpp:385
virtual elt::mal::future< std::string > Stop() override
Executes a Stop command.
Definition: generic.cpp:96
Dispatcher< stdif::StdCmdsAsync > m_dispatcher
Definition: generic.hpp:285
virtual void SubsysInit(rad::AnyEvent const &last_event) override
Executes a hardware init command.
Definition: generic.cpp:163
DataContext class header file.
Definition: dataContext.hpp:68
virtual bool IsDisabling() const override
Check if subsys is disablig.
Definition: generic.cpp:238
Definition: config.hpp:162
virtual bool IsNotReady() const override
Check if subsys is Standby/NotReady.
Definition: generic.cpp:183
virtual elt::mal::future< std::string > GetStatus() override
Definition: generic.cpp:114
void SetIgnore(bool flag)
SetIgnore.
Definition: generic.cpp:259
Subsys class header file.
std::string GetPrefixName() const
Get subsystem name for logging purposes.
Definition: generic.cpp:290
SubsysFactory class header file.
bool GetAccess() const
Get subsystem access flag.
Definition: generic.cpp:301
void StopSubscription()
Start subscription of subsystem status.
Definition: generic.cpp:380
void UpdateConfig() override
Update subsystem configuration.
Definition: generic.cpp:251
virtual void SubsysEnable(rad::AnyEvent const &last_event) override
Executes a hardware enable command.
Definition: generic.cpp:170
Definition: actionMgr.cpp:31
std::string m_name
name of the subsystem
Definition: generic.hpp:282
bool CheckNameParam(const std::any &payload)
Determine whether paramater is included (subsys name).
Definition: generic.cpp:311
virtual elt::mal::future< std::string > Init() override
Executes a Init command.
Definition: generic.cpp:72
Generic(const std::string name, Config &config, DataContext &data_ctx)
Subsys abstract class constructor.
Definition: generic.cpp:31
virtual elt::mal::future< std::string > Reset() override
Executes a Reset command.
Definition: generic.cpp:132
void UpdateDb(std::vector< std::string > attr_vector)
Update subsys database.
Definition: generic.cpp:246
virtual void SubsysReset(rad::AnyEvent const &last_event) override
Executes a hardware reset command.
Definition: generic.cpp:156
virtual void CheckSubsysFailure() const override
Check if subsys is in failure state.
Definition: generic.cpp:232
virtual void Ignore(rad::AnyEvent const &last_event) override
Executes a Ignore.
Definition: generic.cpp:142
Definition: generic.hpp:32
DataContext & m_data_ctx
reference to the data context object.
Definition: generic.hpp:284
virtual elt::mal::future< std::string > GetState() override
Definition: generic.cpp:104
virtual elt::mal::future< std::string > Enable() override
Executes a Enable command.
Definition: generic.cpp:80
virtual std::string GetName() const override
Get subsystem name.
Definition: generic.cpp:285
virtual elt::mal::future< std::string > Disable() override
Executes a Disable command.
Definition: generic.cpp:88
virtual bool IsReady() const override
Check if subsys is Standby/Ready.
Definition: generic.cpp:189
virtual elt::mal::future< std::string > GetVersion() override
Definition: generic.cpp:124
virtual void Status(const std::string &payload, std::string &buffer) override
Get subsystem status.
Definition: generic.cpp:201
void SetAccess(const bool &access)
Definition: generic.cpp:306
std::string GetScopeStr() const
Get subsystem scope as string.
Definition: generic.cpp:296
std::unique_ptr< rad::cii::Subscriber< stdif::Status > > m_subscriber
Definition: generic.hpp:288
elt::mal::rr::ListenerRegistration m_connection_listener
Definition: generic.hpp:287
virtual void SubsysDisable(rad::AnyEvent const &last_event) override
Executes a hardware disable command.
Definition: generic.cpp:177
virtual bool IsOperational() const override
Check if subsys is Operational.
Definition: generic.cpp:195
virtual void StopIgn(rad::AnyEvent const &last_event) override
Executes a StopIgn.
Definition: generic.cpp:149
void GetPrefix(const std::vector< std::string > prefix_list, std::string &prefix)
Get prefix for writing attributes to the DB.
Definition: generic.cpp:267
Config & m_config
reference to the config object.
Definition: generic.hpp:283
void StartSubscription() override
Start subscription of subsystem status.
Definition: generic.cpp:334
virtual ~Generic()
Default destructor.
Definition: generic.cpp:42
bool IsMsgForMe(const std::string &id) const
Check if received message id is addressed to me.
Definition: generic.cpp:274