本文整理汇总了C++中Executable::setWorkDir方法的典型用法代码示例。如果您正苦于以下问题:C++ Executable::setWorkDir方法的具体用法?C++ Executable::setWorkDir怎么用?C++ Executable::setWorkDir使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Executable
的用法示例。
在下文中一共展示了Executable::setWorkDir方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: updateExecutable
bool Manager::updateExecutable(unsigned int id, const char* szparam,
const char* szhost, const char* szstdio,
const char* szworkdir, const char* szenv )
{
if(runnables.empty())
{
logger->addError("Application is not loaded.");
return false;
}
if(id>=runnables.size())
{
logger->addError("Module id is out of range.");
return false;
}
Executable* exe = runnables[id];
exe->setParam(szparam);
exe->setHost(szhost);
exe->setStdio(szstdio);
exe->setWorkDir(szworkdir);
exe->setEnv(szenv);
return true;
}
示例2: prepare
bool Manager::prepare(bool silent)
{
knowledge.reasolveDependency(strAppName.c_str(), bAutoDependancy, silent);
clearExecutables();
connections.clear();
modules.clear();
resources.clear();
connections = knowledge.getSelConnection();
modules = knowledge.getSelModules();
resources = knowledge.getSelResources();
/**
* we need to initialize a module with a local broker if the
* host property is set to "localhost".
*
* TODO: Resources should also be added to the relevant executable. up to now
* all of them will be handled by manager.
*/
ModulePIterator itr;
int id = 0;
for(itr=modules.begin(); itr!=modules.end(); itr++)
{
Broker* broker = createBroker(*itr);
Executable* exe = new Executable(broker, (MEvent*)this, bWithWatchDog);
exe->setID(id++);
exe->setCommand((*itr)->getName());
exe->setParam((*itr)->getParam());
exe->setHost((*itr)->getHost());
exe->setStdio((*itr)->getStdio());
exe->setWorkDir((*itr)->getWorkDir());
exe->setPostExecWait((*itr)->getPostExecWait());
string env = string("YARP_PORT_PREFIX=") +
string((*itr)->getPrefix());
exe->setEnv(env.c_str());
/**
* Adding connections to their owners
* TODO: check whether this is still needed or not
*/
//CnnIterator cnn;
//for(cnn=connections.begin(); cnn!=connections.end(); cnn++)
// if((*cnn).owner() == (*itr))
// exe->addConnection(*cnn);
/**
* Adding resources to their owners
*/
for(unsigned int i=0; i<resources.size(); i++)
{
ResYarpPort* res = dynamic_cast<ResYarpPort*>(resources[i]);
if(res && (res->owner() == (*itr)))
exe->addResource(*res);
}
runnables.push_back(exe);
}
return true;
}