using System.Threading.Tasks; using MediaBrowser.Common.Security; namespace Emby.Server.Implementations.LiveTv.EmbyTV { public class EmbyTVRegistration : IRequiresRegistration { private readonly ISecurityManager _securityManager; public static EmbyTVRegistration Instance; public EmbyTVRegistration(ISecurityManager securityManager) { _securityManager = securityManager; Instance = this; } private bool? _isXmlTvEnabled; public Task LoadRegistrationInfoAsync() { _isXmlTvEnabled = null; return Task.FromResult(true); } public async Task EnableXmlTv() { if (!_isXmlTvEnabled.HasValue) { var info = await _securityManager.GetRegistrationStatus("xmltv").ConfigureAwait(false); _isXmlTvEnabled = info.IsValid; } return _isXmlTvEnabled.Value; } } }