23 #include "skill_wrapper.h" 25 #include <core/exception.h> 26 #include <utils/misc/string_conversions.h> 42 xabsl::ErrorHandler &error_handler,
44 :
xabsl::BasicBehavior(name, error_handler)
54 std::map<std::string, ParameterValueBase *>::iterator i;
55 for (i = __param_values.begin(); i != __param_values.end(); ++i) {
58 __param_values.clear();
76 for (ParameterList::iterator i = __params.begin(); i != __params.end(); ++i) {
77 if ( (i->second ==
"float") || (i->second ==
"double") ||
78 (i->second ==
"int") || (i->second ==
"unsigned int") ||
79 (i->second ==
"long int") || (i->second ==
"unsigned long int") ) {
80 ParameterValue<double> *pv =
new ParameterValue<double>();
81 __param_values[i->first] = pv;
82 parameters->registerDecimal((
string(n) +
"." + i->first).c_str(), *(pv->get_value_ptr()));
83 }
else if ( i->second ==
"bool" ) {
84 ParameterValue<bool> *pv =
new ParameterValue<bool>();
85 __param_values[i->first] = pv;
86 parameters->registerBoolean((
string(n) +
"." + i->first).c_str(), *(pv->get_value_ptr()));
114 std::string rv = std::string(n) +
"{";
115 std::map<std::string, ParameterValueBase *>::iterator i;
116 bool is_first =
true;
117 for (i = __param_values.begin(); i != __param_values.end(); ++i) {
123 ParameterValue<double> *pvd;
124 ParameterValue<bool> *pvb;
125 if ( (pvd =
dynamic_cast<ParameterValue<double> *
>(i->second)) != NULL) {
126 rv += i->first +
"=" + fawkes::StringConversions::toString(pvd->get_value());
127 }
else if ( (pvb =
dynamic_cast<ParameterValue<bool> *
>(i->second)) != NULL) {
128 rv += i->first +
"=" + fawkes::StringConversions::toString(pvb->get_value());
std::string skill_string()
Get skill string for this string.
virtual void registerParameters()
Register parameters.
virtual void execute()
Execute skill.
XabslSkillWrapper(const char *name, xabsl::ErrorHandler &error_handler, ParameterList ¶ms)
Constructor.
Base class for exceptions in Fawkes.
~XabslSkillWrapper()
Destructor.
const char * name()
Get name of the skill.
std::list< std::pair< std::string, std::string > > ParameterList
Parameter list.