Fawkes API  Fawkes Development Version
fawkes::Configuration Class Referenceabstract

#include <>>

Inheritance diagram for fawkes::Configuration:

Classes

class  ValueIterator
 

Public Member Functions

virtual ~Configuration ()
 
virtual void copy (Configuration *copyconf)=0
 
virtual void add_change_handler (ConfigurationChangeHandler *h)
 Add a configuration change handler. More...
 
virtual void rem_change_handler (ConfigurationChangeHandler *h)
 Remove a configuration change handler. More...
 
virtual void load (const char *file_path)=0
 
virtual bool exists (const char *path)=0
 
virtual bool is_float (const char *path)=0
 
virtual bool is_uint (const char *path)=0
 
virtual bool is_int (const char *path)=0
 
virtual bool is_bool (const char *path)=0
 
virtual bool is_string (const char *path)=0
 
virtual bool is_list (const char *path)=0
 
virtual bool is_default (const char *path)=0
 
virtual float get_float (const char *path)=0
 
virtual unsigned int get_uint (const char *path)=0
 
virtual int get_int (const char *path)=0
 
virtual bool get_bool (const char *path)=0
 
virtual std::string get_string (const char *path)=0
 
virtual float get_float_or_default (const char *path, const float &default_val)
 
virtual unsigned int get_uint_or_default (const char *path, const unsigned int &default_val)
 
virtual int get_int_or_default (const char *path, const int &default_val)
 
virtual bool get_bool_or_default (const char *path, const bool &default_val)
 
virtual std::string get_string_or_default (const char *path, const std::string &default_val)
 
virtual std::vector< float > get_floats (const char *path)=0
 
virtual std::vector< unsigned int > get_uints (const char *path)=0
 
virtual std::vector< int > get_ints (const char *path)=0
 
virtual std::vector< bool > get_bools (const char *path)=0
 
virtual std::vector< std::string > get_strings (const char *path)=0
 
virtual std::vector< float > get_floats_or_defaults (const char *path, const std::vector< float > &default_val)
 
virtual std::vector< unsigned int > get_uints_or_defaults (const char *path, const std::vector< unsigned int > &default_val)
 
virtual std::vector< int > get_ints_or_defaults (const char *path, const std::vector< int > &default_val)
 
virtual std::vector< bool > get_bools_or_defaults (const char *path, const std::vector< bool > &default_val)
 
virtual std::vector< std::string > get_strings_or_defaults (const char *path, const std::vector< std::string > &default_val)
 
virtual ValueIteratorget_value (const char *path)=0
 
virtual std::string get_type (const char *path)=0
 
virtual std::string get_comment (const char *path)=0
 
virtual std::string get_default_comment (const char *path)=0
 
virtual void set_float (const char *path, float f)=0
 
virtual void set_uint (const char *path, unsigned int uint)=0
 
virtual void set_int (const char *path, int i)=0
 
virtual void set_bool (const char *path, bool b)=0
 
virtual void set_string (const char *path, std::string &s)=0
 
virtual void set_string (const char *path, const char *s)=0
 
virtual void set_floats (const char *path, std::vector< float > &f)=0
 
virtual void set_uints (const char *path, std::vector< unsigned int > &uint)=0
 
virtual void set_ints (const char *path, std::vector< int > &i)=0
 
virtual void set_bools (const char *path, std::vector< bool > &b)=0
 
virtual void set_strings (const char *path, std::vector< std::string > &s)=0
 
virtual void set_strings (const char *path, std::vector< const char * > &s)=0
 
virtual void set_comment (const char *path, const char *comment)=0
 
virtual void set_comment (const char *path, std::string &comment)=0
 
virtual void erase (const char *path)=0
 
virtual void set_default_float (const char *path, float f)=0
 
virtual void set_default_uint (const char *path, unsigned int uint)=0
 
virtual void set_default_int (const char *path, int i)=0
 
virtual void set_default_bool (const char *path, bool b)=0
 
virtual void set_default_string (const char *path, std::string &s)=0
 
virtual void set_default_string (const char *path, const char *s)=0
 
virtual void set_default_comment (const char *path, const char *comment)=0
 
virtual void set_default_comment (const char *path, std::string &comment)=0
 
virtual void erase_default (const char *path)=0
 
virtual ValueIteratoriterator ()=0
 
virtual ValueIteratorsearch (const char *path)=0
 
virtual void lock ()=0
 
virtual bool try_lock ()=0
 
virtual void unlock ()=0
 
virtual void try_dump ()=0
 

Protected Types

typedef std::list< ConfigurationChangeHandler * > ChangeHandlerList
 List that contains pointers to ConfigurationChangeHandler. More...
 
