public void FindAll()
{
Debug.Assert(_all==null);
_all = new List<XMatterInfo>();
_factoryXMatters = new List<XMatterInfo>();
_otherXMatters = new List<XMatterInfo>();
bool factory = true; // We consider the first path to be the factory ones for now.
foreach (var path in _foldersPotentiallyHoldingPack)
{
if (!Directory.Exists(path))
continue; // XMatter in CommonData may not exist.
foreach (var directory in Directory.GetDirectories(path, "*-XMatter", SearchOption.AllDirectories))
{
AddXMatterDir(directory, factory);
}
foreach (var shortcut in Directory.GetFiles(path, "*.lnk", SearchOption.TopDirectoryOnly))
{
var p = ResolveShortcut.Resolve(shortcut);
if (Directory.Exists(p))
AddXMatterDir(p, factory);
}
factory = false;
}
}