private byte[] EncodeOutputPduData()
{
List<byte> outputBuffer = new List<byte>();
byte[] data = new byte[1];
for (int i = 0; i < slowPathUpdates.Length; ++i)
{
if (slowPathUpdates[i].GetType() == typeof(TS_UPDATE_PALETTE))
{
RdpbcgrEncoder.EncodeBytes(outputBuffer, EncodePalette((TS_UPDATE_PALETTE)slowPathUpdates[i]));
}
else if (slowPathUpdates[i].GetType() == typeof(TS_UPDATE_BITMAP))
{
RdpbcgrEncoder.EncodeBytes(outputBuffer, EncodeBitmap((TS_UPDATE_BITMAP)slowPathUpdates[i]));
}
else if (slowPathUpdates[i].GetType() == typeof(TS_UPDATE_SYNC))
{
RdpbcgrEncoder.EncodeBytes(outputBuffer, EncodeSync((TS_UPDATE_SYNC)slowPathUpdates[i]));
}
else if (slowPathUpdates[i].GetType() == typeof(TS_POINTER_PDU))
{
RdpbcgrEncoder.EncodeBytes(outputBuffer, EncodePtr((TS_POINTER_PDU)slowPathUpdates[i]));
}
else if (slowPathUpdates[i].GetType() == typeof(TS_UPDATE_ORDERS))
{
RdpbcgrEncoder.EncodeBytes(outputBuffer, EncodeOrders((TS_UPDATE_ORDERS)slowPathUpdates[i]));
}
//outputBuffer.AddRange(data);
}
return outputBuffer.ToArray();
}