public void WriteTopics(IndexMaker maker, Stream stream, BinaryWriter writer) { // // Convention: entries with the same SortKey should have the same Caption // Position = (int)stream.Position; writer.Write(Count); if (topics is ArrayList) { bool first = true; foreach (Topic t in (ArrayList)topics) { if (first) { writer.Write(maker.GetCode(t.Caption)); first = false; } writer.Write(maker.GetCode(t.Url)); } } else { Topic t = (Topic)topics; writer.Write(maker.GetCode(t.Caption)); writer.Write(maker.GetCode(t.Url)); } }
public void GenerateIndex() { IndexMaker indexMaker = new IndexMaker(); foreach (HelpSource current in this.helpSources) { current.PopulateIndex(indexMaker); } string text = Path.Combine(this.basedir, "monodoc.index"); try { indexMaker.Save(text); } catch (UnauthorizedAccessException) { text = Path.Combine(ConfigurationManager.AppSettings["docDir"], "monodoc.index"); try { indexMaker.Save(text); } catch (UnauthorizedAccessException) { Console.WriteLine("Unable to write index file in {0}", Path.Combine(ConfigurationManager.AppSettings["docDir"], "monodoc.index")); return; } } if (RootTree.IsUnix) { RootTree.chmod(text, 420); } Console.WriteLine("Documentation index at {0} updated", text); }
// // Populates the index. // public virtual void PopulateIndex(IndexMaker index_maker) { }
public void WriteTopics (IndexMaker maker, Stream stream, BinaryWriter writer) { // // Convention: entries with the same SortKey should have the same Caption // Position = (int) stream.Position; writer.Write (Count); if (topics is ArrayList){ bool first = true; foreach (Topic t in (ArrayList) topics){ if (first){ writer.Write (maker.GetCode (t.Caption)); first = false; } writer.Write (maker.GetCode (t.Url)); } } else { Topic t = (Topic) topics; writer.Write (maker.GetCode (t.Caption)); writer.Write (maker.GetCode (t.Url)); } }