/// <summary> /// Parse the ObjectDataBLOBReference structure. /// </summary> /// <param name="s">An stream containing ObjectDataBLOBReference structure.</param> public override void Parse(Stream s) { base.Parse(s); this.ObjectGroupObjectDataBLOBReference = new StreamObjectHeader(); this.ObjectGroupObjectDataBLOBReference = this.ObjectGroupObjectDataBLOBReference.TryParse(s); this.ObjectExtendedGUIDArray = new ExtendedGUIDArray(); this.ObjectExtendedGUIDArray.Parse(s); this.CellIDArray = new CellIDArray(); this.CellIDArray.Parse(s); this.BLOBExtendedGUID = new ExtendedGUID(); this.BLOBExtendedGUID = this.BLOBExtendedGUID.TryParse(s); }
/// <summary> /// Parse the ObjectData structure. /// </summary> /// <param name="s">An stream containing ObjectData structure.</param> public override void Parse(Stream s) { base.Parse(s); this.ObjectGroupObjectDataOrExcludedData = new StreamObjectHeader(); this.ObjectGroupObjectDataOrExcludedData = this.ObjectGroupObjectDataOrExcludedData.TryParse(s); this.ObjectExtendedGUIDArray = new ExtendedGUIDArray(); this.ObjectExtendedGUIDArray.Parse(s); this.CellIDArray = new CellIDArray(); this.CellIDArray.Parse(s); this.DataSize = new CompactUnsigned64bitInteger(); this.DataSize = this.DataSize.TryParse(s); if (ContainsStreamObjectHeader(0x20)) { this.Data = new IntermediateNodeObjectData(); ((IntermediateNodeObjectData)this.Data).Parse(s); } else if (ContainsStreamObjectHeader(0x1F)) { this.Data = new LeafNodeObjectData(); ((LeafNodeObjectData)this.Data).Parse(s); } else { byte[] dataarray = ReadBytes((int)this.DataSize.GetUint(this.DataSize)); this.Data = dataarray; } }