public void ReadFrom(Stream s) { Name = ReadString(s, 4); int length = ReadInt32(s); long startPosition = s.Position; if (startPosition + length == s.Position) { return; } if (IsNode(this)) { while (startPosition + length > s.Position) { DaapMessage innerMessage = new DaapMessage(); innerMessage.ReadFrom(s); List <DaapMessage> messages; if (!Messages.TryGetValue(innerMessage.Name, out messages)) { messages = new List <DaapMessage>(); Messages.Add(innerMessage.Name, messages); } messages.Add(innerMessage); } } else { Value = ReadBytes(s, length); } }
public void ReadFrom(Stream s) { Name = ReadString(s, 4); int length = ReadInt32(s); long startPosition = s.Position; if (startPosition + length == s.Position) return; if (IsNode(this)) { while (startPosition + length > s.Position) { DaapMessage innerMessage = new DaapMessage(); innerMessage.ReadFrom(s); List<DaapMessage> messages; if (!Messages.TryGetValue(innerMessage.Name, out messages)) { messages = new List<DaapMessage>(); Messages.Add(innerMessage.Name, messages); } messages.Add(innerMessage); } } else { Value = ReadBytes(s, length); } }
protected override void LoadContent() { if (ContentLength == 0) { return; } Content = new DaapMessage(); Content.ReadFrom(Body); }