Mono.Addins.RuntimeAddin.GetDepAddins C# (CSharp) Method

GetDepAddins() private method

private GetDepAddins ( ) : Mono.Addins.RuntimeAddin[]
return Mono.Addins.RuntimeAddin[]
        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));
        }

Usage Example

Ejemplo n.º 1
0
        IEnumerable <RuntimeAddin> GetAllDependencies()
        {
            // Look in the dependent add-ins
            foreach (RuntimeAddin addin in GetDepAddins())
            {
                yield return(addin);
            }

            if (parentAddin != null)
            {
                // Look in the parent dependent add-ins
                foreach (RuntimeAddin addin in parentAddin.GetDepAddins())
                {
                    yield return(addin);
                }
            }
        }