本文整理汇总了C++中project::ExporterIterator::getPathForModuleString方法的典型用法代码示例。如果您正苦于以下问题:C++ ExporterIterator::getPathForModuleString方法的具体用法?C++ ExporterIterator::getPathForModuleString怎么用?C++ ExporterIterator::getPathForModuleString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类project::ExporterIterator
的用法示例。
在下文中一共展示了ExporterIterator::getPathForModuleString方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: findLocalModuleFolder
File EnabledModuleList::findLocalModuleFolder (const String& moduleID, bool useExportersForOtherOSes)
{
for (Project::ExporterIterator exporter (project); exporter.next();)
{
if (useExportersForOtherOSes || exporter->mayCompileOnCurrentOS())
{
const String path (exporter->getPathForModuleString (moduleID));
if (path.isNotEmpty())
{
const File moduleFolder (project.resolveFilename (path));
if (moduleFolder.exists())
{
if (ModuleDescription (moduleFolder).isValid())
return moduleFolder;
File f = moduleFolder.getChildFile (moduleID);
if (ModuleDescription (f).isValid())
return f;
f = moduleFolder.getChildFile ("modules")
.getChildFile (moduleID);
if (ModuleDescription (f).isValid())
return f;
}
}
}
}
return File();
}
示例2: oldPath
static Array<File> getAllPossibleModulePathsFromExporters (Project& project)
{
StringArray paths;
for (Project::ExporterIterator exporter (project); exporter.next();)
{
auto& modules = project.getModules();
auto n = modules.getNumModules();
for (int i = 0; i < n; ++i)
{
auto id = modules.getModuleID (i);
if (modules.shouldUseGlobalPath (id))
continue;
const auto path = exporter->getPathForModuleString (id);
if (path.isNotEmpty())
paths.addIfNotAlreadyThere (path);
}
String oldPath (exporter->getLegacyModulePath());
if (oldPath.isNotEmpty())
paths.addIfNotAlreadyThere (oldPath);
}
Array<File> files;
for (auto& path : paths)
{
auto f = project.resolveFilename (path);
if (f.isDirectory())
{
files.addIfNotAlreadyThere (f);
if (f.getChildFile ("modules").isDirectory())
files.addIfNotAlreadyThere (f.getChildFile ("modules"));
}
}
return files;
}
示例3: path
static Array<File> getAllPossibleModulePaths (Project& project)
{
StringArray paths;
for (Project::ExporterIterator exporter (project); exporter.next();)
{
if (exporter->mayCompileOnCurrentOS())
{
for (int i = 0; i < project.getModules().getNumModules(); ++i)
{
const String path (exporter->getPathForModuleString (project.getModules().getModuleID (i)));
if (path.isNotEmpty())
paths.addIfNotAlreadyThere (path);
}
String oldPath (exporter->getLegacyModulePath());
if (oldPath.isNotEmpty())
paths.addIfNotAlreadyThere (oldPath);
}
}
Array<File> files;
for (int i = 0; i < paths.size(); ++i)
{
const File f (project.resolveFilename (paths[i]));
if (f.isDirectory())
{
files.add (f);
if (f.getChildFile ("modules").isDirectory())
files.addIfNotAlreadyThere (f.getChildFile ("modules"));
}
}
return files;
}
示例4: getModuleInfoFile
File EnabledModuleList::getModuleInfoFile (const String& moduleID)
{
for (Project::ExporterIterator exporter (project); exporter.next();)
{
if (exporter->mayCompileOnCurrentOS())
{
const String path (exporter->getPathForModuleString (moduleID));
if (path.isNotEmpty())
{
const File moduleFolder (project.resolveFilename (path));
if (moduleFolder.exists())
{
File f (moduleFolder.getChildFile (ModuleDescription::getManifestFileName()));
if (f.exists())
return f;
f = moduleFolder.getChildFile (moduleID)
.getChildFile (ModuleDescription::getManifestFileName());
if (f.exists())
return f;
f = moduleFolder.getChildFile ("modules")
.getChildFile (moduleID)
.getChildFile (ModuleDescription::getManifestFileName());
if (f.exists())
return f;
}
}
}
}
return File::nonexistent;
}