public async Task <LiveTvServiceStatusInfo> GetStatusInfoAsync(CancellationToken cancellationToken) { var status = new LiveTvServiceStatusInfo(); var list = new List <LiveTvTunerInfo>(); foreach (var hostInstance in _liveTvManager.TunerHosts) { try { var tuners = await hostInstance.GetTunerInfos(cancellationToken).ConfigureAwait(false); list.AddRange(tuners); } catch (Exception ex) { _logger.ErrorException("Error getting tuners", ex); } } status.Tuners = list; status.Status = LiveTvServiceStatus.Ok; status.Version = _appHpst.ApplicationVersion.ToString(); status.IsVisible = false; return(status); }
public Task <LiveTvServiceStatusInfo> GetStatusInfoAsync(CancellationToken cancellationToken) { LiveTvServiceStatusInfo result; var configurationValidationResult = Plugin.Instance.Configuration.Validate(); var pluginVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); // Validate configuration first if (!configurationValidationResult.IsValid) { result = new LiveTvServiceStatusInfo() { HasUpdateAvailable = false, Status = LiveTvServiceStatus.Unavailable, StatusMessage = "Cannot connect to DVBViewer Recording Service - check your settings", Version = String.Format("DVBViewer Live TV Plugin V{0}", pluginVersion) }; } else { try { var serviceVersion = Plugin.TvProxy.GetStatusInfo(cancellationToken).Version(); result = new LiveTvServiceStatusInfo() { HasUpdateAvailable = false, Status = LiveTvServiceStatus.Ok, StatusMessage = "Successfully connected to DVBViewer Recording Service API", Version = String.Format("DVBViewer Live TV Plugin V{0} - {1}", pluginVersion, serviceVersion) }; } catch (Exception ex) { Plugin.Logger.Error(ex, "Exception occured getting the DVBViewer Recording Service status"); result = new LiveTvServiceStatusInfo() { HasUpdateAvailable = false, Status = LiveTvServiceStatus.Unavailable, StatusMessage = "Cannot connect to DVBViewer Recording Service - check your settings", Version = String.Format("DVBViewer Live TV Plugin V{0}", pluginVersion) }; } } return(Task.FromResult(result)); }
public LiveTvServiceStatusInfo GetInfo(Stream stream, IJsonSerializer json, ILogger logger) { logger.Info("[VDR] Start GetChannels"); var root = json.DeserializeFromStream <RootObject>(stream); logger.Info("[VDR] got Root Object"); // logger.Info(string.Format("[VDR] Display Root Object: {0}", json.SerializeToString(root))); LiveTvServiceStatusInfo StatusInfo = new LiveTvServiceStatusInfo(); if (root != null && root.version != null) { logger.Info("[VDR] Parse Channel Response"); UtilsHelper.DebugInformation(logger, string.Format("[VDR] InfoResponse: {0}", json.SerializeToString(root))); StatusInfo.Status = LiveTvServiceStatus.Ok; StatusInfo.Version = root.vdr.version; StatusInfo.Tuners = new List <LiveTvTunerInfo>(); } else { logger.Info("[VDR] Parse Channel Response failed"); logger.Info(string.Format("[VDR] InfoResponse: {0}", json.SerializeToString(root))); } return(StatusInfo); }
public Task <LiveTvServiceStatusInfo> GetStatusInfoAsync(CancellationToken cancellationToken) { LiveTvServiceStatusInfo result; var configurationValidationResult = Plugin.Instance.Configuration.Validate(); var version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); // Validate configuration first if (!configurationValidationResult.IsValid) { result = new LiveTvServiceStatusInfo() { HasUpdateAvailable = false, Status = LiveTvServiceStatus.Unavailable, StatusMessage = configurationValidationResult.Summary, Tuners = new List <LiveTvTunerInfo>(), Version = String.Format("MediaPortal Plugin: {0} - MPExtended Service: unavailable", version) }; } else { try { // Test connections to both the streaming and tv proxy var response = Plugin.StreamingProxy.GetStatusInfo(cancellationToken); response = Plugin.TvProxy.GetStatusInfo(cancellationToken); var activeCards = Plugin.TvProxy.GetActiveCards(cancellationToken); var cards = Plugin.TvProxy.GetTunerCards(cancellationToken).Where(c => c.Enabled).Select(c => { var activeDetails = activeCards.LastOrDefault(ac => ac.Id == c.Id); var tunerInfo = new LiveTvTunerInfo() { Id = c.Id.ToString(CultureInfo.InvariantCulture), Name = c.Name, }; if (activeDetails != null) { tunerInfo.ChannelId = activeDetails.ChannelId.ToString(CultureInfo.InvariantCulture); tunerInfo.ProgramName = Plugin.TvProxy.GetCurrentProgram(cancellationToken, activeDetails.ChannelId); tunerInfo.SourceType = Enum.GetName(typeof(WebCardType), activeDetails.Type); tunerInfo.Clients = new List <string>() { activeDetails.User.Name }; tunerInfo.Status = activeDetails.IsRecording ? LiveTvTunerStatus.RecordingTv : activeDetails.IsTunerLocked ? LiveTvTunerStatus.LiveTv : LiveTvTunerStatus.Available; } return(tunerInfo); }).ToList(); result = new LiveTvServiceStatusInfo() { HasUpdateAvailable = (response.ServiceVersion != "0.6.0.4-Emby") ? true : false, Status = LiveTvServiceStatus.Ok, StatusMessage = String.Format("MediaPortal Plugin: {0} - MPExtended Service: {1}", version, response.ServiceVersion), Tuners = cards, Version = String.Format("MediaPortal Plugin: {0} - MPExtended Service: {1}", version, response.ServiceVersion) }; } catch (Exception ex) { Plugin.Logger.Error(ex, "Exception occured getting the MPExtended Service status"); result = new LiveTvServiceStatusInfo() { HasUpdateAvailable = false, Status = LiveTvServiceStatus.Unavailable, StatusMessage = "Unable to establish a connection with MPExtended - check your settings", Tuners = new List <LiveTvTunerInfo>(), Version = version }; } } return(Task.FromResult(result)); }