Beispiel #1
0
        private void Notify(DenonListenerEventData eventData)
        {
            if (OnNewNotification == null)
            {
                return;
            }

            OnNewNotification(this, new DenonNotificationEventArgs(eventData));
        }
Beispiel #2
0
        private void Check()
        {
            if (OnNewNotification == null)
            {
                return;
            }

            var eventData = GetStatus();

            if (_lastEventData == null || (eventData != null && _lastEventData.EventType != eventData.EventType))
            {
                _lastEventData = eventData;
                LastState      = eventData;
                Notify(eventData);
            }
        }
Beispiel #3
0
        private DenonListenerEventData CreateEventDataFromItem(Item item)
        {
            var eventData = new DenonListenerEventData();

            switch (item.InputFuncSelectMain.Value)
            {
            case "BD":
                eventData.EventType = EventType.SourceBD;
                break;

            case "SAT/CBL":
                eventData.EventType = EventType.SourceCableSat;
                break;

            case "GAME":
                eventData.EventType = EventType.SourceXbox;
                break;

            default:
                eventData.EventType = EventType.SourceOther;
                break;
            }
            return(eventData);
        }
Beispiel #4
0
        public DenonListenerEventData GetStatus()
        {
            DenonListenerEventData eventData = null;

            try
            {
                eventData = CreateEventDataFromItem(_denonWebChecker.Check());
            }
            catch (WebException ex)
            {
                if (ex.Status == WebExceptionStatus.ConnectFailure || ex.Status == WebExceptionStatus.Timeout)
                {
                    eventData = new DenonListenerEventData
                    {
                        EventType = EventType.Off
                    };
                }
                else
                {
                    eventData = new DenonListenerEventData
                    {
                        EventType    = EventType.Error,
                        ErrorMessage = ex.Message
                    };
                }
            }
            catch (Exception ex)
            {
                eventData = new DenonListenerEventData
                {
                    EventType    = EventType.Error,
                    ErrorMessage = ex.Message
                };
            }
            return(eventData);
        }
Beispiel #5
0
 public void StopListener()
 {
     _lastEventData = null;
     _timer.Stop();
 }