GetResponse() public method

public GetResponse ( ) : PlaylistResponse
return PlaylistResponse
Example #1
0
        //Removes current playing song then adds to play history.
        private Song DequeueToHistory(PlayOperation operationType)
        {
            if (_playlist.Count > 0)
            {
                var song = _playlist.Dequeue();
                _history.AddSong(song, operationType);

                if (_playlist.Count == 1)
                {
                    PlaylistRequest request = new PlaylistRequest(
                        _status, _history, PlayOperation.PlayingLast,
                        CurrentChannel, CurrentSong);

                    var resp = request.GetResponse();

                    ExtractPlaylist(resp, false);
                }

                return(song);
            }
            else
            {
                return(null);
            }
        }
Example #2
0
        /// <summary>
        /// Indicates user unmark current song as a liked-song.
        /// </summary>
        public void Unlike()
        {
            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.Unlike, CurrentChannel,
                CurrentSong);

            request.GetResponse();
        }
Example #3
0
        /// <summary>
        /// Gets a new playlist.
        /// </summary>
        public void NewList()
        {
            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.NewList, CurrentChannel, null);

            var resp = request.GetResponse();

            ExtractPlaylist(resp, true);
        }
Example #4
0
        /// <summary>
        /// Notifies server that current song plays to end, then play next song.
        /// </summary>
        public void Next()
        {
            var song = DequeueToHistory(PlayOperation.PlaysToEnd);

            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.PlaysToEnd, CurrentChannel,
                song);

            request.GetResponse();
        }
Example #5
0
        /// <summary>
        /// Indicates do not play current song any more.
        /// </summary>
        public void PlayNoMore()
        {
            var song = DequeueToHistory(PlayOperation.Bin);

            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.Bin, CurrentChannel, song);

            var resp = request.GetResponse();

            ExtractPlaylist(resp, true);
        }
Example #6
0
        /// <summary>
        /// Switches to another channel, playlist will be updated.
        /// </summary>
        /// <param name="newChannel"></param>
        public void SwitchChannel(Channel newChannel)
        {
            var song = DequeueToHistory(PlayOperation.Skip);

            CurrentChannel = newChannel;

            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.Skip, CurrentChannel, song);

            var resp = request.GetResponse();

            ExtractPlaylist(resp, true);
        }
Example #7
0
        //Removes current playing song then adds to play history.
        private Song DequeueToHistory(PlayOperation operationType)
        {
            if (_playlist.Count > 0)
            {
                var song = _playlist.Dequeue();
                _history.AddSong(song, operationType);

                if (_playlist.Count == 1)
                {
                    PlaylistRequest request = new PlaylistRequest(
                        _status, _history, PlayOperation.PlayingLast,
                        CurrentChannel, CurrentSong);

                    var resp = request.GetResponse();

                    ExtractPlaylist(resp, false);
                }

                return song;
            }
            else
            {
                return null;
            }
        }
Example #8
0
        /// <summary>
        /// Indicates user unmark current song as a liked-song.
        /// </summary>
        public void Unlike()
        {
            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.Unlike, CurrentChannel,
                CurrentSong);

            request.GetResponse();
        }
Example #9
0
        /// <summary>
        /// Switches to another channel, playlist will be updated.
        /// </summary>
        /// <param name="newChannel"></param>
        public void SwitchChannel(Channel newChannel)
        {
            var song = DequeueToHistory(PlayOperation.Skip);

            CurrentChannel = newChannel;

            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.Skip, CurrentChannel, song);

            var resp = request.GetResponse();

            ExtractPlaylist(resp, true);
        }
Example #10
0
        /// <summary>
        /// Indicates do not play current song any more.
        /// </summary>
        public void PlayNoMore()
        {
            var song = DequeueToHistory(PlayOperation.Bin);

            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.Bin, CurrentChannel, song);

            var resp = request.GetResponse();

            ExtractPlaylist(resp, true);
        }
Example #11
0
        /// <summary>
        /// Notifies server that current song plays to end, then play next song.
        /// </summary>
        public void Next()
        {
            var song = DequeueToHistory(PlayOperation.PlaysToEnd);

            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.PlaysToEnd, CurrentChannel,
                song);

            request.GetResponse();
        }
Example #12
0
        /// <summary>
        /// Gets a new playlist.
        /// </summary>
        public void NewList()
        {
            PlaylistRequest request = new PlaylistRequest(
                _status, _history, PlayOperation.NewList, CurrentChannel, null);

            var resp = request.GetResponse();

            ExtractPlaylist(resp, true);
        }