本文整理汇总了C++中ModulePtr::discover方法的典型用法代码示例。如果您正苦于以下问题:C++ ModulePtr::discover方法的具体用法?C++ ModulePtr::discover怎么用?C++ ModulePtr::discover使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModulePtr
的用法示例。
在下文中一共展示了ModulePtr::discover方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: discoverModule
ModulePtr ModuleManager::discoverModule(const std::string& moduleFile)
{
ModulePtr module;
try {
OTMLDocumentPtr doc = OTMLDocument::parse(moduleFile);
OTMLNodePtr moduleNode = doc->at("Module");
std::string name = moduleNode->valueAt("name");
bool push = false;
module = getModule(name);
if(!module) {
module = ModulePtr(new Module(name));
push = true;
}
module->discover(moduleNode);
// not loaded modules are always in back
if(push)
m_modules.push_back(module);
} catch(stdext::exception& e) {
g_logger.error(stdext::format("Unable to discover module from file '%s': %s", moduleFile, e.what()));
}
return module;
}
示例2: discoverModule
ModulePtr ModuleManager::discoverModule(const std::string& moduleFile)
{
ModulePtr module;
try {
OTMLDocumentPtr doc = OTMLDocument::parse(moduleFile);
OTMLNodePtr moduleNode = doc->at("Module");
std::string name = moduleNode->valueAt("name");
if(getModule(name))
Fw::throwException("module '", name, "' already exists, cannot have duplicate module names");
module = ModulePtr(new Module(name));
module->discover(moduleNode);
m_modules.push_back(module);
} catch(Exception& e) {
logError("Unable to discover module from file '", moduleFile, "': ", e.what());
}
return module;
}