/// <summary> /// Read the message bytes and set the properties on this instance /// </summary> /// <param name="reader"></param> internal virtual void Create(SlpReader reader) { reader.ReadInt24(); var flags = reader.ReadByte(); IsOverFlow = (flags & 0x80) == 0x80; IsFresh = (flags & 0x40) == 0x40; IsMulticast = (flags & 0x20) == 0x20; reader.ReadByte(); _ExtensionOffset = reader.ReadInt24(); MessageId = reader.ReadInt16(); Language = reader.ReadString(); }
/// <summary> /// Initalises a new extension from the received data /// </summary> /// <param name="data">byte array of data to parse</param> /// <returns>new UserDefined Extension</returns> internal override ExtensionBase Create(SlpReader reader) { var result = new UnknownExtension(); result._Id = reader.ReadInt16(); result.Offset = reader.ReadInt24(); result.Data = reader.ReadBytes(result.Offset); return result; }
/// <summary> /// Initalises a new extension from the received data /// </summary> /// <param name="data">byte array of data to parse</param> /// <returns>new AttributeMissing Extension</returns> internal override ExtensionBase Create(SlpReader reader) { var result = new AttributeMissingExtension(); Offset = reader.ReadInt24(); TemplateName = reader.ReadString(); Attributes.AddRange(reader.TagListDecode(false)); return(result); }
/// <summary> /// Initalises a new extension from the received data /// </summary> /// <param name="data">byte array of data to parse</param> /// <returns>new AttributeMissing Extension</returns> internal override ExtensionBase Create(SlpReader reader) { var result = new AttributeMissingExtension(); Offset = reader.ReadInt24(); TemplateName = reader.ReadString(); Attributes.AddRange(reader.TagListDecode(false)); return result; }
/// <summary> /// Initalises a new extension from the received data /// </summary> /// <param name="data">byte array of data to parse</param> /// <returns>new UserDefined Extension</returns> internal override ExtensionBase Create(SlpReader reader) { var result = new UnknownExtension(); result._Id = reader.ReadInt16(); result.Offset = reader.ReadInt24(); result.Data = reader.ReadBytes(result.Offset); return(result); }