Fawkes API
Fawkes Development Version
|
Aspect initializer/finalizer base class. More...
#include <>>
Public Member Functions | |
AspectIniFin (const char *aspect_name) __attribute__((nonnull)) | |
Constructor. More... | |
virtual | ~AspectIniFin () |
Virtual empty destructor. More... | |
virtual void | init (Thread *thread)=0 |
Initialize thread. More... | |
virtual void | finalize (Thread *thread)=0 |
Finalize thread. More... | |
virtual bool | prepare_finalize (Thread *thread) |
Default finalize preparation. More... | |
const char * | get_aspect_name () const |
Get aspect name. More... | |
Aspect initializer/finalizer base class.
This class must be derived for each aspect that is added to the system, either standard or custom aspects.
fawkes::AspectIniFin::AspectIniFin | ( | const char * | aspect_name | ) |
Constructor.
aspect_name | name of the aspect the aspect initializer/finalizer subclass is used for. It must exist for the whole lifetime of the initializer/finalizer. |
Definition at line 61 of file inifin.cpp.
|
virtual |
Virtual empty destructor.
Definition at line 67 of file inifin.cpp.
|
pure virtual |
Finalize thread.
The aspect for the given thread must be initialized. Use dynamic_cast to cast the thread into the expected aspect class. An exception must be thrown if this fails. If anything fails during initialization of the aspect an Exception must be thrown. This will not prevent the thread from being removed. Use prepare_finalize() to report problems that should prevent the thread from being unloaded.
thread | thread to finalize |
Implemented in fawkes::MainLoopAspectIniFin, fawkes::OpenPRSAspectIniFin, fawkes::CLIPSAspectIniFin, fawkes::VisionMasterAspectIniFin, fawkes::CLIPSFeatureAspectIniFin, fawkes::CLIPSManagerAspectIniFin, fawkes::OpenPRSManagerAspectIniFin, fawkes::NetworkAspectIniFin, fawkes::TransformAspectIniFin, fawkes::TimeSourceAspectIniFin, fawkes::GazeboAspectIniFin, fawkes::GossipAspectIniFin, fawkes::MongoDBAspectIniFin, fawkes::OpenRaveAspectIniFin, fawkes::RRDAspectIniFin, fawkes::LoggerAspectIniFin, fawkes::NavGraphAspectIniFin, fawkes::AspectProviderAspectIniFin, fawkes::BlackBoardAspectIniFin, fawkes::ClockAspectIniFin, fawkes::ConfigurableAspectIniFin, fawkes::FawkesNetworkAspectIniFin, fawkes::LoggingAspectIniFin, fawkes::PluginDirectorAspectIniFin, fawkes::ThreadProducerAspectIniFin, fawkes::VisionAspectIniFin, fawkes::WebviewAspectIniFin, fawkes::PointCloudAspectIniFin, fawkes::NaoQiAspectIniFin, fawkes::OpenNiAspectIniFin, fawkes::ROSAspectIniFin, and fawkes::BlockedTimingAspectIniFin.
const char * fawkes::AspectIniFin::get_aspect_name | ( | ) | const |
Get aspect name.
Definition at line 88 of file inifin.cpp.
Referenced by fawkes::AspectManager::register_default_inifins(), fawkes::AspectManager::register_inifin(), and fawkes::AspectManager::unregister_inifin().
|
pure virtual |
Initialize thread.
The aspect for the given thread must be initialized. Use dynamic_cast to cast the thread into the expected aspect class. An exception must be thrown if this fails. If anything fails during initialization of the aspect an Exception must be thrown.
thread | thread to initialize |
Implemented in fawkes::MainLoopAspectIniFin, fawkes::OpenPRSAspectIniFin, fawkes::CLIPSAspectIniFin, fawkes::VisionMasterAspectIniFin, fawkes::CLIPSFeatureAspectIniFin, fawkes::CLIPSManagerAspectIniFin, fawkes::OpenPRSManagerAspectIniFin, fawkes::NetworkAspectIniFin, fawkes::TransformAspectIniFin, fawkes::TimeSourceAspectIniFin, fawkes::GazeboAspectIniFin, fawkes::GossipAspectIniFin, fawkes::MongoDBAspectIniFin, fawkes::OpenRaveAspectIniFin, fawkes::RRDAspectIniFin, fawkes::LoggerAspectIniFin, fawkes::NavGraphAspectIniFin, fawkes::AspectProviderAspectIniFin, fawkes::BlackBoardAspectIniFin, fawkes::ClockAspectIniFin, fawkes::ConfigurableAspectIniFin, fawkes::FawkesNetworkAspectIniFin, fawkes::LoggingAspectIniFin, fawkes::PluginDirectorAspectIniFin, fawkes::ThreadProducerAspectIniFin, fawkes::VisionAspectIniFin, fawkes::WebviewAspectIniFin, fawkes::PointCloudAspectIniFin, fawkes::NaoQiAspectIniFin, fawkes::OpenNiAspectIniFin, fawkes::ROSAspectIniFin, and fawkes::BlockedTimingAspectIniFin.
|
virtual |
Default finalize preparation.
This is a default implementation that assumes that finalization is always safe. Override it if you need to make more fine-grained decisions.
thread | thread to prepare for finalization |
Reimplemented in fawkes::VisionMasterAspectIniFin, fawkes::CLIPSFeatureAspectIniFin, fawkes::AspectProviderAspectIniFin, and fawkes::VisionAspectIniFin.
Definition at line 79 of file inifin.cpp.