本文整理汇总了C++中yarp::os::Property类的典型用法代码示例。如果您正苦于以下问题:C++ Property类的具体用法?C++ Property怎么用?C++ Property使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Property类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: catch
void
MetricsRequestHandler::fillInDescription(const YarpString & request,
yarp::os::Property & info)
{
ODL_OBJENTER(); //####
ODL_S1s("request = ", request); //####
ODL_P1("info = ", &info); //####
try
{
info.put(MpM_REQREP_DICT_REQUEST_KEY_, request);
info.put(MpM_REQREP_DICT_OUTPUT_KEY_, MpM_REQREP_LIST_START_ MpM_REQREP_DICT_START_
MpM_REQREP_DICT_END_ MpM_REQREP_1_OR_MORE_ MpM_REQREP_LIST_END_);
info.put(MpM_REQREP_DICT_VERSION_KEY_, METRICS_REQUEST_VERSION_NUMBER_);
info.put(MpM_REQREP_DICT_DETAILS_KEY_, T_("Return the measurements for the channels of the "
"service\n"
"Input: nothing\n"
"Output: a list of dictionaries containing "
"measurements for the service channels"));
yarp::os::Value keywords;
yarp::os::Bottle * asList = keywords.asList();
asList->addString(request);
info.put(MpM_REQREP_DICT_KEYWORDS_KEY_, keywords);
}
catch (...)
{
ODL_LOG("Exception caught"); //####
throw;
}
ODL_OBJEXIT(); //####
} // MetricsRequestHandler::fillInDescription
示例2: scan_xml
void Prop::scan_xml(const std::string& txt, yarp::os::Property& data) {
data.clear();
string line;
for (int i=0; i<(int)txt.size(); i++) {
char ch = txt[i];
if (ch=='\"') {
line += " ";
continue;
}
if (ch!='\r'&&ch!='\n') {
line += ch;
continue;
}
Bottle b(line.c_str());
string var = "dud";
for (int j=1; j<b.size(); j++) {
if (b.get(j-1).asString()=="id=") {
var = b.get(j).asString();
continue;
}
if (b.get(j-1).asString()=="import=") {
data.put(var.c_str(),b.get(j));
}
}
}
}
示例3: catch
void
WhereRequestHandler::fillInDescription(const YarpString & request,
yarp::os::Property & info)
{
ODL_OBJENTER(); //####
ODL_S1s("request = ", request); //####
ODL_P1("info = ", &info); //####
try
{
info.put(MpM_REQREP_DICT_REQUEST_KEY_, request);
info.put(MpM_REQREP_DICT_VERSION_KEY_, WHERE_REQUEST_VERSION_NUMBER_);
info.put(MpM_REQREP_DICT_DETAILS_KEY_, T_("Return the remembered IP address and port\n"
"Input: nothing\n"
"Output: the remembered IP address and port"));
yarp::os::Value keywords;
yarp::os::Bottle * asList = keywords.asList();
asList->addString(request);
info.put(MpM_REQREP_DICT_KEYWORDS_KEY_, keywords);
}
catch (...)
{
ODL_LOG("Exception caught"); //####
throw;
}
ODL_OBJEXIT(); //####
} // WhereRequestHandler::fillInDescription
示例4: catch
void
StartSumRequestHandler::fillInDescription(const YarpString & request,
yarp::os::Property & info)
{
ODL_OBJENTER(); //####
ODL_S1s("request = ", request); //####
ODL_P1("info = ", &info); //####
try
{
info.put(MpM_REQREP_DICT_REQUEST_KEY_, request);
info.put(MpM_REQREP_DICT_VERSION_KEY_, STARTSUM_REQUEST_VERSION_NUMBER_);
info.put(MpM_REQREP_DICT_DETAILS_KEY_, T_("Start the running sum\n"
"Input: nothing\n"
"Output: nothing"));
yarp::os::Value keywords;
yarp::os::Bottle * asList = keywords.asList();
asList->addString(request);
info.put(MpM_REQREP_DICT_KEYWORDS_KEY_, keywords);
}
catch (...)
{
ODL_LOG("Exception caught"); //####
throw;
}
ODL_OBJEXIT(); //####
} // StartSumRequestHandler::fillInDescription
示例5: configureFromProperty
bool PortMonitor::configureFromProperty(yarp::os::Property& options) {
if(binder) delete binder;
binder = nullptr;
std::string script = options.check("type", Value("lua")).asString();
std::string filename = options.check("file", Value("modifier")).asString();
std::string constraint = options.check("constraint", Value("")).asString();
// context is used to find the script files
std::string context = options.check("context", Value("")).asString();
// check which monitor should be used
if((binder = MonitorBinding::create(script.c_str())) == nullptr)
{
yError(R"(Currently only 'lua' script and 'dll' object is supported by portmonitor)");
return false;
}
// set the acceptance constraint
binder->setAcceptConstraint(constraint.c_str());
std::string strFile = filename;
if(script != "dll")
{
yarp::os::ResourceFinder rf;
rf.setDefaultContext(context.c_str());
rf.configure(0, nullptr);
strFile = rf.findFile(filename);
if(strFile == "")
strFile = rf.findFile(filename+".lua");
}
示例6: setup
bool CameraTest::setup(yarp::os::Property& property) {
if(property.check("name"))
setName(property.find("name").asString());
// updating parameters
RTF_ASSERT_ERROR_IF(property.check("portname"),
"The portname must be given as the test paramter!");
cameraPortName = property.find("portname").asString();
measure_time = property.check("measure_time") ? property.find("measure_time").asInt() : TIMES;
expected_frequency = property.check("expected_frequency") ? property.find("expected_frequency").asInt() : FREQUENCY;
tolerance = property.check("tolerance") ? property.find("tolerance").asInt() : TOLERANCE;
// opening port
RTF_ASSERT_ERROR_IF(port.open("/CameraTest/image:i"),
"opening port, is YARP network available?");
RTF_TEST_REPORT(Asserter::format("Listening to camera for %d seconds",
measure_time));
// connecting
RTF_TEST_REPORT(Asserter::format("connecting from %s to %s",
port.getName().c_str(), cameraPortName.c_str()));
RTF_ASSERT_ERROR_IF(Network::connect(cameraPortName, port.getName()),
"could not connect to remote port, camera unavailable");
return true;
}
示例7: setJointSensorsType
bool GazeboYarpJointSensorsDriver::setJointSensorsType(yarp::os::Property & pluginParameters) //WORKS
{
std::cout << ".ini file found, using joint names in ini file" << std::endl;
std::string parameter_name = "gazeboJointSensorsType";
if(!pluginParameters.check(parameter_name.c_str())) {
std::cout << "GazeboYarpJointSensorsDriver::setJointSensorsType() error: cannot find " << parameter_name << " parameter." << std::endl;
return false;
}
std::string sensors_type = pluginParameters.find(parameter_name.c_str()).asString().c_str();
if( sensors_type == "position" ) {
jointsensors_type = Position;
} else if ( sensors_type == "speed" ) {
jointsensors_type = Speed;
} else if ( sensors_type == "torque" ) {
jointsensors_type = Torque;
} else {
std::cerr << "GazeboYarpJointSensorsDriver::setJointSensorsType() error: sensor type " << sensors_type << " not recognized." << std::endl
<< "\t\tThe available types are position, speed and torque." << std::endl;
return false;
}
return true;
}
示例8: addVectorOfStringToProperty
void addVectorOfStringToProperty(yarp::os::Property& prop, std::string key, std::vector<std::string> & list)
{
prop.addGroup(key);
yarp::os::Bottle & bot = prop.findGroup(key).addList();
for(size_t i=0; i < list.size(); i++)
{
bot.addString(list[i].c_str());
}
return;
}
示例9: getYarpWbiProperties
bool yarpWholeBodyInterface::getYarpWbiProperties(
yarp::os::Property& yarp_wbi_properties)
{
yarp::os::Property buffer;
actuatorInt->getYarpWbiProperties(buffer);
yarp_wbi_properties.fromString(buffer.toString(), false);
stateInt->getYarpWbiProperties(buffer);
yarp_wbi_properties.fromString(buffer.toString(), false);
modelInt->getYarpWbiProperties(buffer);
yarp_wbi_properties.fromString(buffer.toString(), false);
return true;
}
示例10: setOptions
void selectiveAttentionModule::setOptions(yarp::os::Property opt){
//options =opt;
// definition of the name of the module
ConstString name=opt.find("name").asString();
if(name!=""){
printf("||| Module named as :%s \n", name.c_str());
this->setName(name.c_str());
}
ConstString value=opt.find("mode").asString();
if(value!=""){
}
}
示例11: setup
bool ExampleTest::setup(yarp::os::Property &property) {
// initialization goes here ...
//updating the test name
if(property.check("name"))
setName(property.find("name").asString());
string example = property.check("example", Value("default value")).asString();
RTF_TEST_REPORT(Asserter::format("Use '%s' for the example param!",
example.c_str()));
return true;
}
示例12: setup
bool OpenLoopConsistency::setup(yarp::os::Property& property) {
// updating parameters
RTF_ASSERT_ERROR_IF(property.check("robot"), "The robot name must be given as the test parameter!");
RTF_ASSERT_ERROR_IF(property.check("part"), "The part name must be given as the test parameter!");
RTF_ASSERT_ERROR_IF(property.check("joints"), "The joints list must be given as the test parameter!");
RTF_ASSERT_ERROR_IF(property.check("zero"), "The zero position must be given as the test parameter!");
robotName = property.find("robot").asString();
partName = property.find("part").asString();
zero = property.find("zero").asDouble();
Bottle* jointsBottle = property.find("joints").asList();
RTF_ASSERT_ERROR_IF(jointsBottle!=0,"unable to parse joints parameter");
n_cmd_joints = jointsBottle->size();
RTF_ASSERT_ERROR_IF(n_cmd_joints>0,"invalid number of joints, it must be >0");
Property options;
options.put("device", "remote_controlboard");
options.put("remote", "/"+robotName+"/"+partName);
options.put("local", "/OpenLoopConsistencyTest/"+robotName+"/"+partName);
dd = new PolyDriver(options);
RTF_ASSERT_ERROR_IF(dd->isValid(),"Unable to open device driver");
RTF_ASSERT_ERROR_IF(dd->view(iopl),"Unable to open openloop interface");
RTF_ASSERT_ERROR_IF(dd->view(ienc),"Unable to open encoders interface");
RTF_ASSERT_ERROR_IF(dd->view(iamp),"Unable to open ampliefier interface");
RTF_ASSERT_ERROR_IF(dd->view(ipos),"Unable to open position interface");
RTF_ASSERT_ERROR_IF(dd->view(icmd),"Unable to open control mode interface");
RTF_ASSERT_ERROR_IF(dd->view(iimd),"Unable to open interaction mode interface");
if (!ienc->getAxes(&n_part_joints))
{
RTF_ASSERT_ERROR("unable to get the number of joints of the part");
}
if (n_part_joints<=0)
RTF_ASSERT_ERROR("Error this part has in invalid (<=0) number of jonits");
else if (jointsBottle->size() == 1)
cmd_mode=single_joint;
else if (jointsBottle->size() < n_part_joints)
cmd_mode=some_joints;
else if (jointsBottle->size() == n_part_joints)
cmd_mode=all_joints;
else
RTF_ASSERT_ERROR("invalid joint selection?");
cmd_tot = new double[n_part_joints];
pos_tot=new double[n_part_joints];
jointsList=new int[n_cmd_joints];
cmd_some=new double[n_cmd_joints];
prevcurr_tot=new double[n_part_joints];
prevcurr_some=new double[n_cmd_joints];
for (int i=0; i <n_cmd_joints; i++) jointsList[i]=jointsBottle->get(i).asInt();
return true;
}
示例13: setPortmonitorParams
bool NetworkProfiler::setPortmonitorParams(std::string portName, yarp::os::Property& param) {
//e.g., set in "/view" (log_raw 1)"
yarp::os::Bottle cmd, reply;
cmd.addString("set");
cmd.addString("in");
cmd.addString(portName.c_str());
Bottle tmp;
tmp.fromString(param.toString());
cmd.add(tmp.get(0));
Contact srcCon = Contact::fromString(portName);
bool ret = yarp::os::NetworkBase::write(srcCon, cmd, reply, true, true, 2.0);
if(!ret) {
yError()<<"Cannot write to"<<portName;
return false;
}
if(reply.size() > 1) {
if(reply.get(0).isString() && reply.get(0).asString() == "fail") {
yError()<<reply.toString();
return false;
}
else if(reply.get(0).isInt() && reply.get(0).asInt() == -1) {
yError()<<reply.toString();
return false;
}
}
return true;
}
示例14: initOutport
void SkinGroup::initOutport(yarp::os::Property &config)
{
std::string outPortName = config.check("out_port", yarp::os::Value("/outport"), "").asString().c_str();
std::cout << "Out Port name ==>" << outPortName << std::endl;
classificationOutport.open(outPortName.c_str());
}
示例15: create
bool SimpleMonitorObject::create(const yarp::os::Property& options)
{
yDebug("created!\n");
yDebug("I am attached to the %s\n",
(options.find("sender_side").asBool()) ? "sender side" : "receiver side");
return true;
}