Beispiel #1
0
        public XBeeResponse[] EndReceive(int timeout = -1)
        {
            if (_finished)
                throw new InvalidOperationException("EndReceive can be called only once!");

            try
            {
                return _responseListener.GetPackets(timeout);
            }
            finally
            {
                _xbee.RemovePacketListener(_responseListener);
                _responseListener = null;
                _xbee = null;
                _finished = true;
            }
        }
Beispiel #2
0
 internal AsyncSendResult(XBeeApi xbee, IPacketListener responseListener)
 {
     _xbee = xbee;
     _responseListener = responseListener;
 }
Beispiel #3
0
        public void AddPacketListener(IPacketListener listener)
        {
            lock (_packetListeners)
                _packetListeners.Add(listener);

            Logger.LowDebug("New listener added to parser");
        }
Beispiel #4
0
        public void RemovePacketListener(IPacketListener listener)
        {
            lock (_packetListeners)
                _packetListeners.Remove(listener);

            Logger.LowDebug("Parser removed finished listener");
        }
Beispiel #5
0
 public void RemovePacketListener(IPacketListener listener)
 {
     _parser.RemovePacketListener(listener);
 }
Beispiel #6
0
 /// <summary>装载包处理器
 /// </summary>
 /// <param name="listener">The listener.</param>
 public void InstallProcessor(IPacketListener listener)
 {
     listeners.Add(listener);
 }
Beispiel #7
0
        public void EnableModemStatusEvent()
        {
            if (_modemStatusEventEnabled)
                return;

            if (_modemStatusListener == null)
                _modemStatusListener = new PacketListener(new PacketTypeFilter(typeof(ModemStatusResponse)), -1, OnModemStatusReceived);

            AddPacketListener(_modemStatusListener);
            _modemStatusEventEnabled = true;
        }
Beispiel #8
0
        public void EnableDataReceivedEvent()
        {
            if (_dataReceivedEventEnabled)
                return;

            if (_dataReceivedListener == null)
                _dataReceivedListener = new PacketListener(new DataPacketFilter(), -1, OnDataReceived);

            AddPacketListener(_dataReceivedListener);
            _dataReceivedEventEnabled = true;
        }
Beispiel #9
0
        public void EnableAddressLookup()
        {
            if (_addressLookupEnabled)
                return;

            if (AddressLookup == null)
                AddressLookup = new Hashtable();

            if (_addressLookupListener == null)
                _addressLookupListener = new PacketListener(new AddressPacketFilter(), -1, OnAddressReceived);

            AddPacketListener(_addressLookupListener);
            _addressLookupEnabled = true;
        }
Beispiel #10
0
 public void AddPacketListener(IPacketListener listener)
 {
     _parser.AddPacketListener(listener);
 }
 /// <summary>
 ///   Registers a new packet listener. The packet listener will be called when a packet should be redirected from one end point to the other
 /// </summary>
 /// <param name="listener"> The packet listener which should be called on incoming packets </param>
 public void RegisterPacketListener(IPacketListener listener)
 {
     _packetListener.Add(listener);
 }