typedef std::multimap< const char *, ConfigurationChangeHandler *, StringLessChangeHandlerMultimap
 Multimap string to config change handlers. More...
 
typedef std::pair< ChangeHandlerMultimap::iterator, ChangeHandlerMultimap::iterator > ChangeHandlerMultimapRange
 Config change handler multimap range. More...
 

Protected Member Functions

ChangeHandlerListfind_handlers (const char *path)
 Find handlers for given path. More...
 
void notify_handlers (const char *path, bool comment_changed=false)
 Notify handlers for given path. More...
 

Protected Attributes

ChangeHandlerMultimap _change_handlers
 Registered change handlers. More...
 
ChangeHandlerMultimapRange _ch_range
 Change handler range. More...
 

Detailed Description

Interface for configuration handling. We know that half of robotics is about parameter tuning. The Configuration interface defines a unified way of storing parameters and other configuration options no matter of how the database is implemented. This is mainly done to allow for testing different solutions for ticket #10.

Definition at line 68 of file config.h.

Member Typedef Documentation

◆ ChangeHandlerList

List that contains pointers to ConfigurationChangeHandler.

Definition at line 447 of file config.h.

◆ ChangeHandlerMultimap

typedef std::multimap<const char *, ConfigurationChangeHandler *, StringLess> fawkes::Configuration::ChangeHandlerMultimap
protected

Multimap string to config change handlers.

Definition at line 451 of file config.h.

◆ ChangeHandlerMultimapRange

typedef std::pair<ChangeHandlerMultimap::iterator, ChangeHandlerMultimap::iterator> fawkes::Configuration::ChangeHandlerMultimapRange
protected

Config change handler multimap range.

Definition at line 455 of file config.h.

Constructor & Destructor Documentation

◆ ~Configuration()

fawkes::Configuration::~Configuration ( )
inlinevirtual

Virtual empty destructor.

Definition at line 71 of file config.h.

References fawkes::Configuration::ValueIterator::~ValueIterator().

Member Function Documentation

◆ add_change_handler()

void fawkes::Configuration::add_change_handler ( ConfigurationChangeHandler h)
virtual

Add a configuration change handler.

The added handler is called whenever a value changes and the handler desires to get notified for the given component.

Parameters
hconfiguration change handler

Reimplemented in fawkes::NetworkConfiguration.

Definition at line 607 of file config.cpp.

Referenced by fawkes::NetworkConfiguration::add_change_handler(), ConfigChangeWatcherTool::ConfigChangeWatcherTool(), ProcRRDThread::init(), MongoRRDThread::init(), StaticTransformsThread::init(), LaserLinesThread::init(), fawkes::PluginManager::PluginManager(), and SickTiM55xCommonAcquisitionThread::pre_init().

◆ copy()

void fawkes::Configuration::copy ( Configuration copyconf)
pure virtual

Copies all values from the given configuration. All values from the given configuration are copied. Old values are not erased so that the copied values will overwrite existing values, new values are created, but values existent in current config but not in the copied config will remain unchanged.

Parameters
copyconfconfiguration to copy

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ erase()

void fawkes::Configuration::erase ( const char *  path)
pure virtual

Erase the given value from the configuration. It is not an error if the value does not exists before deletion.

Parameters
pathpath to value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ erase_default()

void fawkes::Configuration::erase_default ( const char *  path)
pure virtual

Erase the given default value from the configuration. It is not an error if the value does not exists before deletion.

Parameters
pathpath to value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ exists()

bool fawkes::Configuration::exists ( const char *  path)
pure virtual

◆ find_handlers()

Configuration::ChangeHandlerList * fawkes::Configuration::find_handlers ( const char *  path)
protected

Find handlers for given path.

Parameters
pathpath to get handlers for
Returns
list with config change handlers.

Definition at line 655 of file config.cpp.

References _ch_range, and _change_handlers.

◆ get_bool()

bool fawkes::Configuration::get_bool ( const char *  path)
pure virtual

Get value from configuration which is of type bool

Parameters
pathpath to value
Returns
value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

