本文整理汇总了C++中Executable::getID方法的典型用法代码示例。如果您正苦于以下问题:C++ Executable::getID方法的具体用法?C++ Executable::getID怎么用?C++ Executable::getID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Executable
的用法示例。
在下文中一共展示了Executable::getID方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onExecutableStdout
void SafeManager::onExecutableStdout(void* which, const char* msg)
{
WAIT_SEMAPHOR();
Executable* exe = static_cast<Executable*>(which);
if(eventReceiver)
eventReceiver->onModStdout(exe->getID(), msg);
POST_SEMAPHOR();
}
示例2: onExecutableDied
void SafeManager::onExecutableDied(void* which)
{
WAIT_SEMAPHOR();
Executable* exe = static_cast<Executable*>(which);
if(eventReceiver && exe)
eventReceiver->onModStop(exe->getID());
POST_SEMAPHOR();
}
示例3: onExecutableFailed
void SafeManager::onExecutableFailed(void* which)
{
WAIT_SEMAPHOR();
ErrorLogger* logger = ErrorLogger::Instance();
Executable* exe = static_cast<Executable*>(which);
if(exe)
{
if(m_pConfig->find("module_failure").asString() == "prompt")
{
OSTRINGSTREAM err;
err<<exe->getCommand()<<" from "<<exe->getHost()<<" is failed! [id:"<<exe->getID()<<"]";
logger->addError(err);
if(eventReceiver && exe)
eventReceiver->onModStop(exe->getID());
}
if(m_pConfig->find("module_failure").asString() == "recover")
{
OSTRINGSTREAM err;
err<<exe->getCommand()<<" from "<<exe->getHost()<<" is failed! [id:"<<exe->getID()<<"] (restarting...)";
logger->addError(err);
exe->start();
}
if(m_pConfig->find("module_failure").asString() == "terminate")
{
OSTRINGSTREAM err;
err<<exe->getCommand()<<" from "<<exe->getHost()<<" is failed! [id:"<<exe->getID()<<"] (terminating...)";
logger->addError(err);
Manager::stop();
}
}
if(eventReceiver)
eventReceiver->onError();
POST_SEMAPHOR();
}
示例4: onExecutableStop
void SafeManager::onExecutableStop(void* which)
{
WAIT_SEMAPHOR();
Executable* exe = static_cast<Executable*>(which);
if(eventReceiver && exe)
eventReceiver->onModStop(exe->getID());
POST_SEMAPHOR();
// Experimental:
// do auto refresh on connections whenever a module stops
/*
if(checkSemaphore())
{
if(!isRunning())
{
conIds.clear();
for(int i=0; i<getConnections().size(); i++)
conIds.push_back(i);
action = MREFRESH_CNN;
yarp::os::Thread::start();
}
POST_SEMAPHOR();
}
*/
}