Goby3  3.1.5a
2024.05.23
goby::acomms::benthos::fsm::Command Struct Reference

#include <goby/acomms/modemdriver/benthos_atm900_driver_fsm.h>

Inheritance diagram for goby::acomms::benthos::fsm::Command:
boost::statechart::simple_state< Command, Active, Configure, boost::statechart::has_deep_history > goby::acomms::benthos::fsm::StateNotify

Classes

struct  ATSentenceMeta
 

Public Types

using reactions = boost::mpl::list< boost::statechart::custom_reaction< EvConnect >, boost::statechart::in_state_reaction< EvAck, Command, &Command::in_state_react >, boost::statechart::in_state_reaction< EvTxSerial, Command, &Command::in_state_react > >
 
- Public Types inherited from boost::statechart::simple_state< Command, Active, Configure, boost::statechart::has_deep_history >
typedef mpl::list reactions
 
typedef Active ::inner_context_type context_type
 
typedef context_type::outermost_context_type outermost_context_type
 
typedef context_type::state_base_type state_base_type
 
typedef context_type::state_iterator state_iterator
 
typedef context_type::event_base_ptr_type event_base_ptr_type
 
typedef Active ::inner_orthogonal_position orthogonal_position
 
typedef Command inner_context_type
 
typedef mpl::integral_c< detail::orthogonal_position_type, 0 > inner_orthogonal_position
 
typedef context_type::event_base_type event_base_type
 
typedef context_type::rtti_policy_type rtti_policy_type
 
typedef context_type::outermost_context_base_type outermost_context_base_type
 
typedef context_type::inner_context_ptr_type context_ptr_type
 
typedef context_type::state_list_type state_list_type
 
typedef intrusive_ptr< inner_context_typeinner_context_ptr_type
 
typedef detail::make_list< Configure >::type inner_initial_list
 
typedef mpl::size< inner_initial_list >::type inner_initial_list_size
 
typedef mpl::integral_c< detail::orthogonal_position_type, inner_initial_list_size::value > no_of_orthogonal_regions
 
typedef mpl::push_front< typename context_type::context_type_list, context_type >::type context_type_list
 
typedef mpl::bool_<(historyMode &has_shallow_history) !=0 > shallow_history
 
typedef context_type::shallow_history stores_shallow_history
 
typedef mpl::bool_<(historyMode &has_deep_history) !=0 > deep_history
 
typedef mpl::or_< deep_history, typename context_type::inherited_deep_history >::type inherited_deep_history
 
typedef mpl::and_< inherited_deep_history, mpl::empty< inner_initial_list > >::type stores_deep_history
 

Public Member Functions

void in_state_react (const EvAck &)
 
void in_state_react (const EvTxSerial &)
 
boost::statechart::result react (const EvConnect &)
 
 Command ()
 
 ~Command () override=default
 
void push_at_command (std::string cmd)
 
void push_clam_command (const std::string &cmd)
 
boost::circular_buffer< std::pair< ATSentenceMeta, std::string > > & at_out ()
 
- Public Member Functions inherited from boost::statechart::simple_state< Command, Active, Configure, boost::statechart::has_deep_history >
outermost_context_typeoutermost_context ()
 
const outermost_context_typeoutermost_context () const
 
OtherContext & context ()
 
const OtherContext & context () const
 
Target state_cast () const
 
Target state_downcast () const
 
state_iterator state_begin () const
 
state_iterator state_end () const
 
void post_event (const event_base_ptr_type &pEvent)
 
void post_event (const event_base &evt)
 
result discard_event ()
 
result forward_event ()
 
result defer_event ()
 
result transit ()
 
result transit (void(TransitionContext::*pTransitionAction)(const Event &), const Event &evt)
 
result terminate ()
 
void clear_shallow_history ()
 
void clear_deep_history ()
 
