17 using Ptr = std::shared_ptr<ConfigurableOrcaObject>;
18 using ParamMap = std::map<std::string, ParameterBase* >;
30 , std::function<
void()> on_loading_success = 0)
32 this->
addParameter(param_name,static_cast<ParameterBase*>(param),policy,on_loading_success);
38 , std::function<
void()> on_loading_success = 0)
40 parameters_to_delete_.push_back(
new Parameter<T>(param));
41 this->
addParameter(param_name,parameters_to_delete_.back(),policy,on_loading_success);
76 , std::function<
void()> on_loading_success = 0);
77 std::string fileToString(
const std::string& yaml_url);
79 std::list<ParameterBase*> parameters_to_delete_;
80 std::function<void()> on_success_;
81 bool config_loaded_ =
false;
Represents a set of parameters that can be loaded from a YAML file.
Definition: ConfigurableOrcaObject.h:14
bool configureFromFile(const std::string &yaml_url)
Configure the task from YAML/JSON file. It must contain all the required parameters.
Definition: ConfigurableOrcaObject.cc:85
Definition: OrcaObject.h:45
ParameterBase * getParameter(const std::string ¶m_name)
Returns a param via its name.
Definition: ConfigurableOrcaObject.cc:42
void addParameter(const std::string ¶m_name, Parameter< T > *param, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0)
Returns true if all params added with have been set.
Definition: ConfigurableOrcaObject.h:28
ConfigurableOrcaObject(const std::string &config_name)
Definition: ConfigurableOrcaObject.cc:6
std::shared_ptr< ConfigurableOrcaObject > Ptr
Definition: ConfigurableOrcaObject.h:17
void addParameter(const std::string ¶m_name, T ¶m, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0)
Definition: ConfigurableOrcaObject.h:36
void onConfigureSuccess(std::function< void()> f)
Definition: ConfigurableOrcaObject.cc:90
virtual ~ConfigurableOrcaObject()
Definition: ConfigurableOrcaObject.cc:10
bool isConfigured() const
Definition: ConfigurableOrcaObject.cc:234
void printParameters() const
Print all parameters to std::cout.
Definition: ConfigurableOrcaObject.cc:52
Definition: CartesianAccelerationPID.h:44
std::map< std::string, ParameterBase *> ParamMap
Definition: ConfigurableOrcaObject.h:18
ParameterBase is the public interface to any parameter.
Definition: ParameterBase.h:21
ParamPolicy
The ParamPolicy defines if an error should be thrown when trying to do anything with the task before ...
Definition: ParameterBase.h:13
This class holds the conversion from a string (YAML string) to the data type.
Definition: Parameter.h:113
const ParamMap & getParameters() const
Definition: ConfigurableOrcaObject.cc:247
bool configureFromString(const std::string &yaml_str)
Configure the task from YAML/JSON string. It must contain all the required parameters.
Definition: ConfigurableOrcaObject.cc:95