Fawkes API Fawkes Development Version
|
This group contains the aspects that a thread loaded and run by Fawkes may have. More...
Classes | |
class | fawkes::BlackBoardAspect |
Thread aspect to access to BlackBoard. More... | |
class | fawkes::BlockedTimingAspect |
Thread aspect to use blocked timing The Fawkes main application provides basic means to synchronize all running thread with respect to several given hooks (see WakeupHook). More... | |
class | fawkes::ClockAspect |
Thread aspect that allows to obtain the current time from the clock. More... | |
class | fawkes::ConfigurableAspect |
Thread aspect to access configuration data. More... | |
class | fawkes::FawkesNetworkAspect |
Thread aspect to participate in the Fawkes Network protocol. More... | |
class | fawkes::LoggerAspect |
Thread aspect that allows to provide a logger to Fawkes. More... | |
class | fawkes::LoggingAspect |
Thread aspect to log output. More... | |
class | fawkes::MainLoopAspect |
Thread aspect that allows to replace the main loop of the main application of Fawkes. More... | |
class | fawkes::NetworkAspect |
Thread aspect for network communication. More... | |
class | fawkes::PluginDirectorAspect |
Thread aspect to access the PluginManager. More... | |
class | fawkes::ThreadProducerAspect |
Aspect for thread producing threads. More... | |
class | fawkes::TimeSourceAspect |
Thread aspect that allows to provide a time source to the Fawkes clock. More... | |
class | fawkes::VisionAspect |
Thread aspect to use in FireVision apps. More... | |
class | fawkes::VisionMasterAspect |
Vision Master Aspect. More... |
This group contains the aspects that a thread loaded and run by Fawkes may have.
Aspects are used in Fawkes to assign specific capabilities to a thread or to indicate certain needs a thread has.
Aspects are in general really simple classes that provide some very sharp defined functionality. In most cases they require a special init method to be called by an initializer to set a specific member that provides the thread with extended functionality.
Aspects are also used to provide certain guarantees to a thread. The thread may fully rely on these guarantees and does not have to do any checks by itself to ensure this guarantees. If the thread crashes because one of the guarantees was not met it is a bug from the surrounding framework which has to be fixed there.
The most important guarantee given for aspects that either ALL aspects have been properly initialized or the thread is never started. That means iff the thread is running all aspects have been initialized properly.
Another guarantee is that the aspect is available during the complete lifetime of the thread.