private void IterateOverResources(bool checkInIndex) { foreach (IResourceType resType in Core.ResourceStore.ResourceTypes) { if (IsResTypeIndexingConformant(resType)) { int count = 0; IResourceList resList = Core.ResourceStore.GetAllResources(resType.Name); IResourceIdCollection ids = resList.ResourceIds; for (int i = 0; i < ids.Count; ++i) { int resID = ids[i]; // Fix for OM-12527 - illegal resource Ids can be met // during iteration (negative). if (resID >= 0) { if (!checkInIndex || !IsDocumentInIndex(resID)) { QueryIndexingImpl(resID, false); count++; } } } Trace.WriteLine("-- TextIndexManager -- Finished requeuing " + count + " of " + ids.Count + " <" + resType.Name + "> resources in REBUILD phase."); if (count > 0) { QueueProcessingPendingDocs(); } } } }
public void AddResources(IResourceList resources) { IResourceIdCollection ids = resources.ResourceIds; _ids = new IntHashSet(ids.Count / 2); foreach (int id in ids) { _ids.Add(id); } }