The MAUVE Toolchain
mauve::runtime::Shell Class Reference

A Shell is the interface of a component. More...

#include <Shell.hpp>

Inheritance diagram for mauve::runtime::Shell:
Collaboration diagram for mauve::runtime::Shell:

Public Member Functions

 Shell (const Shell &shell)=delete
 Copy constructor. More...
 
void cleanup () overridefinal
 Cleanup the object.
 
bool configure () overridefinal
 Configure the object.
 
bool is_configured () const overridefinal
 Get the configuration status of the configurable object. More...
 
AbstractLoggerlogger () const override
 Get the logger.
 
virtual std::string name () const overridefinal
 Get Component name.
 
void print_model (std::ostream &out) const
 Print the Shell model. More...
 
std::string type_name () const
 Get the Shell type name. 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
 
- Public Member Functions inherited from mauve::runtime::HasPort
void disconnect ()
 
AbstractPortget_port (std::string const &name) const
 
AbstractPortget_port (int index) const
 
const std::vector< AbstractPort * > get_ports () const
 Get the ports of the shell. More...
 
std::size_t get_ports_size () const
 

Protected Member Functions

 Shell ()
 Default constructor. More...
 
virtual ~Shell () noexcept
 Default destructor. More...
 
- 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...
 
- Protected Member Functions inherited from mauve::runtime::HasPort
template<typename R , typename... P>
CallPort< R, P... > mk_call_port (std::string const &name, R default_value)
 
EventPortmk_event_port (std::string const &name)
 
template<typename PORT , typename... PARAM>
PORT & mk_port (std::string const &name, PARAM...parameters)
 Create a new port in this shell. More...
 
template<typename T >
ReadPort< T > & mk_read_port (std::string const &name, T default_value)
 
template<typename T >
WritePort< T > & mk_write_port (std::string const &name)
 
- Protected Member Functions inherited from mauve::runtime::WithHook
virtual void cleanup_hook ()
 Hook function called when cleaning the shell. More...
 
virtual bool configure_hook ()
 Hook function called when configuring the shell. More...
 

Friends

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

Detailed Description

A Shell is the interface of a component.

A Shell declares elements that are visible at the architecture level in order to have the components interact one with the other.

Constructor & Destructor Documentation

mauve::runtime::Shell::Shell ( const Shell shell)
delete

Copy constructor.

Remarks
deleted
mauve::runtime::Shell::Shell ( )
protected

Default constructor.

virtual mauve::runtime::Shell::~Shell ( )
protectedvirtualnoexcept

Default destructor.

Member Function Documentation

bool mauve::runtime::Shell::is_configured ( ) const
inlinefinaloverridevirtual

Get the configuration status of the configurable object.

Returns
true if the object is configured

Implements mauve::runtime::Configurable.

void mauve::runtime::Shell::print_model ( std::ostream &  out) const

Print the Shell model.

Parameters
outthe output stream in which the print is done
std::string mauve::runtime::Shell::type_name ( ) const

Get the Shell type name.

Returns
the Shell type name