示例#1
0
文件: Tlv.cs 项目: James226/SMSWeb
 public static Tlv Parse(ByteBuffer buffer)
 {
     //Buffer must have at least 4 bytes for tag and length plus at least one byte for the value field
     if (buffer.Length < 5) { throw new TlvException("Tlv required at least 5 bytes"); }
     Tag tag = (Tag)SMPPEncodingUtil.GetShortFromBytes(buffer.Remove(2));
     ushort len = SMPPEncodingUtil.GetShortFromBytes(buffer.Remove(2));
     Tlv tlv = new Tlv(tag, len);
     tlv.ParseValue(buffer, len);
     return tlv;
 }
示例#2
0
 public override byte[] GetMessageBytes()
 {
     //Check if optional parameter message_payload is present
     Tlv.Tlv tlv = Tlv.GetTlvByTag(Tag.message_payload);
     if (tlv == null)
     {
         return(null);
     }
     else
     {
         return(tlv.RawValue);
     }
 }
示例#3
0
 public override byte[] GetMessageBytes()
 {
     if (_vMessageBytes != null)
     {
         return(_vMessageBytes);
     }
     //Otherwise, check if the 'message_payload' field is used
     Tlv.Tlv tlv = VTlv.GetTlvByTag(Tag.MessagePayload);
     if (tlv == null)
     {
         return(null);
     }
     return(tlv.RawValue);
 }
示例#4
0
 public override void SetMessageBytes(byte[] message)
 {
     if (message == null)
     {
         throw new ArgumentNullException("message");
     }
     //Check if optional parameter message_payload is present
     Tlv.Tlv tlv = Tlv.GetTlvByTag(Tag.message_payload);
     if (tlv == null)
     {
         throw new InvalidOperationException("Tlv parameter 'message_payload' is not present");
     }
     tlv.ParseValue(message);
 }
示例#5
0
        public static Tlv Parse(ByteBuffer buffer)
        {
            //Buffer must have at least 4 bytes for tag and length plus at least one byte for the value field
            if (buffer.Length < 5)
            {
                throw new TlvException("Tlv required at least 5 bytes");
            }
            Tag    tag = (Tag)SMPPEncodingUtil.GetShortFromBytes(buffer.Remove(2));
            ushort len = SMPPEncodingUtil.GetShortFromBytes(buffer.Remove(2));
            Tlv    tlv = new Tlv(tag, len);

            tlv.ParseValue(buffer, len);
            return(tlv);
        }