Referenced by AmclPlugin::AmclPlugin(), BlackBoardLoggerPlugin::BlackBoardLoggerPlugin(), BlackBoardLogReplayPlugin::BlackBoardLogReplayPlugin(), BlackBoardSynchronizationPlugin::BlackBoardSynchronizationPlugin(), DynamixelPlugin::DynamixelPlugin(), EventTriggerManager::EventTriggerManager(), fawkes::FawkesMainThread::FawkesMainThread(), PanTiltSonyEviD100PThread::finalize(), FvRetrieverPlugin::FvRetrieverPlugin(), IMUPlugin::IMUPlugin(), JacoActThread::init(), ClipsTFThread::init(), FountainThread::init(), JoystickTeleOpThread::init(), StnGeneratorThread::init(), TabletopVisualizationThread::init(), AgentControlThread::init(), EclipseAgentThread::init(), GossipThread::init(), LaserSensorThread::init(), fawkes::FawkesTimingThread::init(), JoystickAcquisitionThread::init(), CedarThread::init(), ClipsExecutiveThread::init(), GazsimCommThread::init(), PanTiltSonyEviD100PThread::init(), PddlRobotMemoryThread::init(), DirectRobotinoComThread::init(), ROSNodeThread::init(), RefBoxCommThread::init(), WebviewThread::init(), Roomba500Thread::init(), FvRetrieverThread::init(), ClipsAgentThread::init(), OpenNiContextThread::init(), RobotinoSensorThread::init(), NaoQiLedThread::init(), CLIPSThread::init(), ColliActThread::init(), MapLaserGenThread::init(), OpenPRSThread::init(), NaoQiButtonThread::init(), XmlRpcThread::init(), DynamixelDriverThread::init(), NavGraphGeneratorThread::init(), PanTiltRX28Thread::init(), RobotinoActThread::init(), LaserClusterThread::init(), NavGraphThread::init(), LuaAgentPeriodicExecutionThread::init(), RobotinoSimThread::init(), ColliThread::init(), JacoOpenraveBaseThread::init(), LuaAgentContinuousExecutionThread::init(), MongoDBReplicaSetConfig::init(), RosTfThread::init(), Bumblebee2Thread::init(), OpenNiPointCloudThread::init(), SkillerExecutionThread::init(), KatanaActThread::init(), LaserLinesThread::init(), OpenRobotinoComThread::init(), AmclThread::init(), TabletopObjectsThread::init(), GlobalStatePlexilAdapter::initialize(), JacoPlugin::JacoPlugin(), LaserClusterPlugin::LaserClusterPlugin(), LaserFilterPlugin::LaserFilterPlugin(), fawkes::LaserOccupancyGrid::LaserOccupancyGrid(), LaserPlugin::LaserPlugin(), LuaAgentPlugin::LuaAgentPlugin(), MongoDBClientConfig::MongoDBClientConfig(), MongoDBInstanceConfig::MongoDBInstanceConfig(), MongoLogPlugin::MongoLogPlugin(), NavGraphGeneratorPlugin::NavGraphGeneratorPlugin(), NavGraphPlugin::NavGraphPlugin(), OpenPRSAgentPlugin::OpenPRSAgentPlugin(), PanTiltPlugin::PanTiltPlugin(), PointCloudDBMergePipeline< pcl::PointXYZ >::PointCloudDBMergePipeline(), LaseEdlAcquisitionThread::pre_init(), LaserLinesThread::read_config(), SkillerPlugin::SkillerPlugin(), and WebviewPlugin::WebviewPlugin().

◆ get_bool_or_default()

bool fawkes::Configuration::get_bool_or_default ( const char *  path,
const bool &  default_val 
)
virtual

Get value from configuration which is of type bool, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 730 of file config.cpp.

Referenced by Realsense2Thread::init(), RealsenseThread::init(), and PlexilExecutiveThread::init().

◆ get_bools()

std::vector< bool > fawkes::Configuration::get_bools ( const char *  path)
pure virtual

Get list of values from configuration which is of type bool

Parameters
pathpath to value
Returns
value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ get_bools_or_defaults()

std::vector< bool > fawkes::Configuration::get_bools_or_defaults ( const char *  path,
const std::vector< bool > &  default_val 
)
virtual

Get list of values from configuration which is of type bool, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 780 of file config.cpp.

◆ get_comment()

std::string fawkes::Configuration::get_comment ( const char *  path)
pure virtual

Get comment of value at given path. The value at the given path must exist in the host-specific configuration.

Parameters
pathpath to value
Returns
comment
Exceptions
ConfigEntryNotFoundExceptionshall be thrown if value does not exist
ConfigurationExceptionshall be thrown on any other error

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ get_default_comment()

std::string fawkes::Configuration::get_default_comment ( const char *  path)
pure virtual

Get comment of value at given path. The value at the given path must exist in the default configuration.

Parameters
pathpath to value
Returns
comment
Exceptions
ConfigEntryNotFoundExceptionshall be thrown if value does not exist
ConfigurationExceptionshall be thrown on any other error

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ get_float()

float fawkes::Configuration::get_float ( const char *  path)
pure virtual

Get value from configuration which is of type float

