/// <summary> /// Reads the object data from a dump store /// </summary> /// <param name="reader">reader to read the data</param> /// <param name="filesList">filelist from helpsystem</param> internal bool ReadDump(ref BinaryReader reader, ArrayList filesList) { int i = 0; _keyWord = reader.ReadString(); _isSeeAlso = reader.ReadBoolean(); _indent = reader.ReadInt32(); _chmFileName = reader.ReadString(); foreach (CHMFile curFile in filesList) { if (curFile.ChmFilePath == _chmFileName) { _chmFile = curFile; break; } } if (_chmFile == null) { return(false); } int nCnt = reader.ReadInt32(); for (i = 0; i < nCnt; i++) { string sIT = reader.ReadString(); _infoTypeStrings.Add(sIT); } nCnt = reader.ReadInt32(); _seeAlso = new string[nCnt]; for (i = 0; i < nCnt; i++) { _seeAlso[i] = reader.ReadString(); } nCnt = reader.ReadInt32(); for (i = 0; i < nCnt; i++) { IndexTopic topic = new IndexTopic("", "", "", ""); topic.SetChmInfo(_chmFile.CompileFile, _chmFile.ChmFilePath); topic.AssociatedFile = _chmFile; topic.ReadDump(ref reader); Topics.Add(topic); } return(true); }
/// <summary> /// Reads the object data from a dump store /// </summary> /// <param name="reader">reader to read the data</param> internal void ReadDump(ref BinaryReader reader) { int i = 0; _keyWord = reader.ReadString(); _isSeeAlso = reader.ReadBoolean(); _indent = reader.ReadInt32(); int nCnt = reader.ReadInt32(); for (i = 0; i < nCnt; i++) { string sIT = reader.ReadString(); _infoTypeStrings.Add(sIT); } nCnt = reader.ReadInt32(); _seeAlso = new string[nCnt]; for (i = 0; i < nCnt; i++) { _seeAlso[i] = reader.ReadString(); } nCnt = reader.ReadInt32(); for (i = 0; i < nCnt; i++) { IndexTopic topic = new IndexTopic("", "", "", ""); topic.AssociatedFile = _chmFile; topic.SetChmInfo(_chmFile.CompileFile, _chmFile.ChmFilePath); topic.ReadDump(ref reader); Topics.Add(topic); } }