Fawkes API
Fawkes Development Version
|
Fawkes aspect base class. More...
#include <>>
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... | |
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.
|
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.
name | aspect 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().
const std::list< const char * > & fawkes::Aspect::get_aspects | ( | ) | const |
Get list of aspect names attached to a aspected thread.
Definition at line 62 of file aspect.cpp.
Referenced by fawkes::AspectManager::finalize(), fawkes::AspectManager::init(), and fawkes::AspectManager::prepare_finalize().