Parameters
pathpath to value
Returns
value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

Referenced by BlackboardComputable::BlackboardComputable(), BlackBoardLogReplayPlugin::BlackBoardLogReplayPlugin(), GazsimWebcam::GazsimWebcam(), HokuyoUrgAcquisitionThread::init(), NavGraphVisualizationThread::init(), JoystickTeleOpThread::init(), TabletopVisualizationThread::init(), JoystickAcquisitionThread::init(), RRDThread::init(), GazsimCommThread::init(), LaserSimThread::init(), MongoLogTransformsThread::init(), DirectRobotinoComThread::init(), RefBoxCommThread::init(), LocalizationSimThread::init(), VisLocalizationThread::init(), ClipsAgentThread::init(), ColliActThread::init(), OpenPRSThread::init(), MapLaserGenThread::init(), NavGraphGeneratorThread::init(), DynamixelDriverThread::init(), DepthcamSimThread::init(), RobotinoActThread::init(), NavGraphClustersThread::init(), PanTiltRX28Thread::init(), LaserClusterThread::init(), RosPointCloudThread::init(), MongoLogPointCloudThread::init(), NavGraphThread::init(), MongoLogImagesThread::init(), RobotMemoryThread::init(), RobotinoSimThread::init(), JacoOpenraveBaseThread::init(), ColliThread::init(), MongoDBReplicaSetConfig::init(), RosTfThread::init(), Bumblebee2Thread::init(), KatanaActThread::init(), AmclThread::init(), RobotStatePublisherThread::init(), TabletopObjectsThread::init(), GlobalStatePlexilAdapter::initialize(), LaserDeadSpotsDataFilter::LaserDeadSpotsDataFilter(), fawkes::LaserOccupancyGrid::LaserOccupancyGrid(), MongoDBInstanceConfig::MongoDBInstanceConfig(), PointCloudDBMergePipeline< pcl::PointXYZ >::PointCloudDBMergePipeline(), PointCloudDBPipeline< pcl::PointXYZ >::PointCloudDBPipeline(), LaseEdlAcquisitionThread::pre_init(), SickTiM55xCommonAcquisitionThread::read_common_config(), LaserLinesThread::read_config(), and TransformComputable::TransformComputable().

◆ get_float_or_default()

float fawkes::Configuration::get_float_or_default ( const char *  path,
const float &  default_val 
)
virtual

Get value from configuration which is of type float, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 700 of file config.cpp.

Referenced by SkillerSimulatorExecutionThread::init(), Realsense2Thread::init(), and RealsenseThread::init().

◆ get_floats()

std::vector< float > fawkes::Configuration::get_floats ( const char *  path)
pure virtual

◆ get_floats_or_defaults()

std::vector< float > fawkes::Configuration::get_floats_or_defaults ( const char *  path,
const std::vector< float > &  default_val 
)
virtual

Get list of values from configuration which is of type float, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 750 of file config.cpp.

◆ get_int()

◆ get_int_or_default()

int fawkes::Configuration::get_int_or_default ( const char *  path,
const int &  default_val 
)
virtual

Get value from configuration which is of type int, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 720 of file config.cpp.

Referenced by LaserMapFilterDataFilter::LaserMapFilterDataFilter().

◆ get_ints()

std::vector< int > fawkes::Configuration::get_ints ( const char *  path)
pure virtual

Get list of values from configuration which is of type int

Parameters
pathpath to value
Returns
value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ get_ints_or_defaults()

std::vector< int > fawkes::Configuration::get_ints_or_defaults ( const char *  path,
const std::vector< int > &  default_val 
)
virtual

Get list of values from configuration which is of type int, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 770 of file config.cpp.

◆ get_string()

std::string fawkes::Configuration::get_string ( const char *  path)
pure virtual

Get value from configuration which is of type string

Parameters
pathpath to value
Returns
value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

Referenced by BlackBoardLoggerPlugin::BlackBoardLoggerPlugin(), BlackBoardLogReplayPlugin::BlackBoardLogReplayPlugin(), ComputablesManager::ComputablesManager(), fawkes::OpenPRSKernelManager::create_kernel(), EventTriggerManager::EventTriggerManager(), FvRetrieverPlugin::FvRetrieverPlugin(), GazsimWebcam::GazsimWebcam(), IMUPlugin::IMUPlugin(), SickTiM55xEthernetAcquisitionThread::init(), SickTiM55xUSBAcquisitionThread::init(), JacoActThread::init(), ROSRobotDescriptionThread::init(), BackendInfoRestApi::init(), NavGraphGeneratorVisualizationThread::init(), HokuyoUrgAcquisitionThread::init(), ROSCmdVelThread::init(), ROSOdometryThread::init(), ProcRRDThread::init(), RosIMUThread::init(), NavGraphVisualizationThread::init(), OpenPRSAgentThread::init(), IMUSensorThread::init(), CruizCoreXG1010AcquisitionThread::init(), FountainThread::init(), JoystickTeleOpThread::init(), StnGeneratorThread::init(), GossipThread::init(), TabletopVisualizationThread::init(), AgentControlThread::init(), EclipseAgentThread::init(), RobotinoIrPclThread::init(), FestivalSynthThread::init(), RosNavgraphBreakoutThread::init(), OpenraveRobotMemoryThread::init(), PanTiltDirectedPerceptionThread::init(), LaserSensorThread::init(), HokuyoUrgGbxAcquisitionThread::init(), FliteSynthThread::init(), ClipsExecutiveThread::init(), JoystickAcquisitionThread::init(), PanTiltSonyEviD100PThread::init(), GazsimTimesourceThread::init(), ROSNodeThread::init(), PddlRobotMemoryThread::init(), PointCloudDBStoreThread::init(), DirectRobotinoComThread::init(), LaserSimThread::init(), MongoLogTransformsThread::init(), NavGraphROSPubThread::init(), PddlPlannerThread::init(), RefBoxCommThread::init(), WebviewThread::init(), GazeboNodeThread::init(), Roomba500Thread::init(), LocalizationSimThread::init(), OpenNiContextThread::init(), VisLocalizationThread::init(), IMUAcquisitionThread::init(), PointCloudDBRetrieveThread::init(), FvRetrieverThread::init(), BlackBoardSynchronizationThread::init(), MongoLogBlackboardThread::init(), OpenNiPclOnlyThread::init(), CLIPSThread::init(), ColliActThread::init(), RobotinoSensorThread::init(), OpenNiImageThread::init(), OpenPRSThread::init(), MapLaserGenThread::init(), RosMoveBaseThread::init(), RosPosition3DThread::init(), PointCloudDBMergeThread::init(), NavGraphGeneratorThread::init(), DepthcamSimThread::init(), DynamixelDriverThread::init(), PointCloudDBROSCommThread::init(), RealsenseThread::init(), NavGraphClustersThread::init(), RobotinoActThread::init(), PanTiltRX28Thread::init(), PlexilExecutiveThread::init(), LaserClusterThread::init(), NavGraphThread::init(), MongoLogPointCloudThread::init(), LuaAgentPeriodicExecutionThread::init(), MongoLogImagesThread::init(), RobotinoSimThread::init(), MongoDBReplicaSetConfig::init(), LuaAgentContinuousExecutionThread::init(), ColliThread::init(), PlayerClientThread::init(), Bumblebee2Thread::init(), OpenNiPointCloudThread::init(), SkillerExecutionThread::init(), KatanaActThread::init(), NavGraphInteractiveThread::init(), OpenRobotinoComThread::init(), AmclThread::init(), RobotStatePublisherThread::init(), TabletopObjectsThread::init(), GlobalStatePlexilAdapter::initialize(), BehaviorEnginePlexilAdapter::initialize(), LaserBoxFilterDataFilter::LaserBoxFilterDataFilter(), LaserMapFilterDataFilter::LaserMapFilterDataFilter(), fawkes::LaserOccupancyGrid::LaserOccupancyGrid(), LaserPlugin::LaserPlugin(), fawkes::PluginManager::load(), MongoDBClientConfig::MongoDBClientConfig(), MongoDBInstanceConfig::MongoDBInstanceConfig(), MongoLogPlugin::MongoLogPlugin(), OpenPRSAgentPlugin::OpenPRSAgentPlugin(), PanTiltPlugin::PanTiltPlugin(), PointCloudDBMergePipeline< pcl::PointXYZ >::PointCloudDBMergePipeline(), PointCloudDBRetrievePipeline< pcl::PointXYZ >::PointCloudDBRetrievePipeline(), LaseEdlAcquisitionThread::pre_init(), LaserLinesThread::read_config(), RobotinoPlugin::RobotinoPlugin(), fawkes::SelectDriveMode::SelectDriveMode(), and WebviewUserVerifier::verify_user().

◆ get_string_or_default()

std::string fawkes::Configuration::get_string_or_default ( const char *  path,
const std::string &  default_val 
)
virtual

Get value from configuration which is of type string, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 740 of file config.cpp.

Referenced by MongoLogLoggerThread::init(), Realsense2Thread::init(), PlexilExecutiveThread::init(), and MongoDBInstanceConfig::MongoDBInstanceConfig().

◆ get_strings()

