示例#1
0
 protected override void Parse(ByteBuffer buffer)
 {
     if (buffer == null)
     {
         throw new ArgumentNullException("buffer");
     }
     vSourceAddress = SmppAddress.Parse(buffer);
     vEsmeAddress   = SmppAddress.Parse(buffer);
     //If there are some bytes left,
     //construct a tlv collection
     if (buffer.Length > 0)
     {
         vTlv = TlvCollection.Parse(buffer);
     }
 }
示例#2
0
 protected override void Parse(ByteBuffer buffer)
 {
     if (buffer == null)
     {
         throw new ArgumentNullException("buffer");
     }
     vMessageID     = DecodeCString(buffer);
     vSourceAddress = SmppAddress.Parse(buffer);
     //This pdu has no option parameters
     //If there is still something in the buffer,
     //we then have more than required bytes
     if (buffer.Length > 0)
     {
         throw new TooManyBytesException();
     }
 }
示例#3
0
 protected override void Parse(ByteBuffer buffer)
 {
     if (buffer == null)
     {
         throw new ArgumentNullException("buffer");
     }
     vServiceType        = DecodeCString(buffer, vSmppEncodingService);
     vSourceAddress      = SmppAddress.Parse(buffer, vSmppEncodingService);
     vDestinationAddress = SmppAddress.Parse(buffer, vSmppEncodingService);
     vEsmClass           = (EsmClass)GetByte(buffer);
     vRegisteredDelivery = (RegisteredDelivery)GetByte(buffer);
     vDataCoding         = (DataCoding)GetByte(buffer);
     if (buffer.Length > 0)
     {
         vTlv = TlvCollection.Parse(buffer, vSmppEncodingService);
     }
 }
示例#4
0
 protected override void Parse(ByteBuffer buffer)
 {
     if (buffer == null)
     {
         throw new ArgumentNullException("buffer");
     }
     vMessageID            = DecodeCString(buffer);
     vSourceAddress        = SmppAddress.Parse(buffer);
     vScheduleDeliveryTime = DecodeCString(buffer);
     vValidityPeriod       = DecodeCString(buffer);
     vRegisteredDelivery   = (RegisteredDelivery)GetByte(buffer);
     vSmDefaultMessageID   = GetByte(buffer);
     vSmLength             = GetByte(buffer);
     vShortMessage         = DecodeString(buffer, (int)vSmLength);
     //This pdu has no option parameters,
     //If there is something left in the buffer,
     //then we have more than required bytes
     if (buffer.Length > 0)
     {
         throw new TooManyBytesException();
     }
 }
示例#5
0
        protected override void Parse(ByteBuffer buffer)
        {
            if (buffer == null)
            {
                throw new ArgumentNullException("buffer");
            }
            VServiceType           = DecodeCString(buffer);
            VSourceAddress         = SmppAddress.Parse(buffer);
            VDestinationAddress    = SmppAddress.Parse(buffer);
            VEsmClass              = (EsmClass)GetByte(buffer);
            _vProtocolId           = GetByte(buffer);
            _vPriorityFlag         = (PriorityFlag)GetByte(buffer);
            _vScheduleDeliveryTime = DecodeCString(buffer);
            _vValidityPeriod       = DecodeCString(buffer);
            VRegisteredDelivery    = (RegisteredDelivery)GetByte(buffer);
            _vReplaceIfPresent     = GetByte(buffer) == 0 ? false : true;
            VDataCoding            = (DataCoding)GetByte(buffer);
            _vSmDefalutMessageId   = GetByte(buffer);
            int length = GetByte(buffer);

            if (length == 0)
            {
                _vMessageBytes = null;
            }
            else
            {
                if (length > buffer.Length)
                {
                    throw new NotEnoughBytesException("Pdu encoutered less bytes than indicated by message length");
                }
                _vMessageBytes = buffer.Remove(length);
            }
            if (buffer.Length > 0)
            {
                VTlv = TlvCollection.Parse(buffer);
            }
        }
