Ejemplo n.º 1
0
        internal void AddRootContainer(CpRootContainer root)
        {
            lock (this.m_Roots)
            {
                if (root.Parent != null)
                {
                    throw new Error_MediaObjectHasParent(root);
                }
                this.m_Roots.Add(root);
                root.SetParent(this);
            }

            IList spiders = this.GetActiveSpiders();

            if (spiders != null)
            {
                Hashtable table   = new Hashtable(spiders.Count);
                ArrayList addThis = new ArrayList(1);
                addThis.Add(root);
                foreach (CdsSpider spider in spiders)
                {
                    if (spider.IsMatch(root))
                    {
                        root.IncrementSpiderMatches();
                        table[spider] = addThis;
                    }
                }

                this.NotifySpidersAdd(table);
            }
        }
        internal void AddRootContainer(CpRootContainer root)
        {
            lock (this.m_Roots)
            {
                if (root.Parent != null)
                {
                    throw new Error_MediaObjectHasParent(root);
                }
                this.m_Roots.Add(root);
                root.SetParent(this);
            }

            IList spiders = this.GetActiveSpiders();
            if (spiders != null)
            {
                Hashtable table = new Hashtable(spiders.Count);
                ArrayList addThis = new ArrayList(1);
                addThis.Add(root);
                foreach (CdsSpider spider in spiders)
                {
                    if (spider.IsMatch(root))
                    {
                        root.IncrementSpiderMatches();
                        table[spider] = addThis;
                    }
                }

                this.NotifySpidersAdd(table);
            }
        }