private async void Check() { if (OnNewNotification == null) { return; } IPListenerEventData eventData = null; try { var eventType = _ipChecker.Check() ? EventType.On : EventType.Off; eventData = new IPListenerEventData { EventType = eventType }; } catch (Exception ex) { eventData = new IPListenerEventData { EventType = EventType.Error, ErrorMessage = ex.Message }; } finally { if (_lastEventData == null || (eventData != null && _lastEventData.EventType != eventData.EventType)) { _lastEventData = eventData; Notify(eventData); } } }
private void Notify(IPListenerEventData eventData) { if (OnNewNotification == null) { return; } OnNewNotification(this, new IPNotificationEventArgs(eventData)); }
public IPNotificationEventArgs(IPListenerEventData eventData) { IPListenerEventData = eventData; }
public void StopListener() { _lastEventData = null; _timer.Stop(); }