当前位置: 首页>>代码示例>>C++>>正文


C++ Executable::setCommand方法代码示例

本文整理汇总了C++中Executable::setCommand方法的典型用法代码示例。如果您正苦于以下问题:C++ Executable::setCommand方法的具体用法?C++ Executable::setCommand怎么用?C++ Executable::setCommand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Executable的用法示例。


在下文中一共展示了Executable::setCommand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: 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;
}
开发者ID:lessc0de,项目名称:yarp,代码行数:62,代码来源:manager.cpp


注:本文中的Executable::setCommand方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。