/// <summary> Called to create a CancelSm object </summary> /// <param name="defaultEncoding"></param> /// <param name="buf"></param> /// <param name="offset"></param> /// <returns> CancelSm </returns> internal static CancelSm Create(DataCodings defaultEncoding, SmppBuffer buf, ref int offset) { CancelSm cancelSm = new CancelSm(defaultEncoding); try { buf.ExtractHeader(cancelSm, ref offset); cancelSm.ServiceType = buf.ExtractCString(ref offset); cancelSm.MessageId = buf.ExtractCString(ref offset); cancelSm.SourceTon = buf.ExtractByte(ref offset); cancelSm.SourceNpi = buf.ExtractByte(ref offset); cancelSm.SourceAddr = buf.ExtractCString(ref offset); cancelSm.DestTon = buf.ExtractByte(ref offset); cancelSm.DestNpi = buf.ExtractByte(ref offset); cancelSm.DestAddr = buf.ExtractCString(ref offset); } catch { cancelSm = null; } return(cancelSm); }
/// <summary> Called to create a CancelSm object </summary> /// <param name="defaultEncoding"></param> /// <param name="buf"></param> /// <param name="offset"></param> /// <returns> CancelSm </returns> internal static CancelSm Create(DataCodings defaultEncoding, SmppBuffer buf, ref int offset) { CancelSm cancelSm = new CancelSm(defaultEncoding); try { buf.ExtractHeader(cancelSm, ref offset); cancelSm.ServiceType = buf.ExtractCString(ref offset); cancelSm.MessageId = buf.ExtractCString(ref offset); cancelSm.SourceTon = buf.ExtractByte(ref offset); cancelSm.SourceNpi = buf.ExtractByte(ref offset); cancelSm.SourceAddr = buf.ExtractCString(ref offset); cancelSm.DestTon = buf.ExtractByte(ref offset); cancelSm.DestNpi = buf.ExtractByte(ref offset); cancelSm.DestAddr = buf.ExtractCString(ref offset); } catch { cancelSm = null; } return cancelSm; }
/// <summary> Called to create a CancelSmResp object </summary> /// <param name="defaultEncoding"></param> /// <param name="cancelSm"></param> /// <param name="status"></param> /// <returns> CancelSmResp </returns> public static CancelSmResp Create(DataCodings defaultEncoding, CancelSm cancelSm, CommandStatus status) { return(new CancelSmResp(defaultEncoding, status, cancelSm.Sequence)); }
/// <summary> Called to create a CancelSmResp object </summary> /// <param name="defaultEncoding"></param> /// <param name="cancelSm"></param> /// <param name="status"></param> /// <returns> CancelSmResp </returns> public static CancelSmResp Create(DataCodings defaultEncoding, CancelSm cancelSm, CommandStatus status) { return new CancelSmResp(defaultEncoding, status, cancelSm.Sequence); }
/// <summary> Cancel previously submitted short message that is still pending delivery </summary> /// <param name="data"></param> /// <returns> CancelSmResp </returns> public CancelSmResp Cancel(CancelSm data) { CancelSmResp resp = CancelSmResp.Create(DefaultEncoding, CommandStatus.ESME_ROK); if (_Status != ConnectionStatus.Bound) { resp = CancelSmResp.Create(DefaultEncoding, CommandStatus.SMPPCLIENT_UNBOUND); return resp; } try { SendPacket(data); } catch (Exception exception) { OnError("Cancel error : ", exception); resp = CancelSmResp.Create(DefaultEncoding, CommandStatus.SMPPCLIENT_UNKNOWNERROR); } return resp; }
/// <summary> Called to fire the cancel pdu event </summary> /// <param name="data"></param> /// <returns> CommandStatus </returns> internal CommandStatus OnCancelSm(CancelSm data) { CommandStatus commandStatus = CommandStatus.ESME_RCANCELFAIL; try { if (CancelSmEvent != null) { commandStatus = CancelSmEvent(this, data); } } catch { } return commandStatus; }