Fawkes API  Fawkes Development Version
fawkes::Aspect Class Reference

Fawkes aspect base class. More...

#include <>>

Inheritance diagram for fawkes::Aspect:

Public Member Functions

const std::list< const char * > & get_aspects () const
 Get list of aspect names attached to a aspected thread. More...
 

Protected Member Functions

void add_aspect (const char *name)
 Add an aspect to a thread. More...
 

Detailed Description

Fawkes aspect base class.

This base class is the core for providing an extensible aspects system. Aspects inherit from this base class via virtual inheritance. That means that the constructor is only called once, and hence we can keep a list of names of the aspects attached to a thread. This way we can easily recognize all aspects of a thread, even though the aspect might currently be unknown to the system, because it has not been registered.

Do not use this class directly for anything other than creating a new aspect.

Author
Tim Niemueller

Definition at line 34 of file aspect.h.

Member Function Documentation

◆ add_aspect()

void fawkes::Aspect::add_aspect ( const char *  name)
protected

Add an aspect to a thread.

This records the name of the threads added to a thread. This method may must be used exactly once in constructors of aspects, and only there.

Parameters
nameaspect name that is added to the thread

Definition at line 52 of file aspect.cpp.

Referenced by fawkes::AspectProviderAspect::AspectProviderAspect(), fawkes::BlackBoardAspect::BlackBoardAspect(), fawkes::BlockedTimingAspect::BlockedTimingAspect(), fawkes::CLIPSAspect::CLIPSAspect(), fawkes::CLIPSManagerAspect::CLIPSManagerAspect(), fawkes::ClockAspect::ClockAspect(), fawkes::ConfigurableAspect::ConfigurableAspect(), fawkes::FawkesNetworkAspect::FawkesNetworkAspect(), fawkes::GazeboAspect::GazeboAspect(), fawkes::GossipAspect::GossipAspect(), fawkes::LoggerAspect::LoggerAspect(), fawkes::LoggingAspect::LoggingAspect(), fawkes::MainLoopAspect::MainLoopAspect(), fawkes::MongoDBAspect::MongoDBAspect(), fawkes::NaoQiAspect::NaoQiAspect(), fawkes::NavGraphAspect::NavGraphAspect(), fawkes::NetworkAspect::NetworkAspect(), fawkes::OpenNiAspect::OpenNiAspect(), fawkes::OpenPRSAspect::OpenPRSAspect(), fawkes::OpenPRSManagerAspect::OpenPRSManagerAspect(), fawkes::OpenRaveAspect::OpenRaveAspect(), fawkes::PluginDirectorAspect::PluginDirectorAspect(), fawkes::PointCloudAspect::PointCloudAspect(), fawkes::ROSAspect::ROSAspect(), fawkes::RRDAspect::RRDAspect(), fawkes::ThreadProducerAspect::ThreadProducerAspect(), fawkes::TimeSourceAspect::TimeSourceAspect(), fawkes::TransformAspect::TransformAspect(), fawkes::VisionAspect::VisionAspect(), fawkes::VisionMasterAspect::VisionMasterAspect(), and fawkes::WebviewAspect::WebviewAspect().

◆ get_aspects()

const std::list< const char * > & fawkes::Aspect::get_aspects ( ) const

Get list of aspect names attached to a aspected thread.

Returns
list of aspect names attached to an aspected thread

Definition at line 62 of file aspect.cpp.

Referenced by fawkes::AspectManager::finalize(), fawkes::AspectManager::init(), and fawkes::AspectManager::prepare_finalize().


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