const event_base * triggering_event () const
 
 BOOST_STATIC_ASSERT ((mpl::less< orthogonal_position, typename context_type::no_of_orthogonal_regions >::value))
 
 BOOST_STATIC_ASSERT ((mpl::or_< mpl::less< no_of_orthogonal_regions, mpl::integral_c< detail::orthogonal_position_type, 2 > >, mpl::not_< typename context_type::inherited_deep_history > >::value))
 
void * operator new (std::size_t size)
 
void operator delete (void *pState)
 
outermost_context_base_typeoutermost_context_base ()
 
const outermost_context_base_typeoutermost_context_base () const
 
virtual const state_base_typeouter_state_ptr () const
 
virtual detail::reaction_result react_impl (const event_base_type &evt, typename rtti_policy_type::id_type eventType)
 
virtual void exit_impl (typename base_type::direct_state_base_ptr_type &pSelf, typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState, bool performFullExit)
 
void exit_impl (inner_context_ptr_type &pSelf, typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState, bool performFullExit)
 
void set_outermost_unstable_state (typename state_base_type::node_state_base_ptr_type &pOutermostUnstableState)
 
const OtherContext::inner_context_ptr_type & context_ptr () const
 
void set_context (const context_ptr_type &pContext)
 
void store_deep_history_impl ()
 
- Public Member Functions inherited from goby::acomms::benthos::fsm::StateNotify
 StateNotify (std::string name)
 
 ~StateNotify ()
 

Additional Inherited Members

- Static Public Member Functions inherited from boost::statechart::simple_state< Command, Active, Configure, boost::statechart::has_deep_history >
static void initial_deep_construct (outermost_context_base_type &outermostContextBase)
 
static void deep_construct (const context_ptr_type &pContext, outermost_context_base_type &outermostContextBase)
 
static inner_context_ptr_type shallow_construct (const context_ptr_type &pContext, outermost_context_base_type &outermostContextBase)
 
static void deep_construct_inner (const inner_context_ptr_type &pInnerContext, outermost_context_base_type &outermostContextBase)
 
- Protected Member Functions inherited from boost::statechart::simple_state< Command, Active, Configure, boost::statechart::has_deep_history >
 simple_state ()
 
 ~simple_state ()
 

Detailed Description

Definition at line 276 of file benthos_atm900_driver_fsm.h.

Member Typedef Documentation

◆ reactions

using goby::acomms::benthos::fsm::Command::reactions = boost::mpl::list< boost::statechart::custom_reaction<EvConnect>, boost::statechart::in_state_reaction<EvAck, Command, &Command::in_state_react>, boost::statechart::in_state_reaction<EvTxSerial, Command, &Command::in_state_react> >

Definition at line 309 of file benthos_atm900_driver_fsm.h.

Constructor & Destructor Documentation

◆ Command()

goby::acomms::benthos::fsm::Command::Command ( )
inline

Definition at line 297 of file benthos_atm900_driver_fsm.h.

◆ ~Command()

goby::acomms::benthos::fsm::Command::~Command ( )
overridedefault

Member Function Documentation

◆ at_out()

boost::circular_buffer<std::pair<ATSentenceMeta, std::string> >& goby::acomms::benthos::fsm::Command::at_out ( )
inline

Definition at line 330 of file benthos_atm900_driver_fsm.h.

◆ in_state_react() [1/2]

void goby::acomms::benthos::fsm::Command::in_state_react ( const EvAck )

◆ in_state_react() [2/2]

void goby::acomms::benthos::fsm::Command::in_state_react ( const EvTxSerial )

◆ push_at_command()

void goby::acomms::benthos::fsm::Command::push_at_command ( std::string  cmd)
inline

Definition at line 318 of file benthos_atm900_driver_fsm.h.

◆ push_clam_command()

void goby::acomms::benthos::fsm::Command::push_clam_command ( const std::string &  cmd)
inline

Definition at line 325 of file benthos_atm900_driver_fsm.h.

◆ react()

boost::statechart::result goby::acomms::benthos::fsm::Command::react ( const EvConnect )
inline

Definition at line 283 of file benthos_atm900_driver_fsm.h.


The documentation for this struct was generated from the following file: