17 using Ptr = std::shared_ptr<Config>;
18 using ParamMap = std::map<std::string, ParameterBase* >;
20 Config(
const std::string& config_name);
27 void addParameter(
const std::string& param_name,ParameterBase* param
28 , ParamPolicy policy = ParamPolicy::Required
29 , std::function<
void()> on_loading_success = 0);
33 , ParamPolicy policy = ParamPolicy::Required
34 , std::function<
void()> on_loading_success = 0)
36 parameters_to_delete_.push_back(
new Parameter<T>(param));
37 this->
addParameter(param_name,parameters_to_delete_.back(),policy,on_loading_success);
46 ParameterBase*
getParameter(
const std::string& param_name);
70 std::string fileToString(
const std::string& yaml_url);
72 std::list<ParameterBase*> parameters_to_delete_;
73 std::function<void()> on_success_;
74 bool config_loaded_ =
false;
const ParamMap & getAllParameters() const
Definition: Config.cc:247
std::shared_ptr< Config > Ptr
Definition: Config.h:17
Definition: OrcaObject.h:45
virtual ~Config()
Definition: Config.cc:10
Represents a set of parameters that can be loaded from a YAML file.
Definition: Config.h:14
ParameterBase * getParameter(const std::string ¶m_name)
Returns a param via its name.
Definition: Config.cc:42
std::map< std::string, ParameterBase * > ParamMap
Definition: Config.h:18
void addParameter(const std::string ¶m_name, T ¶m, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0)
Definition: Config.h:32
bool loadFromFile(const std::string &yaml_url)
Configure the task from YAML/JSON file. It must contain all the required parameters.
Definition: Config.cc:85
void addParameter(const std::string ¶m_name, ParameterBase *param, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0)
Returns true if all params added with have been set.
Definition: Config.cc:20
void print() const
Print all parameters to std::cout.
Definition: Config.cc:52
Definition: CartesianAccelerationPID.h:44
Config(const std::string &config_name)
Definition: Config.cc:6
void onSuccess(std::function< void()> f)
Definition: Config.cc:90
bool areAllRequiredParametersSet() const
Definition: Config.cc:234
This class holds the conversion from a string (YAML string) to the data type.
Definition: Parameter.h:73
bool loadFromString(const std::string &yaml_str)
Configure the task from YAML/JSON string. It must contain all the required parameters.
Definition: Config.cc:95