/// <summary> Adds the specified optional tag value </summary>
 /// <param name="tag"></param>
 /// <param name="val"></param>
 public void Add(OptionalTags tag,
                 byte[] val)
 {
     Add(TLV.Create(tag,
                    Convert.ToUInt16(val.Length),
                    val));
 }
Beispiel #2
0
 /// <summary> Called to create a TLV object </summary>
 /// <param name="tag"></param>
 /// <param name="length"></param>
 /// <param name="value"></param>
 /// <returns> TLV </returns>
 public static TLV Create(OptionalTags tag,
                          ushort length,
                          byte[] value)
 {
     return(new TLV(tag,
                    length,
                    value));
 }
Beispiel #3
0
 /// <summary> Constructor </summary>
 /// <param name="tag"></param>
 /// <param name="length"></param>
 /// <param name="value"></param>
 private TLV(OptionalTags tag,
             ushort length,
             byte[] value)
 {
     Tag    = Convert.ToUInt16(tag);
     Length = length;
     Value  = value;
 }
 private void            Remove(OptionalTags tag)
 {
     for (int i = 0; i < base.Count; ++i)
     {
         if (base[i].Tag == tag)
         {
             base.RemoveAt(i);
         }
     }
 }
 private void            _setString(OptionalTags tag, string value)
 {
     if (value != null)
     {
         this[tag].ValueString = value;
     }
     else
     {
         Remove(tag);
     }
 }
 private void            _setUInt32(OptionalTags tag, UInt32?value)
 {
     if (value.HasValue)
     {
         this[tag].ValueUInt32 = value.Value;
     }
     else
     {
         Remove(tag);
     }
 }
 private void            _setByte(OptionalTags tag, byte?value)
 {
     if (value.HasValue)
     {
         this[tag].ValueByte = value.Value;
     }
     else
     {
         Remove(tag);
     }
 }
 private void            _setBool(OptionalTags tag, bool value)
 {
     if (value)
     {
         this[tag].Value = null;
     }
     else
     {
         Remove(tag);
     }
 }
 private void            _setBytes(OptionalTags tag, byte[] value)
 {
     if (value != null)
     {
         this[tag].Value = value;
     }
     else
     {
         Remove(tag);
     }
 }
        private SMPPTLV         Find(OptionalTags tag)
        {
            for (int i = 0; i < base.Count; ++i)
            {
                if (base[i].Tag == tag)
                {
                    return(base[i]);
                }
            }

            return(null);
        }
        public SMPPTLV this[OptionalTags tag]
        {
            get {
                SMPPTLV tlv = Find(tag);

                if (tlv == null)
                {
                    base.Add(tlv = new SMPPTLV(tag));
                }

                return(tlv);
            }
        }
        private byte?_getByte(OptionalTags tag)
        {
            SMPPTLV tlv = Find(tag);

            return((tlv != null) ? (byte?)tlv.ValueByte : (byte?)null);
        }
        private bool            _getBool(OptionalTags tag)
        {
            SMPPTLV tlv = Find(tag);

            return(tlv != null);
        }
Beispiel #14
0
 /// <summary> Called to create a TLV object </summary>
 /// <param name="tag"></param>
 /// <param name="length"></param>
 /// <param name="value"></param>
 /// <returns> TLV </returns>
 public static TLV Create(OptionalTags tag, ushort length, byte[] value)
 {
     return new TLV(tag, length, value);
 }
Beispiel #15
0
 /// <summary> Constructor </summary>
 /// <param name="tag"></param>
 /// <param name="length"></param>
 /// <param name="value"></param>
 private TLV(OptionalTags tag, ushort length, byte[] value)
 {
     Tag = Convert.ToUInt16(tag);
     Length = length;
     Value = value;
 }
 internal SMPPTLV(OptionalTags tag)
 {
     Tag = tag;
 }
        private UInt32?_getUInt32(OptionalTags tag)
        {
            SMPPTLV tlv = Find(tag);

            return((tlv != null) ? (UInt32?)tlv.ValueUInt32 : (UInt32?)null);
        }
Beispiel #18
0
 /// <summary> Access to the collection by an optional tag </summary>
 /// <param name="tag"></param>
 /// <returns></returns>
 public TLV this[OptionalTags tag] {
     get { return(this[Convert.ToUInt16(tag)]); }
 }
 private string          _getString(OptionalTags tag)
 {
     return(Find(tag).ValueString);
 }
 /// <summary> Access to the collection by an optional tag </summary>
 /// <param name="tag"></param>
 /// <returns></returns>
 public TLV this[OptionalTags tag] => this[Convert.ToUInt16(tag)];
 private byte[]          _getBytes(OptionalTags tag)
 {
     return(Find(tag).Value);
 }