private void CreateWorkers() { // Create all the writers first iPageIndex = new HeapToHTMLPageIndex(iReconstructor, PageFileNameEnsuringPathExists("Index")); iPageIndex.iObserver += new AsyncTextWriterBase.Observer(WriterObserver); // string entireListingFileNameByAddress = HeapToHTMLPageEntireListing.PageFileName(HeapToHTMLPageEntireListing.TSortType.ESortTypeByAddress); entireListingFileNameByAddress = PageFileNameEnsuringPathExists(entireListingFileNameByAddress, iBaseOutputPath, string.Empty, string.Empty); iPageEntireListingByAddress = new HeapToHTMLPageEntireListing(iReconstructor, HeapToHTMLPageEntireListing.TSortType.ESortTypeByAddress, entireListingFileNameByAddress); iPageEntireListingByAddress.iObserver += new AsyncTextWriterBase.Observer(WriterObserver); // string entireListingFileNameByType = HeapToHTMLPageEntireListing.PageFileName(HeapToHTMLPageEntireListing.TSortType.ESortTypeByType); entireListingFileNameByType = PageFileNameEnsuringPathExists(entireListingFileNameByType, iBaseOutputPath, string.Empty, string.Empty); iPageEntireListingByType = new HeapToHTMLPageEntireListing(iReconstructor, HeapToHTMLPageEntireListing.TSortType.ESortTypeByType, entireListingFileNameByType); iPageEntireListingByType.iObserver += new AsyncTextWriterBase.Observer(WriterObserver); // string entireListingFileNameByLength = HeapToHTMLPageEntireListing.PageFileName(HeapToHTMLPageEntireListing.TSortType.ESortTypeByLength); entireListingFileNameByLength = PageFileNameEnsuringPathExists(entireListingFileNameByLength, iBaseOutputPath, string.Empty, string.Empty); iPageEntireListingByLength = new HeapToHTMLPageEntireListing(iReconstructor, HeapToHTMLPageEntireListing.TSortType.ESortTypeByLength, entireListingFileNameByLength); iPageEntireListingByLength.iObserver += new AsyncTextWriterBase.Observer(WriterObserver); // iPageHeapCellManager = new HeapToHTMLPageHeapCellManager(iReconstructor, iBaseOutputPath); iPageHeapCellManager.iObserver += new AsyncTextWriterBase.Observer(WriterObserver); // iPageJavaScriptManager = new HeapToHTMLPageJavaScriptManager(iReconstructor, iBaseOutputPath); iPageJavaScriptManager.iObserver += new AsyncTextWriterBase.Observer(WriterObserver); // Reset their completion statuses so that we're ready to start anew ResetCompletionStatuses(); // Now it's safe to start all the writers running. iPageIndex.AsyncWrite(); iPageEntireListingByAddress.AsyncWrite(); iPageEntireListingByType.AsyncWrite(); iPageEntireListingByLength.AsyncWrite(); iPageHeapCellManager.AsyncWrite(); iPageJavaScriptManager.AsyncWrite(); }
private void MakeAddressLink(HeapCell aCell) { string fileName = HeapToHTMLPageHeapCellManager.HeapCellFileName(aCell); string subDir = HeapToHTMLPageHeapCellManager.HeapCellDirectory(aCell, string.Empty, '/'); string heapCellDataPageUrl = "./HeapData" + subDir + "/" + fileName + ".html"; string heapCellLinkedCellPageUrl = "./HeapLinkInfo" + subDir + "/" + fileName + ".html"; StringBuilder line = new StringBuilder(); line.Append("<A "); line.Append("TARGET=\"HeapCellData\" "); line.Append("HREF=\""); line.Append(heapCellDataPageUrl); line.Append("\" "); line.Append("onClick=\"parent.HeapLinkInfo.location=\'" + heapCellLinkedCellPageUrl + "\'\""); line.Append(">"); line.Append("0x" + fileName); line.Append("</A>"); Writer.Write(line.ToString()); }