◆ get_strings_or_defaults()

std::vector< std::string > fawkes::Configuration::get_strings_or_defaults ( const char *  path,
const std::vector< std::string > &  default_val 
)
virtual

Get list of values from configuration which is of type string, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 790 of file config.cpp.

Referenced by PlexilExecutiveThread::init().

◆ get_type()

std::string fawkes::Configuration::get_type ( const char *  path)
pure virtual

Get type of value at given path.

Parameters
pathpath to value
Returns
string representation of type, one of float, unsigned int, int, bool, or string
Exceptions
ConfigurationExceptionshall be thrown if value does not exist or on any other error.

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ get_uint()

unsigned int fawkes::Configuration::get_uint ( const char *  path)
pure virtual

Get value from configuration which is of type unsigned int

Parameters
pathpath to value
Returns
value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

Referenced by fawkes::FawkesMainThread::FawkesMainThread(), RosClockThread::init(), BallPosLogThread::init(), HokuyoUrgAcquisitionThread::init(), ProcRRDThread::init(), RoombaJoystickThread::init(), TimeTrackerMainLoopThread::init(), JoystickTeleOpThread::init(), CruizCoreXG1010AcquisitionThread::init(), FountainThread::init(), TabletopVisualizationThread::init(), GossipThread::init(), PanTiltDirectedPerceptionThread::init(), fawkes::FawkesTimingThread::init(), PanTiltSonyEviD100PThread::init(), JoystickAcquisitionThread::init(), DirectRobotinoComThread::init(), ROSNodeThread::init(), RefBoxCommThread::init(), WebviewThread::init(), BlackBoardSynchronizationThread::init(), OpenPRSThread::init(), XmlRpcThread::init(), DynamixelDriverThread::init(), NavGraphGeneratorThread::init(), RobotinoActThread::init(), PanTiltRX28Thread::init(), LaserClusterThread::init(), MongoLogPointCloudThread::init(), MongoLogImagesThread::init(), PlayerClientThread::init(), Bumblebee2Thread::init(), KatanaActThread::init(), OpenRobotinoComThread::init(), AmclThread::init(), TabletopObjectsThread::init(), MongoDBInstanceConfig::MongoDBInstanceConfig(), PointCloudDBMergePipeline< pcl::PointXYZ >::PointCloudDBMergePipeline(), LaseEdlAcquisitionThread::pre_init(), and LaserLinesThread::read_config().

◆ get_uint_or_default()

unsigned int fawkes::Configuration::get_uint_or_default ( const char *  path,
const unsigned int &  default_val 
)
virtual

Get value from configuration which is of type unsigned int, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 710 of file config.cpp.

Referenced by Realsense2Thread::init(), and RealsenseThread::init().

◆ get_uints()

std::vector< unsigned int > fawkes::Configuration::get_uints ( const char *  path)
pure virtual

Get list of values from configuration which is of type unsigned int

Parameters
pathpath to value
Returns
value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

Referenced by GazsimCommThread::init(), and DynamixelDriverThread::init().

◆ get_uints_or_defaults()

std::vector< unsigned int > fawkes::Configuration::get_uints_or_defaults ( const char *  path,
const std::vector< unsigned int > &  default_val 
)
virtual

Get list of values from configuration which is of type unsigned int, or the given default if the path does not exist

Parameters
pathpath to value
default_valthe default value
Returns
value

Definition at line 760 of file config.cpp.

◆ get_value()

Configuration::ValueIterator * fawkes::Configuration::get_value ( const char *  path)
pure virtual

Get value from configuration.

Parameters
pathpath to value
Returns
value iterator for just this one value, maybe invalid if value does not exists.

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ is_bool()

bool fawkes::Configuration::is_bool ( const char *  path)
pure virtual

Check if a value is of type bool

Parameters
pathpath to value
Returns
true if the value exists and is of type bool

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ is_default()

bool fawkes::Configuration::is_default ( const char *  path)
pure virtual

Check if a value was read from the default config.

Parameters
pathpath to value
Returns
true if the value exists and is only stored in the default config

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ is_float()

bool fawkes::Configuration::is_float ( const char *  path)
pure virtual

Check if a value is of type float

Parameters
pathpath to value
Returns
true if the value exists and is of type float

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ is_int()

bool fawkes::Configuration::is_int ( const char *  path)
pure virtual

Check if a value is of type int

Parameters
pathpath to value
Returns
true if the value exists and is of type int

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ is_list()

bool fawkes::Configuration::is_list ( const char *  path)
pure virtual

Check if a value is a list.

Parameters
pathpath to value
Returns
true if the value exists and is a list

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

