/// <summary> /// [TD Reference 3.1.5.1] /// Decode MCS Disconnect Provider Ultimatum PDU /// </summary> /// <param name="data">data to be parsed</param> /// <returns>decoded Disconnect Provider Ultimatum PDU</returns> public StackPacket DecodeDisconnectProviderUltimatumPDU(byte[] data) { // initialize int currentIndex = 0; MCS_Disconnect_Provider_Ultimatum_Pdu pdu = new MCS_Disconnect_Provider_Ultimatum_Pdu(); // MCS_Disconnect_Provider_Ultimatum_Pdu: tpktHeader pdu.tpktHeader = ParseTpktHeader(data, ref currentIndex); // MCS_Disconnect_Provider_Ultimatum_Pdu: x224Data pdu.x224Data = ParseX224Data(data, ref currentIndex); // MCS_Disconnect_Provider_Ultimatum_Pdu: disconnectProviderUltimatum pdu.disconnectProvider = (DisconnectProviderUltimatum)ParseMcsDomainPdu(data, ref currentIndex).GetData(); // Check if data length exceeded expectation VerifyDataLength(data.Length, currentIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED); return pdu; }
/// <summary> /// 2.2.2.3 /// </summary> /// <param name="disconnectPdu"></param> public void VerifyPdu(MCS_Disconnect_Provider_Ultimatum_Pdu disconnectPdu) { }
/// <summary> /// Create an instance of the class that is identical to the current PDU. /// </summary> /// <returns>The new instance.</returns> public override StackPacket Clone() { MCS_Disconnect_Provider_Ultimatum_Pdu cloneMcsUltimatePdu = new MCS_Disconnect_Provider_Ultimatum_Pdu(context); cloneMcsUltimatePdu.tpktHeader = tpktHeader; cloneMcsUltimatePdu.x224Data = x224Data; if (disconnectProvider != null) { cloneMcsUltimatePdu.disconnectProvider = new DisconnectProviderUltimatum(disconnectProvider.reason); } return cloneMcsUltimatePdu; }