/// <summary> /// Creates a GenericNackEventArgs. /// </summary> /// <param name="packet">The PDU that was received.</param> internal GenericNackEventArgs(SmppGenericNack packet) : base(packet) { _response = packet; }
/// <summary> /// Gets a single PDU based on the response bytes. /// </summary> /// <param name="response">The SMSC response.</param> /// <returns>The PDU corresponding to the bytes.</returns> private Pdu GetPDU(byte[] response) { var commandID = Pdu.DecodeCommandId(response); Pdu packet; switch(commandID) { case CommandId.alert_notification: packet = new SmppAlertNotification(response); break; case CommandId.bind_receiver_resp: case CommandId.bind_transceiver_resp: case CommandId.bind_transmitter_resp: packet = new SmppBindResp(response); break; case CommandId.cancel_sm_resp: packet = new SmppCancelSmResp(response); break; case CommandId.data_sm_resp: packet = new SmppDataSmResp(response); break; case CommandId.deliver_sm: packet = new SmppDeliverSm(response); break; case CommandId.enquire_link_resp: packet = new SmppEnquireLinkResp(response); break; case CommandId.outbind: packet = new SmppOutbind(response); break; case CommandId.query_sm_resp: packet = new SmppQuerySmResp(response); break; case CommandId.replace_sm_resp: packet = new SmppReplaceSmResp(response); break; case CommandId.submit_multi_resp: packet = new SmppSubmitMultiResp(response); break; case CommandId.submit_sm_resp: packet = new SmppSubmitSmResp(response); break; case CommandId.unbind_resp: packet = new SmppUnbindResp(response); break; case CommandId.generic_nack: packet = new SmppGenericNack(response); break; default: packet = null; break; } return packet; }