Referenced by fawkes::OpenPRSKernelManager::create_kernel(), PlexilExecutiveThread::init(), and fawkes::PluginManager::load().

◆ is_string()

bool fawkes::Configuration::is_string ( const char *  path)
pure virtual

Check if a value is of type string

Parameters
pathpath to value
Returns
true if the value exists and is of type string

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ is_uint()

bool fawkes::Configuration::is_uint ( const char *  path)
pure virtual

Check if a value is of type unsigned int

Parameters
pathpath to value
Returns
true if the value exists and is of type unsigned int

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ iterator()

Configuration::ValueIterator * fawkes::Configuration::iterator ( )
pure virtual

Iterator for all values. Returns an iterator that can be used to iterate over all values in the current configuration, it will value the overlay. If a default and a host-specific value exists you will only see the host-specific value.

Returns
iterator over all values

Implemented in fawkes::NetworkConfiguration, fawkes::SQLiteConfiguration, fawkes::YamlConfiguration, and fawkes::MemoryConfiguration.

Referenced by fawkes::SQLiteConfiguration::copy(), fawkes::NetworkConfiguration::copy(), and fawkes::ConfigNetworkHandler::loop().

◆ load()

void fawkes::Configuration::load ( const char *  file_path)
pure virtual

Load configuration. Loads configuration data, or opens a file, depending on the implementation. After this call access to all other methods shall be possible.

Parameters
file_pathpath of the configuration file.

Implemented in fawkes::SQLiteConfiguration, fawkes::NetworkConfiguration, fawkes::YamlConfiguration, and fawkes::MemoryConfiguration.

◆ lock()

void fawkes::Configuration::lock ( )
pure virtual

Lock the config. No further changes or queries can be executed on the configuration and will block until the config is unlocked.

Implemented in fawkes::NetworkConfiguration, fawkes::SQLiteConfiguration, fawkes::YamlConfiguration, and fawkes::MemoryConfiguration.

Referenced by fawkes::SQLiteConfiguration::copy(), fawkes::NetworkConfiguration::copy(), fawkes::ConfigNetworkHandler::loop(), and AmclThread::loop().

◆ notify_handlers()

◆ rem_change_handler()

void fawkes::Configuration::rem_change_handler ( ConfigurationChangeHandler h)
virtual

Remove a configuration change handler.

The handler is removed from the change handler list and no longer called on config changes.

Parameters
hconfiguration change handler

Reimplemented in fawkes::NetworkConfiguration.

Definition at line 623 of file config.cpp.

Referenced by ProcRRDThread::finalize(), MongoRRDThread::finalize(), StaticTransformsThread::finalize(), ConfigChangeWatcherTool::handle_signal(), and fawkes::NetworkConfiguration::rem_change_handler().

◆ search()

◆ set_bool()

void fawkes::Configuration::set_bool ( const char *  path,
bool  b 
)
pure virtual

Set new value in configuration of type bool

Parameters
pathpath to value
bnew bool value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_bools()

void fawkes::Configuration::set_bools ( const char *  path,
std::vector< bool > &  b 
)
pure virtual

Set new value in configuration of type bool

Parameters
pathpath to value
bnew bool values

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_comment() [1/2]

void fawkes::Configuration::set_comment ( const char *  path,
const char *  comment 
)
pure virtual

Set new comment for existing value. Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.

Parameters
pathpath to value
commentnew comment string

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_comment() [2/2]

void fawkes::Configuration::set_comment ( const char *  path,
std::string &  comment 
)
pure virtual

Set new comment for existing value.

Parameters
pathpath to value
commentnew comment string

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_default_bool()

void fawkes::Configuration::set_default_bool ( const char *  path,
bool  b 
)
pure virtual

Set new default value in configuration of type bool

Parameters
pathpath to value
bnew bool value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_default_comment() [1/2]

void fawkes::Configuration::set_default_comment ( const char *  path,
const char *  comment 
)
pure virtual

Set new default comment for existing default configuration value. Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.

Parameters
pathpath to value
commentnew comment string

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_default_comment() [2/2]

void fawkes::Configuration::set_default_comment ( const char *  path,
std::string &  comment 
)
pure virtual

Set new default comment for existing default configuration value.

Parameters
pathpath to value
commentnew comment string

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_default_float()

void fawkes::Configuration::set_default_float ( const char *  path,
float  f 
)
pure virtual

Set new default value in configuration of type float

Parameters
pathpath to value
fnew float value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_default_int()

void fawkes::Configuration::set_default_int ( const char *  path,
int  i 
)
pure virtual

Set new default value in configuration of type int

Parameters
pathpath to value
inew int value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_default_string() [1/2]

