Fawkes API
Fawkes Development Version
|
#include <>>
Inherits fawkes::Aspect.
Inherited by AgentControlThread, AmclROSThread, AmclThread, BackendInfoRestApi, BallPosLogThread, BBLoggerThread, BBLogReplayThread, BlackboardListenerThread, BlackBoardSynchronizationThread, Bumblebee2Thread, CedarThread, ClipsAgentThread, ClipsExecutiveThread, ClipsNavGraphThread, ClipsProtobufThread, ClipsRobotMemoryThread, ClipsROSThread, ClipsTFThread, CLIPSThread, ColliActThread, ColliThread, ConfigurationRestApi, DepthcamSimThread, DirectRobotinoComThread, DynamixelActThread, DynamixelDriverThread, DynamixelSensorThread, EclipseAgentThread, fawkes::FawkesTimingThread, FestivalSynthThread, FliteSynthThread, FountainThread, FvBaseThread, FvRetrieverThread, GazeboNodeThread, GazsimCommThread, GazsimTimesourceThread, GossipThread, ImageRestApi, IMUAcquisitionThread, IMUSensorThread, JacoActThread, JacoBimanualActThread, JacoBimanualGotoThread, JacoGotoThread, JacoInfoThread, JacoOpenraveBaseThread, JoystickAcquisitionThread, JoystickActThread, JoystickSensorThread, JoystickTeleOpThread, KatanaActThread, KatanaSensorThread, LaserAcquisitionThread, LaserClusterThread, LaserFilterThread, LaserLinesThread, LaserSensorThread, LaserSimThread, LocalizationSimThread, LuaAgentContinuousExecutionThread, LuaAgentPeriodicExecutionThread, MapLaserGenThread, MetricsThread, MongoDBReplicaSetConfig, 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, OpenraveRobotMemoryThread, OpenRaveThread, OpenRobotinoComThread, PanTiltActThread, PanTiltSensorThread, PddlPlannerThread, PddlRobotMemoryThread, PlayerClientThread, PlexilExecutiveThread, PointCloudDBMergeThread, PointCloudDBRetrieveThread, PointCloudDBROSCommThread, PointCloudDBStoreThread, ProcRRDThread, Realsense2Thread, RealsenseThread, RefBoxCommThread, RobotinoActThread, RobotinoIrPclThread, RobotinoSensorThread, RobotinoSimThread, RobotMemoryTestThread, RobotMemoryThread, RobotStatePublisherThread, Roomba500Thread, RoombaJoystickThread, RosClockThread, ROSCmdVelThread, RosDynamicReconfigureThread, RosImagesThread, RosIMUThread, RosLaserScanThread, RosMoveBaseThread, RosNavgraphBreakoutThread, RosNavigatorThread, ROSNodeThread, ROSOdometryThread, RosPointCloudThread, RosPosition3DThread, ROSRobotDescriptionThread, RosSkillerThread, ROSTalkerPubThread, RosTfThread, RRDThread, SkillerExecutionThread, SkillerNavGraphFeature, SkillerSimulatorExecutionThread, StaticTransformsThread, StnGeneratorThread, TabletopObjectsThread, TabletopVisualizationThread, TfExampleThread, TimeTrackerMainLoopThread, TransformsRestApi, VisLocalizationThread, WebcamSimThread, 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 |
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 36 of file configurable.h.
fawkes::ConfigurableAspect::ConfigurableAspect | ( | ) |
Constructor.
Definition at line 60 of file configurable.cpp.
|
virtual |
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 76 of file configurable.cpp.
|
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 50 of file configurable.h.
Referenced by ProcRRDThread::finalize(), MongoRRDThread::finalize(), PanTiltSonyEviD100PThread::finalize(), StaticTransformsThread::finalize(), SickTiM55xEthernetAcquisitionThread::init(), SickTiM55xUSBAcquisitionThread::init(), SkillerSimulatorExecutionThread::init(), BackendInfoRestApi::init(), BallPosLogThread::init(), JacoActThread::init(), RosClockThread::init(), ROSRobotDescriptionThread::init(), NavGraphGeneratorVisualizationThread::init(), HokuyoUrgAcquisitionThread::init(), ROSCmdVelThread::init(), ROSOdometryThread::init(), NavGraphStaticConstraintsThread::init(), TimeTrackerMainLoopThread::init(), ProcRRDThread::init(), RoombaJoystickThread::init(), RosIMUThread::init(), ClipsTFThread::init(), StnGeneratorThread::init(), NavGraphVisualizationThread::init(), ClipsProtobufThread::init(), OpenPRSAgentThread::init(), CruizCoreXG1010AcquisitionThread::init(), IMUSensorThread::init(), JoystickTeleOpThread::init(), FountainThread::init(), GossipThread::init(), TabletopVisualizationThread::init(), LaseEdlAcquisitionThread::init(), EclipseAgentThread::init(), RobotinoIrPclThread::init(), AgentControlThread::init(), FestivalSynthThread::init(), RosNavgraphBreakoutThread::init(), MongoRRDThread::init(), MongoLogLoggerThread::init(), OpenraveRobotMemoryThread::init(), PanTiltDirectedPerceptionThread::init(), LaserSensorThread::init(), HokuyoUrgGbxAcquisitionThread::init(), FliteSynthThread::init(), StaticTransformsThread::init(), CedarThread::init(), JoystickAcquisitionThread::init(), PanTiltSonyEviD100PThread::init(), ClipsExecutiveThread::init(), fawkes::FawkesTimingThread::init(), GazsimCommThread::init(), RRDThread::init(), LaserSimThread::init(), MongoLogTransformsThread::init(), ROSNodeThread::init(), OpenNiHandTrackerThread::init(), DirectRobotinoComThread::init(), PddlRobotMemoryThread::init(), PointCloudDBStoreThread::init(), WebviewThread::init(), NavGraphROSPubThread::init(), PddlPlannerThread::init(), RefBoxCommThread::init(), LocalizationSimThread::init(), GazeboNodeThread::init(), Roomba500Thread::init(), VisLocalizationThread::init(), ClipsAgentThread::init(), OpenNiContextThread::init(), IMUAcquisitionThread::init(), BlackBoardSynchronizationThread::init(), FvRetrieverThread::init(), MongoLogBlackboardThread::init(), PointCloudDBRetrieveThread::init(), NaoQiLedThread::init(), OpenNiPclOnlyThread::init(), RobotinoSensorThread::init(), CLIPSThread::init(), ColliActThread::init(), OpenNiDepthThread::init(), Realsense2Thread::init(), OpenNiImageThread::init(), MapLaserGenThread::init(), OpenPRSThread::init(), RosMoveBaseThread::init(), NaoQiButtonThread::init(), PointCloudDBMergeThread::init(), LaserFilterThread::init(), RosPosition3DThread::init(), NavGraphGeneratorThread::init(), WebcamSimThread::init(), DynamixelDriverThread::init(), RealsenseThread::init(), PointCloudDBROSCommThread::init(), XmlRpcThread::init(), OpenNiUserTrackerThread::init(), DepthcamSimThread::init(), RobotinoActThread::init(), NavGraphClustersThread::init(), PanTiltRX28Thread::init(), PlexilExecutiveThread::init(), LaserClusterThread::init(), RosPointCloudThread::init(), NavGraphThread::init(), MongoLogPointCloudThread::init(), LuaAgentPeriodicExecutionThread::init(), RobotMemoryThread::init(), MongoLogImagesThread::init(), RobotinoSimThread::init(), ColliThread::init(), LuaAgentContinuousExecutionThread::init(), JacoOpenraveBaseThread::init(), MongoDBReplicaSetConfig::init(), RosTfThread::init(), PlayerClientThread::init(), Bumblebee2Thread::init(), SkillerExecutionThread::init(), OpenNiPointCloudThread::init(), MetricsThread::init(), NavGraphInteractiveThread::init(), KatanaActThread::init(), LaserLinesThread::init(), OpenRobotinoComThread::init(), RobotStatePublisherThread::init(), TabletopObjectsThread::init(), SickTiM55xCommonAcquisitionThread::pre_init(), LaseEdlAcquisitionThread::pre_init(), SickTiM55xCommonAcquisitionThread::read_common_config(), LaserLinesThread::read_config(), and ~ConfigurableAspect().