public static UpdateHelperData FromByteArray(byte[] data)
{
UpdateHelperData updateHelperData = new UpdateHelperData();
using (MemoryStream memoryStream = new MemoryStream(data))
{
byte b = (byte)memoryStream.ReadByte();
while (!ReadFiles.ReachedEndByte(memoryStream, b, byte.MaxValue))
{
switch (b)
{
case 1:
updateHelperData.Action = (UpdateAction)ReadFiles.ReadInt(memoryStream);
break;
case 2:
updateHelperData.UpdateStep = (UpdateStep)ReadFiles.ReadInt(memoryStream);
break;
case 128:
updateHelperData.ExtraDataIsRTF.Add(item: true);
break;
case 3:
updateHelperData.ExtraData.Add(ReadFiles.ReadString(memoryStream));
if (updateHelperData.ExtraDataIsRTF.Count != updateHelperData.ExtraData.Count)
{
updateHelperData.ExtraDataIsRTF.Add(item: false);
}
break;
case 4:
updateHelperData.ProcessID = ReadFiles.ReadInt(memoryStream);
break;
case 5:
updateHelperData.Progress = ReadFiles.ReadInt(memoryStream);
break;
case 6:
updateHelperData.ResponseType = (Response)ReadFiles.ReadInt(memoryStream);
break;
default:
ReadFiles.SkipField(memoryStream, b);
break;
}
b = (byte)memoryStream.ReadByte();
}
return(updateHelperData);
}
}