Beispiel #1
0
            public void Parse(Stream hs)
            {
                while (true)
                {
                    PropertyID propertyID = GetPropertyID(this, hs);
                    switch (propertyID)
                    {
                    case PropertyID.kPackInfo:
                        PackInfo = new PackInfo();
                        PackInfo.Parse(hs);
                        break;

                    case PropertyID.kUnPackInfo:
                        UnPackInfo = new UnPackInfo();
                        UnPackInfo.Parse(hs);
                        break;

                    case PropertyID.kSubStreamsInfo:
                        if (UnPackInfo == null)
                        {
                            Trace.TraceWarning("SubStreamsInfo block found, yet no UnPackInfo block has been parsed so far.");
                            UnPackInfo = new UnPackInfo();
                        }
                        SubStreamsInfo = new SubStreamsInfo(UnPackInfo);
                        SubStreamsInfo.Parse(hs);
                        break;

                    case PropertyID.kEnd:
                        return;

                    default:
                        throw new NotImplementedException(propertyID.ToString());
                    }
                }
            }
Beispiel #2
0
 public StreamsInfo()
 {
     PackInfo       = null;
     UnPackInfo     = null;
     SubStreamsInfo = null;
 }