예제 #1
0
        public async Task <Event> ParseNotification(string notification)
        {
            try
            {
                notification = SonosUtils.CleanSonosNotification(notification);

                var settings   = new XmlReaderSettings();
                var obj        = new Event();
                var serializer = new XmlSerializer(typeof(Event));
                obj = (Event)serializer.Deserialize(new StringReader(notification));

                try
                {
                    obj.InstanceID.CurrentTrackMetaData.TrackMeta = await GetTrackMetaData(obj.InstanceID.CurrentTrackMetaData.Val);
                }
                catch (Exception e) { }
                try
                {
                    obj.InstanceID.NextTrackMetaData.TrackMeta = await GetTrackMetaData(obj.InstanceID.NextTrackMetaData.Val);
                }
                catch (Exception e) { }

                OnNotificationEvent(obj);

                return(obj);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
예제 #2
0
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
        public async Task <Event> ParseNotification(string notification)
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
        {
            try
            {
                notification = SonosUtils.CleanSonosNotification(notification);

                var settings   = new XmlReaderSettings();
                var obj        = new Event();
                var serializer = new XmlSerializer(typeof(Event));
                obj = (Event)serializer.Deserialize(new StringReader(notification));

                try
                {
                    obj.InstanceID.CurrentTrackMetaData.TrackMeta = GetTrackMetaData(obj.InstanceID.CurrentTrackMetaData.Val);
                }
                catch (Exception e) { e.ToString(); }
                try
                {
                    obj.InstanceID.NextTrackMetaData.TrackMeta = GetTrackMetaData(obj.InstanceID.NextTrackMetaData.Val);
                }
                catch (Exception e) { e.ToString(); }

                OnNotificationEvent(obj);

                return(obj);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                return(null);
            }
        }