DBus.Protocol.Header.FromBytes C# (CSharp) Method

FromBytes() public static method

public static FromBytes ( byte data ) : Header
data byte
return Header
		public static Header FromBytes (byte[] data)
		{
			Header header = new Header ();
			EndianFlag endianness = (EndianFlag)data[0];

			header.Endianness = endianness;
			header.MessageType = (MessageType)data[1];
			header.Flags = (HeaderFlag)data[2];
			header.MajorVersion = data[3];

			var reader = new MessageReader (endianness, data);
			reader.Seek (4);
			header.Length = reader.ReadUInt32 ();
			header.Serial = reader.ReadUInt32 ();

			FieldCodeEntry[] fields = reader.ReadArray<FieldCodeEntry> ();
			foreach (var f in fields) {
				header[(FieldCode)f.Code] = f.Value;
			}

			return header;
		}

Usage Example

Example #1
0
 public void SetHeaderData(byte[] data)
 {
     header = Header.FromBytes(data);
 }