diff options
Diffstat (limited to 'SmppServerLib/SmppPduDataSmResp.cs')
-rw-r--r-- | SmppServerLib/SmppPduDataSmResp.cs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/SmppServerLib/SmppPduDataSmResp.cs b/SmppServerLib/SmppPduDataSmResp.cs new file mode 100644 index 0000000..9c5c505 --- /dev/null +++ b/SmppServerLib/SmppPduDataSmResp.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Flex.Cluster.Smpp +{ + public class SmppPduDataSmResp : SmppPduSmRespBase + { + uint offsetOptionalParameters; + + override protected SmppCommandType GetCommandType() + { + return SmppCommandType.data_sm_resp; + } + public SmppOptionalParameter[] OptionalParameters + { + get { return ReadOptionalParameters(offsetOptionalParameters); } + } + + public SmppPduDataSmResp(uint sequenceId, SmppCommandStatus status, string messageId, SmppOptionalParameter[] optionalParameters = null) + : base(SmppCommandType.data_sm_resp, sequenceId, status, messageId) + { + offsetOptionalParameters = CurrentOffset; + if (optionalParameters != null) + WriteOptionalParameters(optionalParameters); + } + + public SmppPduDataSmResp(byte[] bytes) : this(bytes, (uint)bytes.Length) { } + public SmppPduDataSmResp(byte[] bytes, uint length) + : base(bytes, length) + { + offsetOptionalParameters = FindCStringEnd(offsetMessageId); + } + } +} |