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

Architecture class. More...

#include <Architecture.hpp>

Inheritance diagram for mauve::runtime::Architecture:
Collaboration diagram for mauve::runtime::Architecture:

Public Member Functions

void cleanup () overridefinal
 Cleanup the architecture.
 
void cleanup_hook () override
 Hook function called when cleaning the shell. More...
 
bool configure () overridefinal
 Configure the architecture.
 
bool configure_hook () override
 Hook function called when configuring the shell. More...
 
AbstractComponentget_component (int id)
 
const std::vector< AbstractComponent * > get_components ()
 Get the set of architecture components.
 
std::size_t get_components_size () const
 
AbstractResourceget_resource (int id) const
 
AbstractResourceget_resource (const std::string &name) const
 
int get_resource_index (const AbstractResource *resource) const
 
int get_resource_index (const std::string &name) const
 
const std::vector< AbstractResource * > get_resources ()
 Get the set of architecture resources.
 
std::size_t get_resources_size () const
 
bool is_configured () const overridefinal
 Check if the architecture is configured.
 
std::string type_name () const
 Architecture type name.
 

Protected Member Functions

AbstractLoggerlogger () const override
 Get the logger.
 
template<typename COMPONENT >
COMPONENT & mk_component (std::string const &name)
 
template<typename COMPONENT , typename... P>
COMPONENT & mk_component (std::string const &name, P...parameters)
 
template<typename SHELL , typename CORE , typename FSM >
Component< SHELL, CORE, FSM > & mk_component (std::string const &name)
 
template<typename SHELL , typename CORE , typename FSM , typename... P>
Component< SHELL, CORE, FSM > & mk_component (std::string const &name, P...parameters)
 
template<typename COMPONENT >
COMPONENT & mk_empty_component (std::string const &name)
 
template<typename SHELL , typename CORE , typename FSM >
Component< SHELL, CORE, FSM > & mk_empty_component (std::string const &name)
 
template<typename RESOURCE >
RESOURCE & mk_empty_resource (std::string const &name)
 
template<typename SHELL , typename CORE , typename INTERFACE >
Resource< SHELL, CORE, INTERFACE > & mk_empty_resource (std::string const &name)
 
template<typename RESOURCE >
RESOURCE & mk_resource (std::string const &name)
 
template<typename RESOURCE , typename... P>
RESOURCE & mk_resource (std::string const &name, P...parameters)
 
template<typename SHELL , typename CORE , typename INTERFACE >
Resource< SHELL, CORE, INTERFACE > & mk_resource (std::string const &name)
 
template<typename SHELL , typename CORE , typename INTERFACE , typename... P>
Resource< SHELL, CORE, INTERFACE > & mk_resource (std::string const &name, P...parameters)
 

Detailed Description

Architecture class.

Member Function Documentation

void mauve::runtime::Architecture::cleanup_hook ( )
overridevirtual

Hook function called when cleaning the shell.

Redefine this function in Shell subclasses to specify the behavior of your shell when being cleaned up.

Reimplemented from mauve::runtime::WithHook.

bool mauve::runtime::Architecture::configure_hook ( )
overridevirtual

Hook function called when configuring the shell.

Redefine this function in Shell subclasses to specify the behavior of your shell when being configured.

Returns
true if configure succeeds

Reimplemented from mauve::runtime::WithHook.