ifw-slm 0.1.2
 
Loading...
Searching...
No Matches
ifw::slm::BaseLoopCloseActions Class Reference

#include <baseLoopActions.hpp>

Inheritance diagram for ifw::slm::BaseLoopCloseActions:
ifw::slm::ActionsLoopClose< 1 > ifw::slm::ActionsLoopClose< 2 > ifw::slm::ActionsLoopClose< 3 > ifw::slm::ActionsLoopClose< 4 > ifw::slm::ActionsLoopClose< 5 > ifw::slm::ActionsLoopClose< 6 > ifw::slm::ActionsLoopClose< 7 > ifw::slm::ActionsLoopClose< 8 > ifw::slm::ActionsLoopClose< 9 > ifw::slm::ActionsLoopClose< LOOP_INDEX > ifw::slm::TestableBaseLoopCloseActions

Public Member Functions

 BaseLoopCloseActions (const std::string &name, rad::Application &appl, rad::ConfigurableActionMgr &action_mgr, DataContext &data, int loop_index, std::shared_ptr< LoopCompletionHandler > completion_handler=nullptr)
 
virtual ~BaseLoopCloseActions ()=default
 
void Initialize () override
 
void Configure (const std::vector< std::string > &keys) override
 
virtual void Execute (scxml4cpp::Context *c)
 
virtual void Complete (scxml4cpp::Context *c)
 
virtual void Abort (scxml4cpp::Context *c)
 
virtual void InstallTimer (scxml4cpp::Context *c)
 
virtual void CycleError (scxml4cpp::Context *c)
 
 BaseLoopCloseActions (const BaseLoopCloseActions &)=delete
 
BaseLoopCloseActionsoperator= (const BaseLoopCloseActions &)=delete
 
template<typename T>
GetLoopParam (const std::string &name) const
 
template<typename T>
GetLoopParam (const std::string &name, const T &default_value) const
 

Protected Member Functions

virtual void OnLoopOpen ()
 
virtual void OnLoopClose ()
 
virtual void OnLoopSuspend ()
 
virtual void OnCycleStart ()
 
virtual void OnCycleComplete (bool success)
 
virtual void OnCycleError ()
 

Protected Attributes

rad::Application & m_appl
 
rad::ConfigurableActionMgr & m_action_mgr
 
DataContextm_data
 
int m_loop_index
 
std::shared_ptr< LoopCompletionHandlerm_completion_handler
 
LoopStateData m_loop_state
 

Detailed Description

Base class for close loop actions (replaces ActionsLoop1CloseLoop-9CloseLoop)

This class handles the closed-loop control logic. Users should override Execute() to implement their specific control algorithm.

Constructor & Destructor Documentation

◆ BaseLoopCloseActions() [1/2]

ifw::slm::BaseLoopCloseActions::BaseLoopCloseActions ( const std::string & name,
rad::Application & appl,
rad::ConfigurableActionMgr & action_mgr,
DataContext & data,
int loop_index,
std::shared_ptr< LoopCompletionHandler > completion_handler = nullptr )

◆ ~BaseLoopCloseActions()

virtual ifw::slm::BaseLoopCloseActions::~BaseLoopCloseActions ( )
virtualdefault

◆ BaseLoopCloseActions() [2/2]

ifw::slm::BaseLoopCloseActions::BaseLoopCloseActions ( const BaseLoopCloseActions & )
delete

Member Function Documentation

◆ Abort()

◆ Complete()

◆ Configure()

void ifw::slm::BaseLoopCloseActions::Configure ( const std::vector< std::string > & keys)
override

◆ CycleError()

◆ Execute()

◆ GetLoopParam() [1/2]

template<typename T>
T ifw::slm::BaseLoopCloseActions::GetLoopParam ( const std::string & name) const
inline

Read a per-loop configuration parameter by name.

◆ GetLoopParam() [2/2]

template<typename T>
T ifw::slm::BaseLoopCloseActions::GetLoopParam ( const std::string & name,
const T & default_value ) const
inline

◆ Initialize()

void ifw::slm::BaseLoopCloseActions::Initialize ( )
override

◆ InstallTimer()

◆ OnCycleComplete()

void ifw::slm::BaseLoopCloseActions::OnCycleComplete ( bool success)
protectedvirtual

◆ OnCycleError()

void ifw::slm::BaseLoopCloseActions::OnCycleError ( )
protectedvirtual

◆ OnCycleStart()

void ifw::slm::BaseLoopCloseActions::OnCycleStart ( )
protectedvirtual

◆ OnLoopClose()

void ifw::slm::BaseLoopCloseActions::OnLoopClose ( )
protectedvirtual

◆ OnLoopOpen()

void ifw::slm::BaseLoopCloseActions::OnLoopOpen ( )
protectedvirtual

◆ OnLoopSuspend()

void ifw::slm::BaseLoopCloseActions::OnLoopSuspend ( )
protectedvirtual

◆ operator=()

BaseLoopCloseActions & ifw::slm::BaseLoopCloseActions::operator= ( const BaseLoopCloseActions & )
delete

Member Data Documentation

◆ m_action_mgr

rad::ConfigurableActionMgr& ifw::slm::BaseLoopCloseActions::m_action_mgr
protected

◆ m_appl

rad::Application& ifw::slm::BaseLoopCloseActions::m_appl
protected

◆ m_completion_handler

std::shared_ptr<LoopCompletionHandler> ifw::slm::BaseLoopCloseActions::m_completion_handler
protected

◆ m_data

DataContext& ifw::slm::BaseLoopCloseActions::m_data
protected

◆ m_loop_index

int ifw::slm::BaseLoopCloseActions::m_loop_index
protected

◆ m_loop_state

LoopStateData ifw::slm::BaseLoopCloseActions::m_loop_state
protected

The documentation for this class was generated from the following files: