public void Dispose() { if (_tvProvider != null) { _tvProvider.DeInit(); _tvProvider = null; } }
public void Shutdown() { ITvProvider tvProvider = ServiceRegistration.Get <ITvProvider>(false); if (tvProvider != null) { tvProvider.DeInit(); } }
private void DeInit() { ITvProvider provider = _tvProvider; if (provider != null) { provider.DeInit(); } }
public void Initialize() { if (_tvProvider != null) return; _tvProvider = ServiceRegistration.Get<ITvProvider>(); if (_tvProvider != null) _tvProvider.Init(); }
public void Initialize() { if (_tvProvider != null) { return; } _tvProvider = ServiceRegistration.Get <ITvProvider>(); if (_tvProvider != null) { _tvProvider.Init(); } }
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); } }
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); } }
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; } } } }
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); }
private void DeInit () { ITvProvider provider = _tvProvider; _tvProvider = null; if (provider != null) provider.DeInit(); }
// 若使用容器,则在构造函数里既可以实现注入,不用手工来写注入方法。 public void InjectTv(ITvProvider tvProvider) { _tvProvider = tvProvider; }