/// <summary>
        /// Gest the <see cref="XBeeDiscoveryStatus"/> associated to the given ID.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="id">ID of the <see cref="XBeeDiscoveryStatus"/> to retrieve.</param>
        /// <returns>The <see cref="XBeeDiscoveryStatus"/> associated with the given ID,
        /// <see cref="XBeeDiscoveryStatus.DISCOVERY_STATUS_UNKNOWN"/> if it does not exist.</returns>
        public static XBeeDiscoveryStatus Get(this XBeeDiscoveryStatus source, byte id)
        {
            var values = Enum.GetValues(typeof(XBeeDiscoveryStatus)).OfType <byte>();

            if (values.Cast <byte>().Contains(id))
            {
                return((XBeeDiscoveryStatus)id);
            }

            return(XBeeDiscoveryStatus.DISCOVERY_STATUS_UNKNOWN);
        }
Exemple #2
0
 /// <summary>
 /// Class constructor. Instantiates a new <see cref="TransmitStatusPacket"/> object with the
 /// given parameters.
 /// </summary>
 /// <param name="frameID">The frame ID.</param>
 /// <param name="destAddress16">The 16-bit network address the packet was delivered to.</param>
 /// <param name="transmitRetryCount">The number of application transmission retries that took place.</param>
 /// <param name="transmitStatus">The transmit status.</param>
 /// <param name="discoveryStatus">The discovery status.</param>
 /// <exception cref="ArgumentNullException">If <c><paramref name="destAddress16"/> == null</c>.</exception>
 /// <seealso cref="XBeeDiscoveryStatus"/>
 /// <seealso cref="XBeeTransmitStatus"/>
 /// <seealso cref="XBee16BitAddress"/>
 public TransmitStatusPacket(byte frameID, XBee16BitAddress destAddress16, byte transmitRetryCount,
                             XBeeTransmitStatus transmitStatus, XBeeDiscoveryStatus discoveryStatus)
     : base(APIFrameType.TRANSMIT_STATUS)
 {
     FrameID            = frameID;
     DestAddress16      = destAddress16 ?? throw new ArgumentNullException("16-bit destination address cannot be null.");
     TransmitRetryCount = transmitRetryCount;
     TransmitStatus     = transmitStatus;
     DiscoveryStatus    = discoveryStatus;
     logger             = LogManager.GetLogger <TransmitStatusPacket>();
 }
        /**
         * Class constructor. Instantiates a new {@code TransmitStatusPacket}
         * object with the given parameters.
         *
         * @param frameID Frame ID.
         * @param destAddress16 16-bit Network address the packet was delivered to.
         * @param tranmistRetryCount The number of application transmission retries
         *                           that took place.
         * @param transmitStatus Transmit status.
         * @param discoveryStatus Discovery status.
         *
         * @throws ArgumentException if {@code frameID < 0} or
         *                                  if {@code frameID > 255} or
         *                                  if {@code tranmistRetryCount < 0} or
         *                                  if {@code tranmistRetryCount > 255}.
         * @throws ArgumentNullException if {@code destAddress16 == null} or
         *                              if {@code transmitStatus == null} or
         *                              if {@code discoveryStatus == null}.
         *
         * @see com.digi.xbee.api.models.XBeeDiscoveryStatus
         * @see com.digi.xbee.api.models.XBeeTransmitStatus
         * @see com.digi.xbee.api.models.XBee16BitAddress
         */
        public TransmitStatusPacket(byte frameID, XBee16BitAddress destAddress16, byte tranmistRetryCount,
            XBeeTransmitStatus transmitStatus, XBeeDiscoveryStatus discoveryStatus)
            : base(APIFrameType.TRANSMIT_STATUS)
        {
            if (destAddress16 == null)
                throw new ArgumentNullException("16-bit destination address cannot be null.");
            if (transmitStatus == null)
                throw new ArgumentNullException("Delivery status cannot be null.");
            if (discoveryStatus == null)
                throw new ArgumentNullException("Discovery status cannot be null.");

            this.frameID = frameID;
            this.destAddress16 = destAddress16;
            this.tranmistRetryCount = tranmistRetryCount;
            this.transmitStatus = transmitStatus;
            this.discoveryStatus = discoveryStatus;
            this.logger = LogManager.GetLogger<TransmitStatusPacket>();
        }
        /**
         * Class constructor. Instantiates a new {@code TransmitStatusPacket}
         * object with the given parameters.
         *
         * @param frameID Frame ID.
         * @param destAddress16 16-bit Network address the packet was delivered to.
         * @param tranmistRetryCount The number of application transmission retries
         *                           that took place.
         * @param transmitStatus Transmit status.
         * @param discoveryStatus Discovery status.
         *
         * @throws ArgumentException if {@code frameID < 0} or
         *                                  if {@code frameID > 255} or
         *                                  if {@code tranmistRetryCount < 0} or
         *                                  if {@code tranmistRetryCount > 255}.
         * @throws ArgumentNullException if {@code destAddress16 == null} or
         *                              if {@code transmitStatus == null} or
         *                              if {@code discoveryStatus == null}.
         *
         * @see com.digi.xbee.api.models.XBeeDiscoveryStatus
         * @see com.digi.xbee.api.models.XBeeTransmitStatus
         * @see com.digi.xbee.api.models.XBee16BitAddress
         */
        public TransmitStatusPacket(byte frameID, XBee16BitAddress destAddress16, byte tranmistRetryCount,
                                    XBeeTransmitStatus transmitStatus, XBeeDiscoveryStatus discoveryStatus)
            : base(APIFrameType.TRANSMIT_STATUS)
        {
            if (destAddress16 == null)
            {
                throw new ArgumentNullException("16-bit destination address cannot be null.");
            }
            if (transmitStatus == null)
            {
                throw new ArgumentNullException("Delivery status cannot be null.");
            }
            if (discoveryStatus == null)
            {
                throw new ArgumentNullException("Discovery status cannot be null.");
            }

            this.frameID            = frameID;
            this.destAddress16      = destAddress16;
            this.tranmistRetryCount = tranmistRetryCount;
            this.transmitStatus     = transmitStatus;
            this.discoveryStatus    = discoveryStatus;
            this.logger             = LogManager.GetLogger <TransmitStatusPacket>();
        }
 /// <summary>
 /// Returns the <see cref="XBeeDiscoveryStatus"/> in string format.
 /// </summary>
 /// <param name="source"></param>
 /// <returns>The <see cref="XBeeDiscoveryStatus"/> in string format.</returns>
 public static string ToDisplayString(this XBeeDiscoveryStatus source)
 {
     return(lookupTable[source]);
 }
 /// <summary>
 /// Gets the discovery status description.
 /// </summary>
 /// <param name="source"></param>
 /// <returns>Discovery status description.</returns>
 public static string GetDescription(this XBeeDiscoveryStatus source)
 {
     return(lookupTable[source]);
 }
 /// <summary>
 /// Gets the discovery status ID.
 /// </summary>
 /// <param name="source"></param>
 /// <returns>The discovery status ID.</returns>
 public static byte GetId(this XBeeDiscoveryStatus source)
 {
     return((byte)source);
 }