/// <summary> /// Deserialize fields from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream.</param> public override void Deserialize(FastTransferStream stream) { this.propValues = new List <PropValue>(); while (PropValue.Verify(stream) && !MarkersHelper.IsEndMarkerExceptEcWarning(stream.VerifyUInt32())) { this.propValues.Add(PropValue.DeserializeFrom(stream) as PropValue); } if (SyntacticalBase.AllPropList != null) { SyntacticalBase.AllPropList.Add(this); } }
/// <summary> /// Verify that a stream's current position contains a serialized MessageList. /// </summary> /// <param name="stream">A FastTransferStream.</param> /// <returns>If the stream's current position contains /// a serialized MessageList, return true, else false.</returns> public static bool Verify(FastTransferStream stream) { return (!stream.IsEndOfStream && stream.VerifyUInt32() == (uint)MetaProperties.PidTagEcWarning) || Message.Verify(stream); }
/// <summary> /// Deserialize fields from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream.</param> public override void Deserialize(FastTransferStream stream) { this.propValues = new List<PropValue>(); while (PropValue.Verify(stream) && !MarkersHelper.IsEndMarkerExceptEcWarning(stream.VerifyUInt32())) { this.propValues.Add(PropValue.DeserializeFrom(stream) as PropValue); } if (SyntacticalBase.AllPropList != null) { SyntacticalBase.AllPropList.Add(this); } }
/// <summary> /// Verify that a stream's current position contains a serialized DispidGroupNamedPropInfo. /// </summary> /// <param name="stream">A FastTransferStream</param> /// <returns>If the stream's current position contains /// a serialized DispidGroupNamedPropInfo, return true, else false</returns> public static bool Verify(FastTransferStream stream) { return stream.VerifyUInt32(Guid.Empty.ToByteArray().Length) == 0x00000000; }
/// <summary> /// Verify that a stream's current position contains a serialized DispidGroupNamedPropInfo. /// </summary> /// <param name="stream">A FastTransferStream</param> /// <returns>If the stream's current position contains /// a serialized DispidGroupNamedPropInfo, return true, else false</returns> public static bool Verify(FastTransferStream stream) { return(stream.VerifyUInt32(Guid.Empty.ToByteArray().Length) == 0x00000000); }
/// <summary> /// Deserialize fields from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream.</param> public override void Deserialize(FastTransferStream stream) { // Actual stream deserialization: // folderContent = propList [PidTagEcWarning] // ( (*(*PidTagFXDelProp PidTagNewFXFolder)) / folderMessages ) // [ *PidTagFXDelProp *SubFolder ] this.warningCode = null; this.fxdelPropList = new List<uint>(); this.newFXFolderList = new List<Tuple<List<uint>, MS_OXCFXICS.FolderReplicaInfo>>(); this.propList = new PropList(stream); if (!stream.IsEndOfStream) { uint marker = stream.VerifyUInt32(); if (marker == (uint)MetaProperties.PidTagEcWarning) { marker = stream.ReadUInt32(); this.warningCode = stream.ReadUInt32(); marker = stream.VerifyUInt32(); } long lastPosi = stream.Position; while (stream.VerifyMetaProperty(MetaProperties.PidTagFXDelProp) || stream.VerifyMetaProperty(MetaProperties.PidTagNewFXFolder)) { lastPosi = stream.Position; List<uint> tempFXdel = new List<uint>(); while (stream.VerifyMetaProperty(MetaProperties.PidTagFXDelProp)) { stream.ReadMetaProperty(MetaProperties.PidTagFXDelProp); uint prop = stream.ReadUInt32(); tempFXdel.Add(prop); } if (!stream.IsEndOfStream) { marker = stream.VerifyUInt32(); } if (marker == (uint)MetaProperties.PidTagNewFXFolder) { marker = stream.ReadUInt32(); stream.ReadUInt32(); FolderReplicaInfo fri = new FolderReplicaInfo(stream); this.newFXFolderList.Add( new Tuple<List<uint>, FolderReplicaInfo>( tempFXdel, fri)); } else { stream.Position = lastPosi; marker = stream.VerifyUInt32(); break; } } if (FolderMessages.Verify(stream)) { this.folderMessages = new FolderMessages(stream); } this.subFolders = new List<SubFolder>(); while (stream.VerifyMetaProperty(MetaProperties.PidTagFXDelProp)) { stream.ReadMetaProperty(MetaProperties.PidTagFXDelProp); uint prop = stream.ReadUInt32(); this.fxdelPropList.Add(prop); } while (SubFolder.Verify(stream)) { this.subFolders.Add(new SubFolder(stream)); } } }
/// <summary> /// Deserialize fields from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream.</param> public override void Deserialize(FastTransferStream stream) { // Actual stream deserialization: // folderContent = propList [PidTagEcWarning] // ( (*(*PidTagFXDelProp PidTagNewFXFolder)) / folderMessages ) // [ *PidTagFXDelProp *SubFolder ] this.warningCode = null; this.fxdelPropList = new List <uint>(); this.newFXFolderList = new List <Tuple <List <uint>, MS_OXCFXICS.FolderReplicaInfo> >(); this.propList = new PropList(stream); if (!stream.IsEndOfStream) { uint marker = stream.VerifyUInt32(); if (marker == (uint)MetaProperties.PidTagEcWarning) { marker = stream.ReadUInt32(); this.warningCode = stream.ReadUInt32(); marker = stream.VerifyUInt32(); } long lastPosi = stream.Position; while (stream.VerifyMetaProperty(MetaProperties.PidTagFXDelProp) || stream.VerifyMetaProperty(MetaProperties.PidTagNewFXFolder)) { lastPosi = stream.Position; List <uint> tempFXdel = new List <uint>(); while (stream.VerifyMetaProperty(MetaProperties.PidTagFXDelProp)) { stream.ReadMetaProperty(MetaProperties.PidTagFXDelProp); uint prop = stream.ReadUInt32(); tempFXdel.Add(prop); } if (!stream.IsEndOfStream) { marker = stream.VerifyUInt32(); } if (marker == (uint)MetaProperties.PidTagNewFXFolder) { marker = stream.ReadUInt32(); stream.ReadUInt32(); FolderReplicaInfo fri = new FolderReplicaInfo(stream); this.newFXFolderList.Add( new Tuple <List <uint>, FolderReplicaInfo>( tempFXdel, fri)); } else { stream.Position = lastPosi; marker = stream.VerifyUInt32(); break; } } if (FolderMessages.Verify(stream)) { this.folderMessages = new FolderMessages(stream); } this.subFolders = new List <SubFolder>(); while (stream.VerifyMetaProperty(MetaProperties.PidTagFXDelProp)) { stream.ReadMetaProperty(MetaProperties.PidTagFXDelProp); uint prop = stream.ReadUInt32(); this.fxdelPropList.Add(prop); } while (SubFolder.Verify(stream)) { this.subFolders.Add(new SubFolder(stream)); } } }
/// <summary> /// Verify that a stream's current position contains a serialized MessageList. /// </summary> /// <param name="stream">A FastTransferStream.</param> /// <returns>If the stream's current position contains /// a serialized MessageList, return true, else false.</returns> public static bool Verify(FastTransferStream stream) { return((!stream.IsEndOfStream && stream.VerifyUInt32() == (uint)MetaProperties.PidTagEcWarning) || Message.Verify(stream)); }