public static DnToMinIdResponseBody Parse(byte[] rawData)
{
DnToMinIdResponseBody responseBody = new DnToMinIdResponseBody();
int index = 0;
responseBody.StatusCode = BitConverter.ToUInt32(rawData, index);
index += sizeof(uint);
responseBody.ErrorCode = BitConverter.ToUInt32(rawData, index);
index += sizeof(uint);
responseBody.HasMinimalIds = BitConverter.ToBoolean(rawData, index);
index += sizeof(bool);
if (responseBody.HasMinimalIds)
{
responseBody.MinimalIdCount = BitConverter.ToUInt32(rawData, index);
responseBody.MinimalIds = new uint[(uint)responseBody.MinimalIdCount];
index += sizeof(uint);
for (int i = 0; i < responseBody.MinimalIdCount; i++)
{
responseBody.MinimalIds[i] = BitConverter.ToUInt32(rawData, index);
index += sizeof(uint);
}
}
else
{
responseBody.MinimalIdCount = null;
responseBody.MinimalIds = null;
}
responseBody.AuxiliaryBufferSize = BitConverter.ToUInt32(rawData, index);
index += 4;
responseBody.AuxiliaryBuffer = new byte[responseBody.AuxiliaryBufferSize];
Array.Copy(rawData, index, responseBody.AuxiliaryBuffer, 0, responseBody.AuxiliaryBufferSize);
return responseBody;
}
}