private RdpbcgrSlowPathUpdatePdu ParseTsGraphicsUpdatePdu(
byte[] updateData,
TS_SHAREDATAHEADER shareDataHeader)
{
// Get update type
int tempIndex = 0;
updateType_Values updateType = (updateType_Values)ParseUInt16(updateData, ref tempIndex, false);
// Parse pdu by update type
RdpbcgrSlowPathUpdatePdu pdu;
switch (updateType)
{
// TS_UPDATE_ORDERS_PDU_DATA
case updateType_Values.UPDATETYPE_ORDERS:
pdu = ParseTsUpdateOrdersPduData(updateData, shareDataHeader);
break;
// TS_UPDATE_BITMAP_PDU_DATA
case updateType_Values.UPDATETYPE_BITMAP:
pdu = ParseTsUpdateBitmapPduData(updateData, shareDataHeader);
break;
// TS_UPDATE_PALETTE_PDU_DATA
case updateType_Values.UPDATETYPE_PALETTE:
pdu = ParseTsUpdatePalettePduData(updateData, shareDataHeader);
break;
// TS_UPDATE_SYNC_PDU_DATA
case updateType_Values.UPDATETYPE_SYNCHRONIZE:
pdu = ParseTsUpdateSyncPduData(updateData, shareDataHeader);
break;
default:
throw new FormatException(ConstValue.ERROR_MESSAGE_ENUM_UNRECOGNIZED);
}
return pdu;
}