Exemple #1
0
        } /* ParseStatusLine */

        private void  ParseOpenFileCommand(string line)
        {
            line = line.Substring(8);
            int idx = line.IndexOf(". ");

            if (idx < 0)
            {
                return;
            }

            curFileName = line.Substring(0, idx);
            line        = line.Substring(idx);
            idx         = line.IndexOf("StartLBA=");
            if (idx < 0)
            {
                return;
            }

            line = line.Substring(idx + 9);
            idx  = line.IndexOf(',');
            if (idx < 0)
            {
                return;
            }

            string startLBAstr = line.Substring(0, idx).Trim();

            curFileStartSector = (uint)OSservices.HexStrToLong(startLBAstr);

            currentFileControlBlock             = new SipperFileControlBlock();
            currentFileControlBlock.FileName    = curFileName;
            currentFileControlBlock.StartSector = curFileStartSector;
            currentFileControlBlock.SetSipperDateTimeStamp(statusDateTime);
            fileControlBlocks.Add(currentFileControlBlock);
        } /* ParseOpenFileCommand */
Exemple #2
0
        private void   ParseStatusLine(string line)
        {
            string startSectorStr = GetStatusLineField(line, "bs=");

            if (startSectorStr == null)
            {
                return;
            }

            string currentSectorStr = GetStatusLineField(line, "bc=");

            if (currentSectorStr == null)
            {
                return;
            }

            string endSectorStr = GetStatusLineField(line, "be=");

            if (endSectorStr == null)
            {
                return;
            }

            string dateStr = GetStatusLineField(line, "da=");

            if (dateStr == null)
            {
                return;
            }

            string timeStr = GetStatusLineField(line, "ti=");

            if (timeStr == null)
            {
                return;
            }

            string recordStatusStr = GetStatusLineField(line, "rs=");

            if (recordStatusStr == null)
            {
                return;
            }

            startSector    = (uint)OSservices.HexStrToLong(startSectorStr);
            currentSector  = (uint)OSservices.HexStrToLong(currentSectorStr);
            endSector      = (uint)OSservices.HexStrToLong(endSectorStr);
            recording      = (recordStatusStr == "r");
            statusDateTime = new SipperDateTimeStamp(dateStr, timeStr);

            if ((currentFileControlBlock != null) && recording)
            {
                currentFileControlBlock.EndSector = currentSector;
            }

            if (updateCurrentFileControlBlockEndSector)
            {
                if (currentFileControlBlock != null)
                {
                    currentFileControlBlock.EndSector      = currentSector;
                    updateCurrentFileControlBlockEndSector = false;
                }
            }
        } /* ParseStatusLine */