protected override Stream UnParse()
        {
            MemoryStream ms = new MemoryStream();
            BinaryWriter w  = new BinaryWriter(ms);

            w.Write(version);
            if (data == null)
            {
                data = new NGMPPairList(OnResourceChanged);
            }
            data.UnParse(ms);
            w.Flush();
            return(ms);
        }
Пример #2
0
        void Parse(Stream s)
        {
            BinaryReader br = new BinaryReader(s);

            _version = br.ReadUInt32();
            if (_version != 1)
            {
                throw new InvalidDataException(
                          $"{GetType().Name}: unsupported 'version'.  Read '0x{_version:X8}', supported: '0x00000001'");
            }

            _data = new NGMPPairList(OnResourceChanged, s);

            if (s.Position != s.Length)
            {
                throw new InvalidDataException(
                          $"{GetType().Name}: Length {s.Length} bytes, parsed {s.Position} bytes");
            }
        }
        void Parse(Stream s)
        {
            BinaryReader br = new BinaryReader(s);

            version = br.ReadUInt32();
            if (checking)
            {
                if (version != 1)
                {
                    throw new InvalidDataException(String.Format("{0}: unsupported 'version'.  Read '0x{1:X8}', supported: '0x00000001'", this.GetType().Name, version));
                }
            }

            data = new NGMPPairList(OnResourceChanged, s);

            if (checking)
            {
                if (s.Position != s.Length)
                {
                    throw new InvalidDataException(String.Format("{0}: Length {1} bytes, parsed {2} bytes", this.GetType().Name, s.Length, s.Position));
                }
            }
        }