コード例 #1
0
 public void Dispose()
 {
     if (_tvProvider != null)
     {
         _tvProvider.DeInit();
         _tvProvider = null;
     }
 }
コード例 #2
0
        public void Shutdown()
        {
            ITvProvider tvProvider = ServiceRegistration.Get <ITvProvider>(false);

            if (tvProvider != null)
            {
                tvProvider.DeInit();
            }
        }
コード例 #3
0
        private void DeInit()
        {
            ITvProvider provider = _tvProvider;

            if (provider != null)
            {
                provider.DeInit();
            }
        }
コード例 #4
0
    public void Initialize()
    {
      if (_tvProvider != null)
        return;

      _tvProvider = ServiceRegistration.Get<ITvProvider>();
      if (_tvProvider != null)
        _tvProvider.Init();
    }
コード例 #5
0
        public void Initialize()
        {
            if (_tvProvider != null)
            {
                return;
            }

            _tvProvider = ServiceRegistration.Get <ITvProvider>();
            if (_tvProvider != null)
            {
                _tvProvider.Init();
            }
        }
コード例 #6
0
    public void Initialize()
    {
      if (_tvProvider != null)
        return;

      _tvProvider = ServiceRegistration.Get<ITvProvider>(false);
      if (_tvProvider != null)
        _tvProvider.Init();
      else
      {
        string message = ServiceRegistration.Get<ILocalization>().ToString(RES_ERROR_NO_TVPROVIDER);
        ServiceRegistration.Get<ILogger>().Warn("SlimTvHandler: {0}", message);
        ServiceRegistration.Get<INotificationService>().EnqueueNotification(NotificationType.Error, "Error", message, true);
      }
    }
コード例 #7
0
        public void Initialize()
        {
            if (_tvProvider != null)
            {
                return;
            }

            _tvProvider = ServiceRegistration.Get <ITvProvider>(false);
            if (_tvProvider != null)
            {
                _tvProvider.Init();
            }
            else
            {
                string message = ServiceRegistration.Get <ILocalization>().ToString(RES_ERROR_NO_TVPROVIDER);
                ServiceRegistration.Get <ILogger>().Warn("SlimTvHandler: {0}", message);
                ServiceRegistration.Get <INotificationService>().EnqueueNotification(NotificationType.Error, "Error", message, true);
            }
        }
コード例 #8
0
        void OnMessageReceived(AsynchronousMessageQueue queue, SystemMessage message)
        {
            if (message.ChannelName == ServerConnectionMessaging.CHANNEL)
            {
                ServerConnectionMessaging.MessageType type = (ServerConnectionMessaging.MessageType)message.MessageType;
                switch (type)
                {
                case ServerConnectionMessaging.MessageType.HomeServerAttached:
                    RegisterService();
                    break;

                case ServerConnectionMessaging.MessageType.HomeServerDisconnected:
                case ServerConnectionMessaging.MessageType.HomeServerDetached:
                    UnregisterService();
                    break;
                }
            }
            if (message.ChannelName == SystemMessaging.CHANNEL)
            {
                SystemMessaging.MessageType messageType = (SystemMessaging.MessageType)message.MessageType;
                if (messageType == SystemMessaging.MessageType.SystemStateChanged)
                {
                    SystemState state = (SystemState)message.MessageData[SystemMessaging.NEW_STATE];
                    switch (state)
                    {
                    case SystemState.Suspending:
                        ITvProvider tvProvider = ServiceRegistration.Get <ITvProvider>(false);
                        if (tvProvider != null)
                        {
                            tvProvider.DeInit();
                        }
                        break;

                    case SystemState.ShuttingDown:
                        // Called to make sure that timeshifting on server is stopped on shutdown.
                        UnregisterService();
                        break;
                    }
                }
            }
        }
コード例 #9
0
        protected bool TryInitTvHandler()
        {
            if (_tvHandler != null)
            {
                return(true);
            }
            ITvProvider provider = ServiceRegistration.Get <ITvProvider>(false);

            if (provider == null)
            {
                return(false);
            }
            ITvHandler tvHandler = ServiceRegistration.Get <ITvHandler>();

            tvHandler.Initialize();
            if (tvHandler.ChannelAndGroupInfo == null)
            {
                return(false);
            }
            _tvHandler = tvHandler;
            return(true);
        }
コード例 #10
0
 private void DeInit ()
 {
   ITvProvider provider = _tvProvider;
   _tvProvider = null;
   if (provider != null)
     provider.DeInit();
 }
コード例 #11
0
 public void Dispose()
 {
   if (_tvProvider != null)
   {
     _tvProvider.DeInit();
     _tvProvider = null;
   }
 }
コード例 #12
0
 // 若使用容器,则在构造函数里既可以实现注入,不用手工来写注入方法。
 public void InjectTv(ITvProvider tvProvider)
 {
     _tvProvider = tvProvider;
 }