void fawkes::Configuration::set_default_string ( const char *  path,
const char *  s 
)
pure virtual

Set new default value in configuration of type string. Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.

Parameters
pathpath to value
snew string value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_default_string() [2/2]

void fawkes::Configuration::set_default_string ( const char *  path,
std::string &  s 
)
pure virtual

Set new default value in configuration of type string

Parameters
pathpath to value
snew string value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_default_uint()

void fawkes::Configuration::set_default_uint ( const char *  path,
unsigned int  uint 
)
pure virtual

Set new default value in configuration of type unsigned int

Parameters
pathpath to value
uintnew unsigned int value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_float()

void fawkes::Configuration::set_float ( const char *  path,
float  f 
)
pure virtual

Set new value in configuration of type float

Parameters
pathpath to value
fnew float value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

Referenced by AmclThread::loop().

◆ set_floats()

void fawkes::Configuration::set_floats ( const char *  path,
std::vector< float > &  f 
)
pure virtual

Set new value in configuration of type float

Parameters
pathpath to value
fnew float values

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_int()

void fawkes::Configuration::set_int ( const char *  path,
int  i 
)
pure virtual

Set new value in configuration of type int

Parameters
pathpath to value
inew int value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_ints()

void fawkes::Configuration::set_ints ( const char *  path,
std::vector< int > &  i 
)
pure virtual

Set new value in configuration of type int

Parameters
pathpath to value
inew int values

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_string() [1/2]

void fawkes::Configuration::set_string ( const char *  path,
const char *  s 
)
pure virtual

Set new value in configuration of type string. Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.

Parameters
pathpath to value
snew string value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_string() [2/2]

void fawkes::Configuration::set_string ( const char *  path,
std::string &  s 
)
pure virtual

Set new value in configuration of type string

Parameters
pathpath to value
snew string value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

Referenced by BlackBoardLoggerPlugin::BlackBoardLoggerPlugin(), Roomba500Thread::init(), and MongoLogPlugin::MongoLogPlugin().

◆ set_strings() [1/2]

void fawkes::Configuration::set_strings ( const char *  path,
std::vector< const char * > &  s 
)
pure virtual

Set new value in configuration of type string. Works like the aforementioned method. Just takes an good ol' char array instead of a std::string.

Parameters
pathpath to value
snew string values

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_strings() [2/2]

void fawkes::Configuration::set_strings ( const char *  path,
std::vector< std::string > &  s 
)
pure virtual

Set new value in configuration of type string

Parameters
pathpath to value
snew string values

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_uint()

void fawkes::Configuration::set_uint ( const char *  path,
unsigned int  uint 
)
pure virtual

Set new value in configuration of type unsigned int

Parameters
pathpath to value
uintnew unsigned int value

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ set_uints()

void fawkes::Configuration::set_uints ( const char *  path,
std::vector< unsigned int > &  uint 
)
pure virtual

Set new value in configuration of type unsigned int

Parameters
pathpath to value
uintnew unsigned int values

Implemented in fawkes::NetworkConfiguration, fawkes::YamlConfiguration, fawkes::MemoryConfiguration, and fawkes::SQLiteConfiguration.

◆ try_dump()

void fawkes::Configuration::try_dump ( )
pure virtual

Try to dump configuration. For configuration methods that transform configuration files in a binary format this can be used to write out the text representation on shutdown of Fawkes.

Exceptions
Exceptionthrown if dumping fails

Implemented in fawkes::NetworkConfiguration, fawkes::SQLiteConfiguration, fawkes::YamlConfiguration, and fawkes::MemoryConfiguration.

Referenced by fawkes::FawkesMainThread::~FawkesMainThread().

◆ try_lock()

bool fawkes::Configuration::try_lock ( )
pure virtual

Try to lock the config.

See also
Configuration::lock()
Returns
true, if the lock has been aquired, false otherwise

Implemented in fawkes::NetworkConfiguration, fawkes::SQLiteConfiguration, fawkes::YamlConfiguration, and fawkes::MemoryConfiguration.

◆ unlock()

void fawkes::Configuration::unlock ( )
pure virtual

Member Data Documentation

◆ _ch_range

ChangeHandlerMultimapRange fawkes::Configuration::_ch_range
protected

Change handler range.

Definition at line 460 of file config.h.

Referenced by find_handlers().

◆ _change_handlers

ChangeHandlerMultimap fawkes::Configuration::_change_handlers
protected

Registered change handlers.

Definition at line 458 of file config.h.

Referenced by find_handlers().


The documentation for this class was generated from the following files:
fawkes::Configuration::search
virtual ValueIterator * search(const char *path)=0