/// <summary> /// Decode Set Keyboard IME Status PDU /// </summary> /// <param name="data">data to be parsed</param> /// <param name="decryptedUserData">decrypted user data</param> /// <param name="type">security header type</param> /// <returns>decoded Set Keyboard IME Status PDU</returns> public StackPacket DecodeSetKeyboardImeStatusPDU( byte[] data, byte[] decryptedUserData, SecurityHeaderType type) { Server_Set_Keyboard_IME_Status_Pdu pdu = new Server_Set_Keyboard_IME_Status_Pdu(); // data index int dataIndex = 0; // SetKeyboardImeStatusPDU: commonHeader pdu.commonHeader = ParseMcsCommonHeader(data, ref dataIndex, type); // user data index int userDataIndex = 0; // SetKeyboardImeStatusPDU: setKeyBdImeStatusPduData pdu.setKeyBdImeStatusPduData = ParseTsSetKeyboardImeStatusPdu(decryptedUserData, ref userDataIndex); // Check if data length exceeded expectation VerifyDataLength(decryptedUserData.Length, userDataIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED); return pdu; }
public override StackPacket Clone() { Server_Set_Keyboard_IME_Status_Pdu cloneImePdu = new Server_Set_Keyboard_IME_Status_Pdu(serverSessionContext); cloneImePdu.commonHeader = commonHeader.Clone(); cloneImePdu.setKeyBdImeStatusPduData.UnitId = setKeyBdImeStatusPduData.UnitId; cloneImePdu.setKeyBdImeStatusPduData.shareDataHeader = setKeyBdImeStatusPduData.shareDataHeader; cloneImePdu.setKeyBdImeStatusPduData.ImeState = setKeyBdImeStatusPduData.ImeState; cloneImePdu.setKeyBdImeStatusPduData.ImeConvMode = setKeyBdImeStatusPduData.ImeConvMode; return cloneImePdu; }