Fawkes API
Fawkes Development Version
|
Thread aspect to access configuration data. More...
#include <>>
Inherits fawkes::Aspect.
Inherited by AmclROSThread, AmclThread, BallPosLogThread, BBLoggerThread, BBLogReplayThread, BlackBoardSynchronizationThread, Bumblebee2Thread, ClipsAgentThread, ClipsNavGraphThread, ClipsProtobufThread, ClipsROSThread, ClipsTFThread, CLIPSThread, ClipsWebviewThread, ColliActThread, ColliThread, DepthcamSimThread, DirectRobotinoComThread, DynamixelActThread, DynamixelDriverThread, DynamixelSensorThread, EclipseAgentThread, FestivalSynthThread, FliteSynthThread, FountainThread, FvBaseThread, FvRetrieverThread, FvSrSavePipelineThread, GazeboNodeThread, GazsimCommThread, GazsimTimesourceThread, GossipThread, IMUAcquisitionThread, IMUSensorThread, JacoActThread, JacoBimanualActThread, JacoBimanualGotoThread, JacoGotoThread, JacoInfoThread, JacoOpenraveBaseThread, JoystickAcquisitionThread, JoystickActThread, JoystickSensorThread, JoystickTeleOpThread, KatanaActThread, KatanaSensorThread, LaserAcquisitionThread, LaserClusterThread, LaserFilterThread, LaserLinesThread, LaserSensorThread, LaserSimThread, LocalizationSimThread, LuaAgentContinuousExecutionThread, LuaAgentPeriodicExecutionThread, MapLaserGenThread, MongoDBThread, MongoLogBlackboardThread, MongoLogImagesThread, MongoLogLoggerThread, MongoLogPointCloudThread, MongoLogTransformsThread, MongoRRDThread, NaoQiBrokerThread, NaoQiButtonThread, NaoQiDCMThread, NaoQiLedThread, NaoQiMotionThread, NaoQiSpeechSynthThread, NavGraphClustersThread, NavGraphGeneratorThread, NavGraphGeneratorVisualizationThread, NavGraphInteractiveThread, NavGraphROSPubThread, NavGraphStaticConstraintsThread, NavGraphThread, NavGraphVisualizationThread, OpenNiContextThread, OpenNiDepthThread, OpenNiHandTrackerThread, OpenNiImageThread, OpenNiPclOnlyThread, OpenNiPointCloudThread, OpenNiUserTrackerThread, OpenPRSAgentThread, OpenPRSThread, OpenRaveMessageHandlerThread, OpenRaveThread, OpenRobotinoComThread, PanTiltActThread, PanTiltSensorThread, PlayerClientThread, PointCloudDBMergeThread, PointCloudDBRetrieveThread, PointCloudDBROSCommThread, PointCloudDBStoreThread, ProcRRDThread, RefBoxCommThread, RobotinoActThread, RobotinoIrPclThread, RobotinoSensorThread, RobotinoSimThread, RobotStatePublisherThread, Roomba500Thread, RoombaJoystickThread, RosClockThread, ROSCmdVelThread, RosImagesThread, RosLaserScanThread, RosMoveBaseThread, RosNavgraphBreakoutThread, RosNavigatorThread, ROSNodeThread, ROSOdometryThread, RosPointCloudThread, RosPosition3DThread, ROSRobotDescriptionThread, RosSkillerThread, ROSTalkerPubThread, RosTfThread, ROSWebviewThread, RRDThread, RRDWebThread, SkillerExecutionThread, SkillerNavGraphFeature, StaticTransformsThread, TabletopObjectsThread, TabletopVisualizationThread, TfExampleThread, TimeTrackerMainLoopThread, VisLocalizationThread, WebcamSimThread, WebviewPtzCamThread, WebviewThread, XabslEngineThread, and XmlRpcThread.
Public Member Functions | |
ConfigurableAspect () | |
Constructor. More... | |
virtual | ~ConfigurableAspect () |
Virtual empty Destructor. More... | |
void | init_ConfigurableAspect (Configuration *config) |
Set the configuration It is guaranteed that this is called for a configurable thread before Thread::start() is called (when running regularly inside Fawkes). More... | |
![]() | |
const std::list< const char * > & | get_aspects () const |
Get list of aspect names attached to a aspected thread. More... | |
Protected Attributes | |
Configuration * | config |
This is the Configuration member used to access the configuration. More... | |
Additional Inherited Members | |
![]() | |
void | add_aspect (const char *name) |
Add an aspect to a thread. More... | |
Thread aspect to access configuration data.
Give this aspect to your thread to gain access to the configuration. This aspects defines a thread as being configurable. It is guaranteed that if used properly from within plugins that setConfiguration() is called before the thread is started and that you can access the configuration via the config member.
It is higly recommended to also implement ConfigurationChangeHandler to get notified about configuration changes as soon as they happen. All threads which are configurable shall react immediately to config changes and use the new configuration. Therefore all inner structures shall be updated as necessary and member reinitialized if needed. Only this way no restart or at least plugin load/unload cycle is needed anymore to change the configuration. This should tremendously help to decrease debugging, testing and parameter tuning time!
Definition at line 35 of file configurable.h.
fawkes::ConfigurableAspect::ConfigurableAspect | ( | ) |
Constructor.
Definition at line 60 of file configurable.cpp.
References fawkes::Aspect::add_aspect().
|
virtual |
Virtual empty Destructor.
Definition at line 66 of file configurable.cpp.
void fawkes::ConfigurableAspect::init_ConfigurableAspect | ( | Configuration * | config | ) |
Set the configuration It is guaranteed that this is called for a configurable thread before Thread::start() is called (when running regularly inside Fawkes).
config | Configuration instance to use. |
Definition at line 77 of file configurable.cpp.
References config.
Referenced by fawkes::ConfigurableAspectIniFin::init().
|
protected |
This is the Configuration member used to access the configuration.
The configuration will remain valid for the whole lifetime of the thread.
Definition at line 44 of file configurable.h.
Referenced by MongoDBThread::delete_client(), ProcRRDThread::finalize(), MongoRRDThread::finalize(), PanTiltSonyEviD100PThread::finalize(), StaticTransformsThread::finalize(), SickTiM55xEthernetAcquisitionThread::init(), SickTiM55xUSBAcquisitionThread::init(), LaseEdlAcquisitionThread::init(), OpenPRSAgentThread::init(), NavGraphGeneratorVisualizationThread::init(), GossipThread::init(), BallPosLogThread::init(), JacoActThread::init(), HokuyoUrgAcquisitionThread::init(), RosClockThread::init(), NavGraphVisualizationThread::init(), RRDThread::init(), ProcRRDThread::init(), RoombaJoystickThread::init(), TimeTrackerMainLoopThread::init(), ROSCmdVelThread::init(), ROSOdometryThread::init(), NavGraphStaticConstraintsThread::init(), ClipsProtobufThread::init(), JoystickTeleOpThread::init(), CruizCoreXG1010AcquisitionThread::init(), TabletopVisualizationThread::init(), IMUSensorThread::init(), FountainThread::init(), EclipseAgentThread::init(), FestivalSynthThread::init(), HokuyoUrgGbxAcquisitionThread::init(), MongoRRDThread::init(), RosNavgraphBreakoutThread::init(), PanTiltDirectedPerceptionThread::init(), StaticTransformsThread::init(), WebviewPtzCamThread::init(), MongoLogLoggerThread::init(), PanTiltSonyEviD100PThread::init(), LaserSensorThread::init(), RobotinoIrPclThread::init(), FliteSynthThread::init(), MongoDBThread::init(), JoystickAcquisitionThread::init(), MongoLogBlackboardThread::init(), MongoLogTransformsThread::init(), MapLaserGenThread::init(), ROSNodeThread::init(), IMUAcquisitionThread::init(), OpenNiHandTrackerThread::init(), PointCloudDBStoreThread::init(), DirectRobotinoComThread::init(), RosPosition3DThread::init(), LaserSimThread::init(), WebcamSimThread::init(), GazeboNodeThread::init(), NavGraphGeneratorThread::init(), BlackBoardSynchronizationThread::init(), FvRetrieverThread::init(), RefBoxCommThread::init(), Roomba500Thread::init(), OpenNiContextThread::init(), RobotinoSensorThread::init(), DepthcamSimThread::init(), LocalizationSimThread::init(), VisLocalizationThread::init(), NaoQiLedThread::init(), CLIPSThread::init(), ClipsAgentThread::init(), OpenNiImageThread::init(), OpenNiPclOnlyThread::init(), OpenPRSThread::init(), PointCloudDBRetrieveThread::init(), OpenNiDepthThread::init(), ColliActThread::init(), LaserFilterThread::init(), RosMoveBaseThread::init(), RobotinoActThread::init(), NaoQiButtonThread::init(), RosPointCloudThread::init(), OpenNiUserTrackerThread::init(), PanTiltRX28Thread::init(), XmlRpcThread::init(), PointCloudDBMergeThread::init(), NavGraphClustersThread::init(), DynamixelDriverThread::init(), PointCloudDBROSCommThread::init(), LaserClusterThread::init(), MongoLogImagesThread::init(), RosTfThread::init(), LuaAgentPeriodicExecutionThread::init(), JacoOpenraveBaseThread::init(), RobotinoSimThread::init(), NavGraphThread::init(), LuaAgentContinuousExecutionThread::init(), MongoLogPointCloudThread::init(), PlayerClientThread::init(), ColliThread::init(), Bumblebee2Thread::init(), SkillerExecutionThread::init(), OpenNiPointCloudThread::init(), KatanaActThread::init(), NavGraphInteractiveThread::init(), LaserLinesThread::init(), OpenRobotinoComThread::init(), WebviewThread::init(), RobotStatePublisherThread::init(), TabletopObjectsThread::init(), init_ConfigurableAspect(), JacoBimanualOpenraveThread::JacoBimanualOpenraveThread(), JacoOpenraveThread::JacoOpenraveThread(), RoombaJoystickThread::loop(), NavGraphGeneratorThread::loop(), BlackBoardSynchronizationThread::loop(), ColliThread::loop(), SickTiM55xCommonAcquisitionThread::read_common_config(), and LaserFilterThread::wait_done().