本文整理汇总了C++中yarp::os::ResourceFinder::getContextPath方法的典型用法代码示例。如果您正苦于以下问题:C++ ResourceFinder::getContextPath方法的具体用法?C++ ResourceFinder::getContextPath怎么用?C++ ResourceFinder::getContextPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类yarp::os::ResourceFinder
的用法示例。
在下文中一共展示了ResourceFinder::getContextPath方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: configure
bool asvGrabberModule::configure(yarp::os::ResourceFinder &rf) {
/* Process all parameters from both command-line and .ini file */
/* get the module name which will form the stem of all module port names */
moduleName = rf.check("name",
Value("/asvGrabber"),
"module name (string)").asString();
/*
* before continuing, set the module name before getting any other parameters,
* specifically the port names which are dependent on the module name
*/
setName(moduleName.c_str());
/*
* get the robot name which will form the stem of the robot ports names
* and append the specific part and device required
*/
robotName = rf.check("robot",
Value("icub"),
"Robot name (string)").asString();
robotPortName = "/" + robotName + "/head";
/*
* get the device name which will be used to read events
*/
deviceName = rf.check("deviceName",
Value("/dev/aerfx2_0"),
"Device name (string)").asString();
devicePortName = deviceName ;
printf("trying to connect to the device %s \n",devicePortName.c_str());
/*
* attach a port of the same name as the module (prefixed with a /) to the module
* so that messages received from the port are redirected to the respond method
*/
handlerPortName = "";
handlerPortName += getName(); // use getName() rather than a literal
if (!handlerPort.open(handlerPortName.c_str())) {
cout << getName() << ": Unable to open port " << handlerPortName << endl;
return false;
}
attach(handlerPort); // attach to port
bool _save = false;
std::string deviceNum = "0";
/*
* get the file name of binaries when the biases are read from this file
*/
binaryName = rf.check("file",
Value("none"),
"filename of the binary (string)").asString();
printf("trying to read %s for biases \n",binaryName.c_str());
binaryNameComplete = rf.findFile(binaryName.c_str());
/*
* get the file name of binaries when the biases are read from this file
*/
dumpNameComplete = "";
dumpName = rf.check("dumpFile",
Value("none"),
"filename of the binary (string)").asString();
printf("trying to save events in %s \n",dumpName.c_str());
dumpNameComplete = rf.findFile(dumpName.c_str());
dumpPathDirectory = rf.getContextPath();
string pathDirectory = dumpPathDirectory.substr(0, 52);
pathDirectory += "/";
printf("saving directory %s \n",dumpPathDirectory.c_str());
if(!strcmp(binaryName.c_str(),"none")) {
printf("not reading from binary \n");
D2Y=new asvGrabberThread(devicePortName, false,binaryName);
//D2Y->setFromBinary(false);
}
else {
printf("reading from binary \n");
//D2Y->setFromBinary(true);
D2Y=new asvGrabberThread(devicePortName, true, binaryNameComplete);
//D2Y->setBinaryFile(f);
}
printf("dumpEventSet \n");
if (strcmp(dumpNameComplete.c_str(),"" )) {
printf("set dumping event true \n");
D2Y->setDumpEvent(true);
D2Y->setDumpFile(dumpNameComplete);
D2Y->setWorkingDirectory(pathDirectory);
}
else {
printf("set dumping event false \n");
D2Y->setDumpEvent(false);
}
printf("starting the processor \n");
D2Y->start();
return true ; // let the RFModule know everything went well
// so that it will then run the module
//.........这里部分代码省略.........