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

#include <baseLoopActions.hpp>

Inheritance diagram for ifw::slm::BaseLoopActions:
ifw::slm::CustomLoopAction ifw::slm::TestableBaseLoopActions

Public Member Functions

 BaseLoopActions (const std::string &name, rad::Application &appl, rad::ConfigurableActionMgr &action_mgr, DataContext &data, int loop_index, std::shared_ptr< LoopCompletionHandler > completion_handler=nullptr)
 
virtual ~BaseLoopActions ()=default
 
void Initialize () override
 
void Configure (const std::vector< std::string > &keys) override
 
virtual void Init (scxml4cpp::Context *c)
 
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 bool DoExecute ()
 
 BaseLoopActions (const BaseLoopActions &)=delete
 
BaseLoopActionsoperator= (const BaseLoopActions &)=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 main loop actions (replaces ActionsLoop1-9)

This class provides the structure for loop execution actions. Users can extend this class and override the virtual methods to implement custom loop behavior.

Constructor & Destructor Documentation

◆ BaseLoopActions() [1/2]

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

Constructor

Parameters
nameAction group name
applRAD application reference
action_mgrAction manager reference
dataData context reference
loop_indexLoop index (1-9)

◆ ~BaseLoopActions()

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

◆ BaseLoopActions() [2/2]

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

Member Function Documentation

◆ Abort()

void ifw::slm::BaseLoopActions::Abort ( scxml4cpp::Context * c)
virtual

◆ Complete()

void ifw::slm::BaseLoopActions::Complete ( scxml4cpp::Context * c)
virtual

◆ Configure()

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

◆ DoExecute()

bool ifw::slm::BaseLoopActions::DoExecute ( )
virtual

Hook method for user control logic (called from activity).

Users should override this method to implement their custom control algorithm. This is called from the activity's Run() method.

Returns
true if execution was successful, false otherwise

◆ Execute()

void ifw::slm::BaseLoopActions::Execute ( scxml4cpp::Context * c)
virtual

◆ GetLoopParam() [1/2]

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

Read a per-loop configuration parameter by name.

◆ GetLoopParam() [2/2]

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

◆ Init()

void ifw::slm::BaseLoopActions::Init ( scxml4cpp::Context * c)
virtual

Virtual methods for user override These are called by the state machine during loop execution

◆ Initialize()

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

◆ InstallTimer()

void ifw::slm::BaseLoopActions::InstallTimer ( scxml4cpp::Context * c)
virtual

◆ OnCycleComplete()

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

◆ OnCycleError()

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

◆ OnCycleStart()

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

◆ OnLoopClose()

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

◆ OnLoopOpen()

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

◆ OnLoopSuspend()

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

◆ operator=()

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

Member Data Documentation

◆ m_action_mgr

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

◆ m_appl

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

◆ m_completion_handler

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

◆ m_data

DataContext& ifw::slm::BaseLoopActions::m_data
protected

◆ m_loop_index

int ifw::slm::BaseLoopActions::m_loop_index
protected

◆ m_loop_state

LoopStateData ifw::slm::BaseLoopActions::m_loop_state
protected

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