示例#6
0
 public CancelSm()
     : base(new PDUHeader(CommandType.CancelSm))
 {
     vDestinationAddress = new SmppAddress();
 }
示例#7
0
 internal SmPDU(PDUHeader header)
     : base(header)
 {
     vSourceAddress = new SmppAddress();
 }
示例#8
0
 internal SmPDU(PDUHeader header, SmppEncodingService smppEncodingService)
     : base(header, smppEncodingService)
 {
     vSourceAddress = new SmppAddress();
 }
示例#9
0
 internal SingleDestinationPDU(PDUHeader header)
     : base(header)
 {
     vDestinationAddress = new SmppAddress();
 }
示例#10
0
 internal SingleDestinationPDU(PDUHeader header)
     : base(header)
 {
     vDestinationAddress = new SmppAddress();
 }
示例#11
0
 internal AlertNotification(PDUHeader header, SmppEncodingService smppEncodingService)
     : base(header, smppEncodingService)
 {
     vEsmeAddress = new SmppAddress();
 }
示例#12
0
 internal SingleDestinationPDU(PDUHeader header, SmppEncodingService smppEncodingService)
     : base(header, smppEncodingService)
 {
     vDestinationAddress = new SmppAddress();
 }
示例#13
0
 public CancelSm(SmppEncodingService smppEncodingService)
     : base(new PDUHeader(CommandType.CancelSm), smppEncodingService)
 {
     vDestinationAddress = new SmppAddress();
 }
示例#14
0
 internal AlertNotification(PDUHeader header)
     : base(header)
 {
     vEsmeAddress = new SmppAddress();
 }
示例#15
0
 public AlertNotification()
     : base(new PDUHeader(CommandType.AlertNotification))
 {
     vEsmeAddress = new SmppAddress();
 }
示例#16
0
 protected override void Parse(ByteBuffer buffer)
 {
     if (buffer == null) { throw new ArgumentNullException("buffer"); }
     vMessageID = DecodeCString(buffer);
     vSourceAddress = SmppAddress.Parse(buffer);
     vDestinationAddress = SmppAddress.Parse(buffer);
     //If this pdu has no option parameters
     //If there is still something in the buffer, we then have more than required bytes
     if (buffer.Length > 0) { throw new TooManyBytesException(); }
 }
示例#17
0
 internal CancelSm(PDUHeader header)
     : base(header)
 {
     vDestinationAddress = new SmppAddress();
 }
示例#18
0
 public CancelSm()
     : base(new PDUHeader(CommandType.CancelSm))
 {
     vDestinationAddress = new SmppAddress();
 }
示例#19
0
 internal CancelSm(PDUHeader header, SmppEncodingService smppEncodingService)
     : base(header, smppEncodingService)
 {
     vDestinationAddress = new SmppAddress();
 }
示例#20
0
 internal AlertNotification(PDUHeader header)
     : base(header)
 {
     vEsmeAddress = new SmppAddress();
 }
示例#21
0
 internal CancelSm(PDUHeader header)
     : base(header)
 {
     vDestinationAddress = new SmppAddress();
 }
示例#22
0
 public AlertNotification()
     : base(new PDUHeader(CommandType.AlertNotification))
 {
     vEsmeAddress = new SmppAddress();
 }
示例#23
0
文件: SmPDU.cs 项目: James226/SMSWeb
 internal SmPDU(PDUHeader header)
     : base(header)
 {
     vSourceAddress = new SmppAddress();
 }
示例#24
0
 protected override void Parse(ByteBuffer buffer)
 {
     if (buffer == null) { throw new ArgumentNullException("buffer"); }
     vSourceAddress = SmppAddress.Parse(buffer);
     vEsmeAddress = SmppAddress.Parse(buffer);
     //If there are some bytes left,
     //construct a tlv collection
     if (buffer.Length > 0) { vTlv = TlvCollection.Parse(buffer); }
 }
示例#25
0
 public AlertNotification(SmppEncodingService smppEncodingService)
     : base(new PDUHeader(CommandType.AlertNotification), smppEncodingService)
 {
     vEsmeAddress = new SmppAddress();
 }