RuntimeAddin[] GetDepAddins()
{
if (depAddins != null)
{
return(depAddins);
}
ArrayList plugList = new ArrayList();
string ns = ainfo.Description.Namespace;
// Collect dependent ids
foreach (Dependency dep in module.Dependencies)
{
AddinDependency pdep = dep as AddinDependency;
if (pdep != null)
{
RuntimeAddin adn = addinEngine.GetAddin(Addin.GetFullId(ns, pdep.AddinId, pdep.Version));
if (adn != null)
{
plugList.Add(adn);
}
else
{
addinEngine.ReportError("Add-in dependency not loaded: " + pdep.FullAddinId, module.ParentAddinDescription.AddinId, null, false);
}
}
}
return(depAddins = (RuntimeAddin[])plugList.ToArray(typeof(RuntimeAddin)));
}