private void AddSubscription(IServiceSubscription subscription)
 {
     subscriptions.Add(subscription);
 }
        public override void Close(ResponseListener listener)
        {
            mActiveCommands.Clear();

            if (mPlayStateSubscription != null)
            {
                mPlayStateSubscription.Unsubscribe();
                mPlayStateSubscription = null;
            }

            if (mMessageSubscription != null)
            {
                mMessageSubscription.Unsubscribe();
                mMessageSubscription = null;
            }

            Service.GetWebAppLauncher().CloseWebApp(LaunchSession, listener);
        }
 public void Unsubscribe(IServiceSubscription subscription) { }
        public override IServiceSubscription SubscribePlayState(ResponseListener listener)
        {
            if (mPlayStateSubscription == null)
                mPlayStateSubscription = new UrlServiceSubscription(null, null, null, null);

            if (!Connected)
            {

                var connectResponseListener = new ResponseListener
                (
                loadEventArg => { },
                serviceCommandError => Util.PostError(listener, serviceCommandError)
                );

                Connect(connectResponseListener);
            }

            if (!mPlayStateSubscription.GetListeners().Contains(listener))
                mPlayStateSubscription.AddListener(listener);

            return mPlayStateSubscription;
        }