The MAUVE Toolchain
mauve::runtime::AbstractFiniteStateMachine Class Referenceabstract

A Finite State Machine describes the component behavior. More...

#include <AbstractFiniteStateMachine.hpp>

Inheritance diagram for mauve::runtime::AbstractFiniteStateMachine:
Collaboration diagram for mauve::runtime::AbstractFiniteStateMachine:

Public Member Functions

 AbstractFiniteStateMachine ()
 Default constructor. More...
 
virtual ~AbstractFiniteStateMachine ()
 Default destructor. More...
 
virtual std::string core_type_name () const =0
 Get the type of the FSM core. More...
 
virtual AbstractStateget_state (std::string const &name) const =0
 Get a state of the FSM by name. More...
 
virtual AbstractStateget_state (int index) const =0
 Get a state of the FSM by state index. More...
 
virtual int get_state_index (const AbstractState *state) const =0
 Get a index of state in the FSM. More...
 
virtual std::size_t get_states_size () const =0
 
virtual std::string shell_type_name () const =0
 Get the type of the FSM shell. More...
 
std::string type_name () const
 Get the type of this FSM. More...
 
- Public Member Functions inherited from mauve::runtime::Configurable
virtual void cleanup ()=0
 Cleanup the object.
 
virtual bool configure ()=0
 Configure the object.
 
virtual bool is_configured () const =0
 Get the configuration status of the configurable object. More...
 
- Public Member Functions inherited from mauve::runtime::HasProperty
const std::vector< AbstractProperty * > get_properties () const
 Get the properties of the shell. More...
 
std::size_t get_properties_size () const
 
AbstractPropertyget_property (std::string const &name) const
 
AbstractPropertyget_property (int index) const
 

Friends

template<typename S , typename C , typename F >
class Component
 

Additional Inherited Members

- Protected Member Functions inherited from mauve::runtime::HasProperty
template<typename T >
Property< T > & mk_property (std::string const &name, T init_value)
 Create a new property. More...
 

Detailed Description

A Finite State Machine describes the component behavior.

Constructor & Destructor Documentation

mauve::runtime::AbstractFiniteStateMachine::AbstractFiniteStateMachine ( )

Default constructor.

virtual mauve::runtime::AbstractFiniteStateMachine::~AbstractFiniteStateMachine ( )
virtual

Default destructor.

Member Function Documentation

virtual std::string mauve::runtime::AbstractFiniteStateMachine::core_type_name ( ) const
pure virtual

Get the type of the FSM core.

Returns
the type name of the core

Implemented in mauve::runtime::FiniteStateMachine< SHELL, CORE >.

virtual AbstractState* mauve::runtime::AbstractFiniteStateMachine::get_state ( std::string const &  name) const
pure virtual

Get a state of the FSM by name.

Returns
the AbstractState named "name" if exists (nullptr if not)

Implemented in mauve::runtime::FiniteStateMachine< SHELL, CORE >.

virtual AbstractState* mauve::runtime::AbstractFiniteStateMachine::get_state ( int  index) const
pure virtual

Get a state of the FSM by state index.

Returns
the AbstractState if exists (nullptr if not)

Implemented in mauve::runtime::FiniteStateMachine< SHELL, CORE >.

virtual int mauve::runtime::AbstractFiniteStateMachine::get_state_index ( const AbstractState state) const
pure virtual

Get a index of state in the FSM.

Returns
index if exists (-1 if not)

Implemented in mauve::runtime::FiniteStateMachine< SHELL, CORE >.

virtual std::size_t mauve::runtime::AbstractFiniteStateMachine::get_states_size ( ) const
pure virtual
Returns
Get the states number

Implemented in mauve::runtime::FiniteStateMachine< SHELL, CORE >.

virtual std::string mauve::runtime::AbstractFiniteStateMachine::shell_type_name ( ) const
pure virtual

Get the type of the FSM shell.

Returns
the type name of the shell

Implemented in mauve::runtime::FiniteStateMachine< SHELL, CORE >.

std::string mauve::runtime::AbstractFiniteStateMachine::type_name ( ) const

Get the type of this FSM.

Returns
the type name