/// <summary>
 /// Parse the PermissionData structure.
 /// </summary>
 /// <param name="s">An stream containing PermissionData structure.</param>
 public override void Parse(Stream s)
 {
     base.Parse(s);
     this.PermissionDataFlags = (PermissionDataFlags)ReadByte();
     this.PropertyValueCount = ReadUshort();
     List<TaggedPropertyValue> listPropertyValues = new List<TaggedPropertyValue>();
     for (int i = 0; i < PropertyValueCount; i++)
     {
         TaggedPropertyValue tempPropertyValue = new TaggedPropertyValue();
         tempPropertyValue.Parse(s);
         listPropertyValues.Add(tempPropertyValue);
     }
     this.PropertyValues = listPropertyValues.ToArray();
 }
 /// <summary>
 /// Parse the AddressEntry structure.
 /// </summary>
 /// <param name="s">A stream containing the AddressEntry structure</param>
 public override void Parse(Stream s)
 {
     base.Parse(s);
     this.PropertyCount = ReadUint();
     List<TaggedPropertyValue> tempArray = new List<TaggedPropertyValue>();
     for (int i = 0; i < this.PropertyCount; i++)
     {
         TaggedPropertyValue tempproperty = new TaggedPropertyValue();
         tempproperty.Parse(s);
         tempArray.Add(tempproperty);
     }
     this.Values = tempArray.ToArray();
 }
 /// <summary>
 /// Parse the CommentRestriction structure.
 /// </summary>
 /// <param name="s">A stream containing the CommentRestriction structure</param>
 public override void Parse(Stream s)
 {
     base.Parse(s);
     this.RestrictType = (RestrictTypeEnum)ReadByte();
     this.TaggedValuesCount = ReadByte();
     List<TaggedPropertyValue> tempTaggedValue = new List<TaggedPropertyValue>();
     for (int i = 0; i < this.TaggedValuesCount; i++)
     {
         TaggedPropertyValue tempproperty = new TaggedPropertyValue();
         tempproperty.Parse(s);
         tempTaggedValue.Add(tempproperty);
     }
     this.TaggedValues = tempTaggedValue.ToArray();
     this.RestrictionPresent = ReadBoolean();
     if (this.RestrictionPresent == true)
     {
         this.Restriction = new RestrictionType();
         this.Restriction.Parse(s);
     }
 }
        /// <summary>
        /// Parse the RopTransportSendResponse structure.
        /// </summary>
        /// <param name="s">An stream containing RopTransportSendResponse structure.</param>
        public override void Parse(Stream s)
        {
            base.Parse(s);

            this.RopId = (RopIdType)ReadByte();
            this.InputHandleIndex = ReadByte();
            HelpMethod help = new HelpMethod();
            this.ReturnValue = help.FormatErrorCode(ReadUint());

            if ((ErrorCodes)ReturnValue == ErrorCodes.Success)
            {
                this.NoPropertiesReturned = ReadByte();
                this.PropertyValueCount = ReadUshort();
                List<TaggedPropertyValue> tempPropertyValues = new List<TaggedPropertyValue>();
                for (int i = 0; i < this.PropertyValueCount; i++)
                {
                    TaggedPropertyValue temptaggedPropertyValue = new TaggedPropertyValue(CountWideEnum.twoBytes);
                    temptaggedPropertyValue.Parse(s);
                    tempPropertyValues.Add(temptaggedPropertyValue);
                }
                this.PropertyValues = tempPropertyValues.ToArray();
            }
        }