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 RemoveRootContainer(CpRootContainer root) { lock (this.m_Roots) { this.m_Roots.Remove(root); root.SetParent(null); root.NotifySpidersOfGoneContainer(); } IList spiders = this.GetActiveSpiders(); if (spiders != null) { ArrayList removeThese = new ArrayList(1); removeThese.Add(root); this.NotifySpidersRemove(spiders, removeThese); } }
internal void RemoveRootContainer(CpRootContainer root) { lock (this.m_Roots) { this.m_Roots.Remove(root); root.SetParent (null); root.NotifySpidersOfGoneContainer(); } IList spiders = this.GetActiveSpiders(); if (spiders != null) { ArrayList removeThese = new ArrayList(1); removeThese.Add(root); this.NotifySpidersRemove(spiders, removeThese); } }
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); } }