public ControlHandler(
            ILogger logger,
            ILibraryManager libraryManager,
            DeviceProfile profile,
            string serverAddress,
            string accessToken,
            IImageProcessor imageProcessor,
            IUserDataManager userDataManager,
            User user, int systemUpdateId,
            IServerConfigurationManager config,
            ILocalizationManager localization,
            IMediaSourceManager mediaSourceManager,
            IUserViewManager userViewManager,
            IMediaEncoder mediaEncoder,
            ITVSeriesManager tvSeriesManager)
            : base(config, logger)
        {
            _libraryManager  = libraryManager;
            _userDataManager = userDataManager;
            _user            = user;
            _systemUpdateId  = systemUpdateId;
            _userViewManager = userViewManager;
            _tvSeriesManager = tvSeriesManager;
            _profile         = profile;
            _config          = config;

            _didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, accessToken, userDataManager, localization, mediaSourceManager, _logger, mediaEncoder);
        }
 public ContentDirectoryService(
     IDlnaManager dlna,
     IUserDataManager userDataManager,
     IImageProcessor imageProcessor,
     ILibraryManager libraryManager,
     IServerConfigurationManager config,
     IUserManager userManager,
     ILogger <ContentDirectoryService> logger,
     IHttpClientFactory httpClient,
     ILocalizationManager localization,
     IMediaSourceManager mediaSourceManager,
     IUserViewManager userViewManager,
     IMediaEncoder mediaEncoder,
     ITVSeriesManager tvSeriesManager)
     : base(logger, httpClient)
 {
     _dlna               = dlna;
     _userDataManager    = userDataManager;
     _imageProcessor     = imageProcessor;
     _libraryManager     = libraryManager;
     _config             = config;
     _userManager        = userManager;
     _localization       = localization;
     _mediaSourceManager = mediaSourceManager;
     _userViewManager    = userViewManager;
     _mediaEncoder       = mediaEncoder;
     _tvSeriesManager    = tvSeriesManager;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ContentDirectoryService"/> class.
 /// </summary>
 /// <param name="profileManager">The <see cref="IProfileManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="userDataManager">The <see cref="IUserDataManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="imageProcessor">The <see cref="IImageProcessor"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="libraryManager">The <see cref="ILibraryManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="userManager">The <see cref="IUserManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="logger">The <see cref="ILogger"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="localization">The <see cref="ILocalizationManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="mediaSourceManager">The <see cref="IMediaSourceManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="userViewManager">The <see cref="IUserViewManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="mediaEncoder">The <see cref="IMediaEncoder"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 /// <param name="tvSeriesManager">The <see cref="ITVSeriesManager"/> to use in the <see cref="ContentDirectoryService"/> instance.</param>
 public ContentDirectoryService(
     IDeviceProfileManager profileManager,
     IUserDataManager userDataManager,
     IImageProcessor imageProcessor,
     ILibraryManager libraryManager,
     IUserManager userManager,
     ILogger logger,
     ILocalizationManager localization,
     IMediaSourceManager mediaSourceManager,
     IUserViewManager userViewManager,
     IMediaEncoder mediaEncoder,
     ITVSeriesManager tvSeriesManager)
 {
     _profileManager     = profileManager;
     _logger             = logger;
     _userDataManager    = userDataManager;
     _imageProcessor     = imageProcessor;
     _libraryManager     = libraryManager;
     _userManager        = userManager;
     _localization       = localization;
     _mediaSourceManager = mediaSourceManager;
     _userViewManager    = userViewManager;
     _mediaEncoder       = mediaEncoder;
     _tvSeriesManager    = tvSeriesManager;
 }
Exemple #4
0
        public DlnaEntryPoint(IServerConfigurationManager config,
                              ILoggerFactory loggerFactory,
                              IServerApplicationHost appHost,
                              ISessionManager sessionManager,
                              IHttpClient httpClient,
                              ILibraryManager libraryManager,
                              IUserManager userManager,
                              IDlnaManager dlnaManager,
                              IImageProcessor imageProcessor,
                              IUserDataManager userDataManager,
                              ILocalizationManager localizationManager,
                              IMediaSourceManager mediaSourceManager,
                              IDeviceDiscovery deviceDiscovery,
                              IMediaEncoder mediaEncoder,
                              ISocketFactory socketFactory,
                              IEnvironmentInfo environmentInfo,
                              INetworkManager networkManager,
                              IUserViewManager userViewManager,
                              IXmlReaderSettingsFactory xmlReaderSettingsFactory,
                              ITVSeriesManager tvSeriesManager)
        {
            _config             = config;
            _appHost            = appHost;
            _sessionManager     = sessionManager;
            _httpClient         = httpClient;
            _libraryManager     = libraryManager;
            _userManager        = userManager;
            _dlnaManager        = dlnaManager;
            _imageProcessor     = imageProcessor;
            _userDataManager    = userDataManager;
            _localization       = localizationManager;
            _mediaSourceManager = mediaSourceManager;
            _deviceDiscovery    = deviceDiscovery;
            _mediaEncoder       = mediaEncoder;
            _socketFactory      = socketFactory;
            _environmentInfo    = environmentInfo;
            _networkManager     = networkManager;
            _logger             = loggerFactory.CreateLogger("Dlna");

            ContentDirectory = new ContentDirectory.ContentDirectory(dlnaManager,
                                                                     userDataManager,
                                                                     imageProcessor,
                                                                     libraryManager,
                                                                     config,
                                                                     userManager,
                                                                     _logger,
                                                                     httpClient,
                                                                     localizationManager,
                                                                     mediaSourceManager,
                                                                     userViewManager,
                                                                     mediaEncoder,
                                                                     xmlReaderSettingsFactory,
                                                                     tvSeriesManager);

            ConnectionManager = new ConnectionManager.ConnectionManager(dlnaManager, config, _logger, httpClient, xmlReaderSettingsFactory);

            MediaReceiverRegistrar = new MediaReceiverRegistrar.MediaReceiverRegistrar(_logger, httpClient, config, xmlReaderSettingsFactory);
            Current = this;
        }
Exemple #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvShowsService" /> class.
 /// </summary>
 /// <param name="userManager">The user manager.</param>
 /// <param name="userDataManager">The user data repository.</param>
 /// <param name="libraryManager">The library manager.</param>
 public TvShowsService(IUserManager userManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService, ITVSeriesManager tvSeriesManager)
 {
     _userManager     = userManager;
     _userDataManager = userDataManager;
     _libraryManager  = libraryManager;
     _itemRepo        = itemRepo;
     _dtoService      = dtoService;
     _tvSeriesManager = tvSeriesManager;
 }
 public SyncJobProcessor(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder)
 {
     _libraryManager  = libraryManager;
     _syncRepo        = syncRepo;
     _syncManager     = syncManager;
     _logger          = logger;
     _userManager     = userManager;
     _tvSeriesManager = tvSeriesManager;
     _mediaEncoder    = mediaEncoder;
 }
Exemple #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvShowsService" /> class.
 /// </summary>
 /// <param name="userManager">The user manager.</param>
 /// <param name="userDataManager">The user data repository.</param>
 /// <param name="libraryManager">The library manager.</param>
 public TvShowsService(IUserManager userManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService, ITVSeriesManager tvSeriesManager, IAuthorizationContext authContext)
 {
     _userManager     = userManager;
     _userDataManager = userDataManager;
     _libraryManager  = libraryManager;
     _itemRepo        = itemRepo;
     _dtoService      = dtoService;
     _tvSeriesManager = tvSeriesManager;
     _authContext     = authContext;
 }
Exemple #8
0
 public UserViewBuilder(IUserViewManager userViewManager, ILibraryManager libraryManager, ILogger logger, IUserDataManager userDataManager, ITVSeriesManager tvSeriesManager, IServerConfigurationManager config, IPlaylistManager playlistManager)
 {
     _userViewManager = userViewManager;
     _libraryManager  = libraryManager;
     _logger          = logger;
     _userDataManager = userDataManager;
     _tvSeriesManager = tvSeriesManager;
     _config          = config;
     _playlistManager = playlistManager;
 }
Exemple #9
0
 public UserViewBuilder(IUserViewManager userViewManager, ILiveTvManager liveTvManager, IChannelManager channelManager, ILibraryManager libraryManager, ILogger logger, IUserDataManager userDataManager, ITVSeriesManager tvSeriesManager)
 {
     _userViewManager = userViewManager;
     _liveTvManager   = liveTvManager;
     _channelManager  = channelManager;
     _libraryManager  = libraryManager;
     _logger          = logger;
     _userDataManager = userDataManager;
     _tvSeriesManager = tvSeriesManager;
 }
Exemple #10
0
 // ReSharper disable once TooManyDependencies
 public ServerDataQuery(ILibraryManager libMan, ITVSeriesManager tvMan, ISessionManager sesMan, IServerApplicationHost host, IUserManager userManager, IDtoService dtoService) : base(libMan, userManager)
 {
     Host            = host;
     LibraryManager  = libMan;
     TvSeriesManager = tvMan;
     SessionManager  = sesMan;
     UserManager     = userManager;
     Instance        = this;
     DtoService      = dtoService;
 }
 public SyncJobProcessor(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder)
 {
     _libraryManager = libraryManager;
     _syncRepo = syncRepo;
     _syncManager = syncManager;
     _logger = logger;
     _userManager = userManager;
     _tvSeriesManager = tvSeriesManager;
     _mediaEncoder = mediaEncoder;
 }
Exemple #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvShowsController"/> class.
 /// </summary>
 /// <param name="userManager">Instance of the <see cref="IUserManager"/> interface.</param>
 /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
 /// <param name="dtoService">Instance of the <see cref="IDtoService"/> interface.</param>
 /// <param name="tvSeriesManager">Instance of the <see cref="ITVSeriesManager"/> interface.</param>
 public TvShowsController(
     IUserManager userManager,
     ILibraryManager libraryManager,
     IDtoService dtoService,
     ITVSeriesManager tvSeriesManager)
 {
     _userManager     = userManager;
     _libraryManager  = libraryManager;
     _dtoService      = dtoService;
     _tvSeriesManager = tvSeriesManager;
 }
Exemple #13
0
 public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func <IDtoService> dtoService, IApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func <IMediaEncoder> mediaEncoder)
 {
     _libraryManager  = libraryManager;
     _repo            = repo;
     _imageProcessor  = imageProcessor;
     _logger          = logger;
     _userManager     = userManager;
     _dtoService      = dtoService;
     _appHost         = appHost;
     _tvSeriesManager = tvSeriesManager;
     _mediaEncoder    = mediaEncoder;
 }
Exemple #14
0
 public SyncScheduledTask(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder, ISubtitleEncoder subtitleEncoder, IConfigurationManager config, IFileSystem fileSystem)
 {
     _libraryManager  = libraryManager;
     _syncRepo        = syncRepo;
     _syncManager     = syncManager;
     _logger          = logger;
     _userManager     = userManager;
     _tvSeriesManager = tvSeriesManager;
     _mediaEncoder    = mediaEncoder;
     _subtitleEncoder = subtitleEncoder;
     _config          = config;
     _fileSystem      = fileSystem;
 }
Exemple #15
0
 public UserViewBuilder(
     IUserViewManager userViewManager,
     ILibraryManager libraryManager,
     ILogger <BaseItem> logger,
     IUserDataManager userDataManager,
     ITVSeriesManager tvSeriesManager)
 {
     _userViewManager = userViewManager;
     _libraryManager  = libraryManager;
     _logger          = logger;
     _userDataManager = userDataManager;
     _tvSeriesManager = tvSeriesManager;
 }
 public SyncConvertScheduledTask(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder, ISubtitleEncoder subtitleEncoder, IConfigurationManager config, IFileSystem fileSystem, IMediaSourceManager mediaSourceManager)
 {
     _libraryManager = libraryManager;
     _syncRepo = syncRepo;
     _syncManager = syncManager;
     _logger = logger;
     _userManager = userManager;
     _tvSeriesManager = tvSeriesManager;
     _mediaEncoder = mediaEncoder;
     _subtitleEncoder = subtitleEncoder;
     _config = config;
     _fileSystem = fileSystem;
     _mediaSourceManager = mediaSourceManager;
 }
Exemple #17
0
 public SyncJobProcessor(ILibraryManager libraryManager, ISyncRepository syncRepo, SyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder, ISubtitleEncoder subtitleEncoder, IConfigurationManager config, IFileSystem fileSystem, IMediaSourceManager mediaSourceManager)
 {
     _libraryManager     = libraryManager;
     _syncRepo           = syncRepo;
     _syncManager        = syncManager;
     _logger             = logger;
     _userManager        = userManager;
     _tvSeriesManager    = tvSeriesManager;
     _mediaEncoder       = mediaEncoder;
     _subtitleEncoder    = subtitleEncoder;
     _config             = config;
     _fileSystem         = fileSystem;
     _mediaSourceManager = mediaSourceManager;
 }
Exemple #18
0
        public VeraHomeAutomationServerEntryPoint(IDeviceManager dM, ISessionManager sM, IJsonSerializer jSon, IHttpClient http, ITVSeriesManager tvMan, IUserManager userMan)
        {
            Instance        = this;
            SessionManager  = sM;
            JSonSerializer  = jSon;
            HttpClient      = http;
            DeviceManager   = dM;
            TvSeriesManager = tvMan;
            UserManager     = userMan;

            Plugin.Instance.UpdateConfiguration(Plugin.Instance.Configuration);

            Setup();
        }
Exemple #19
0
 public UserViewBuilder(
     IUserViewManager userViewManager,
     ILibraryManager libraryManager,
     ILogger <BaseItem> logger,
     IUserDataManager userDataManager,
     ITVSeriesManager tvSeriesManager,
     IServerConfigurationManager config)
 {
     _userViewManager = userViewManager;
     _libraryManager  = libraryManager;
     _logger          = logger;
     _userDataManager = userDataManager;
     _tvSeriesManager = tvSeriesManager;
     _config          = config;
 }
Exemple #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LibraryService" /> class.
 /// </summary>
 public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager,
                       IDtoService dtoService, IUserDataManager userDataManager, IAuthorizationContext authContext, IActivityManager activityManager, ILocalizationManager localization, ILiveTvManager liveTv, ITVSeriesManager tvManager, ILibraryMonitor libraryMonitor, IFileSystem fileSystem)
 {
     _itemRepo        = itemRepo;
     _libraryManager  = libraryManager;
     _userManager     = userManager;
     _dtoService      = dtoService;
     _userDataManager = userDataManager;
     _authContext     = authContext;
     _activityManager = activityManager;
     _localization    = localization;
     _liveTv          = liveTv;
     _tvManager       = tvManager;
     _libraryMonitor  = libraryMonitor;
     _fileSystem      = fileSystem;
 }
Exemple #21
0
 public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func <IDtoService> dtoService, IApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func <IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func <ISubtitleEncoder> subtitleEncoder, IConfigurationManager config, IUserDataManager userDataManager)
 {
     _libraryManager  = libraryManager;
     _repo            = repo;
     _imageProcessor  = imageProcessor;
     _logger          = logger;
     _userManager     = userManager;
     _dtoService      = dtoService;
     _appHost         = appHost;
     _tvSeriesManager = tvSeriesManager;
     _mediaEncoder    = mediaEncoder;
     _fileSystem      = fileSystem;
     _subtitleEncoder = subtitleEncoder;
     _config          = config;
     _userDataManager = userDataManager;
 }
Exemple #22
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvShowsService" /> class.
 /// </summary>
 /// <param name="userManager">The user manager.</param>
 /// <param name="userDataManager">The user data repository.</param>
 /// <param name="libraryManager">The library manager.</param>
 public TvShowsService(
     ILogger <TvShowsService> logger,
     IServerConfigurationManager serverConfigurationManager,
     IHttpResultFactory httpResultFactory,
     IUserManager userManager,
     ILibraryManager libraryManager,
     IDtoService dtoService,
     ITVSeriesManager tvSeriesManager,
     IAuthorizationContext authContext)
     : base(logger, serverConfigurationManager, httpResultFactory)
 {
     _userManager     = userManager;
     _libraryManager  = libraryManager;
     _dtoService      = dtoService;
     _tvSeriesManager = tvSeriesManager;
     _authContext     = authContext;
 }
Exemple #23
0
 public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func<IDtoService> dtoService, IServerApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func<IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func<ISubtitleEncoder> subtitleEncoder, IConfigurationManager config, IUserDataManager userDataManager, Func<IMediaSourceManager> mediaSourceManager, IJsonSerializer json, ITaskManager taskManager)
 {
     _libraryManager = libraryManager;
     _repo = repo;
     _imageProcessor = imageProcessor;
     _logger = logger;
     _userManager = userManager;
     _dtoService = dtoService;
     _appHost = appHost;
     _tvSeriesManager = tvSeriesManager;
     _mediaEncoder = mediaEncoder;
     _fileSystem = fileSystem;
     _subtitleEncoder = subtitleEncoder;
     _config = config;
     _userDataManager = userDataManager;
     _mediaSourceManager = mediaSourceManager;
     _json = json;
     _taskManager = taskManager;
 }
Exemple #24
0
 public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func <IDtoService> dtoService, IServerApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func <IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func <ISubtitleEncoder> subtitleEncoder, IConfigurationManager config, IUserDataManager userDataManager, Func <IMediaSourceManager> mediaSourceManager, IJsonSerializer json, ITaskManager taskManager, IMemoryStreamFactory memoryStreamProvider)
 {
     _libraryManager       = libraryManager;
     _repo                 = repo;
     _imageProcessor       = imageProcessor;
     _logger               = logger;
     _userManager          = userManager;
     _dtoService           = dtoService;
     _appHost              = appHost;
     _tvSeriesManager      = tvSeriesManager;
     _mediaEncoder         = mediaEncoder;
     _fileSystem           = fileSystem;
     _subtitleEncoder      = subtitleEncoder;
     _config               = config;
     _userDataManager      = userDataManager;
     _mediaSourceManager   = mediaSourceManager;
     _json                 = json;
     _taskManager          = taskManager;
     _memoryStreamProvider = memoryStreamProvider;
 }
Exemple #25
0
 public ContentDirectory(IDlnaManager dlna,
                         IUserDataManager userDataManager,
                         IImageProcessor imageProcessor,
                         ILibraryManager libraryManager,
                         IServerConfigurationManager config,
                         IUserManager userManager,
                         ILogger logger,
                         IHttpClient httpClient, ILocalizationManager localization, IChannelManager channelManager, IMediaSourceManager mediaSourceManager, IUserViewManager userViewManager, Func <IMediaEncoder> mediaEncoder, IXmlReaderSettingsFactory xmlReaderSettingsFactory, ITVSeriesManager tvSeriesManager)
     : base(logger, httpClient)
 {
     _dlna                    = dlna;
     _userDataManager         = userDataManager;
     _imageProcessor          = imageProcessor;
     _libraryManager          = libraryManager;
     _config                  = config;
     _userManager             = userManager;
     _localization            = localization;
     _channelManager          = channelManager;
     _mediaSourceManager      = mediaSourceManager;
     _userViewManager         = userViewManager;
     _mediaEncoder            = mediaEncoder;
     XmlReaderSettingsFactory = xmlReaderSettingsFactory;
     _tvSeriesManager         = tvSeriesManager;
 }
Exemple #26
0
        public DlnaEntryPoint(
            IServerConfigurationManager config,
            ILoggerFactory loggerFactory,
            IServerApplicationHost appHost,
            ISessionManager sessionManager,
            IHttpClientFactory httpClientFactory,
            ILibraryManager libraryManager,
            IUserManager userManager,
            IDlnaManager dlnaManager,
            IImageProcessor imageProcessor,
            IUserDataManager userDataManager,
            ILocalizationManager localizationManager,
            IMediaSourceManager mediaSourceManager,
            IDeviceDiscovery deviceDiscovery,
            IMediaEncoder mediaEncoder,
            ISocketFactory socketFactory,
            INetworkManager networkManager,
            IUserViewManager userViewManager,
            ITVSeriesManager tvSeriesManager)
        {
            _config             = config;
            _appHost            = appHost;
            _sessionManager     = sessionManager;
            _httpClientFactory  = httpClientFactory;
            _libraryManager     = libraryManager;
            _userManager        = userManager;
            _dlnaManager        = dlnaManager;
            _imageProcessor     = imageProcessor;
            _userDataManager    = userDataManager;
            _localization       = localizationManager;
            _mediaSourceManager = mediaSourceManager;
            _deviceDiscovery    = deviceDiscovery;
            _mediaEncoder       = mediaEncoder;
            _socketFactory      = socketFactory;
            _networkManager     = networkManager;
            _logger             = loggerFactory.CreateLogger <DlnaEntryPoint>();

            ContentDirectory = new ContentDirectory.ContentDirectoryService(
                dlnaManager,
                userDataManager,
                imageProcessor,
                libraryManager,
                config,
                userManager,
                loggerFactory.CreateLogger <ContentDirectory.ContentDirectoryService>(),
                httpClientFactory,
                localizationManager,
                mediaSourceManager,
                userViewManager,
                mediaEncoder,
                tvSeriesManager);

            ConnectionManager = new ConnectionManager.ConnectionManagerService(
                dlnaManager,
                config,
                loggerFactory.CreateLogger <ConnectionManager.ConnectionManagerService>(),
                httpClientFactory);

            MediaReceiverRegistrar = new MediaReceiverRegistrar.MediaReceiverRegistrarService(
                loggerFactory.CreateLogger <MediaReceiverRegistrar.MediaReceiverRegistrarService>(),
                httpClientFactory,
                config);
            Current = this;

            var netConfig = config.GetConfiguration <NetworkConfiguration>(NetworkConfigurationStore.StoreKey);

            _disabled = appHost.ListenWithHttps && netConfig.RequireHttps;

            if (_disabled && _config.GetDlnaConfiguration().EnableServer)
            {
                _logger.LogError("The DLNA specification does not support HTTPS.");
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DlnaServerManager"/> class.
        /// </summary>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/> instance.</param>
        /// <param name="appHost">The <see cref="IServerApplicationHost"/> instance.</param>
        /// <param name="libraryManager">The <see cref="ILibraryManager"/> instance.</param>
        /// <param name="userManager">The <see cref="IUserManager"/> instance.</param>
        /// <param name="profileManager">The <see cref="IProfileManager"/> instance.</param>
        /// <param name="imageProcessor">The <see cref="IImageProcessor"/> instance.</param>
        /// <param name="userDataManager">The <see cref="IUserDataManager"/> instance.</param>
        /// <param name="localizationManager">The <see cref="ILocalizationManager"/> instance.</param>
        /// <param name="mediaSourceManager">The <see cref="IMediaSourceManager"/> instance.</param>
        /// <param name="mediaEncoder">The <see cref="IMediaEncoder"/> instance.</param>
        /// <param name="networkManager">The <see cref="INetworkManager"/> instance.</param>
        /// <param name="userViewManager">The <see cref="IUserViewManager"/> instance.</param>
        /// <param name="tvSeriesManager">The <see cref="ITVSeriesManager"/> instance.</param>
        /// <param name="configurationManager">The <see cref="IConfigurationManager"/> instance.</param>
        /// <param name="httpClientFactory">The <see cref="IHttpClientFactory"/> instance.</param>
        /// <param name="xmlSerializer">The <see cref="IXmlSerializer"/> instance.</param>
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. :-> ServerString
#pragma warning disable CA1062 // Validate arguments of public methods. -> Created by DI.

        public DlnaServerManager(
            ILoggerFactory loggerFactory,
            IServerApplicationHost appHost,
            ILibraryManager libraryManager,
            IUserManager userManager,
            IDeviceProfileManager profileManager,
            IImageProcessor imageProcessor,
            IUserDataManager userDataManager,
            ILocalizationManager localizationManager,
            IMediaSourceManager mediaSourceManager,
            IMediaEncoder mediaEncoder,
            INetworkManager networkManager,
            IUserViewManager userViewManager,
            ITVSeriesManager tvSeriesManager,
            IConfigurationManager configurationManager,
            IHttpClientFactory httpClientFactory,
            IXmlSerializer xmlSerializer)
        {
            SsdpConfiguration.JellyfinVersion = appHost.ApplicationVersionString;

            // Changing serverId will cause dlna url links to become invalid between restarts.
            ServerId              = DlnaServerPlugin.Instance !.Configuration.ChangeIdOnStartup ? Guid.NewGuid() : Guid.Parse(appHost.SystemId);
            _networkManager       = networkManager;
            _appHost              = appHost;
            _logger               = loggerFactory.CreateLogger <DlnaServerManager>();
            _configurationManager = configurationManager;
            _profileManager       = profileManager;

            EventManager = new DlnaEventManager(_logger, httpClientFactory);

            // Link into the streaming API, so that headers etc can be performed.
            StreamingHelpers.StreamEvent ??= DlnaStreamHelper.StreamEventProcessor;

            _logger.LogDebug("DLNA Server : Starting Content Directory service.");
            ContentDirectory = new ContentDirectoryService(
                profileManager,
                userDataManager,
                imageProcessor,
                libraryManager,
                userManager,
                _logger,
                localizationManager,
                mediaSourceManager,
                userViewManager,
                mediaEncoder,
                tvSeriesManager);

            _logger.LogDebug("DLNA Server : Starting Connection Manager service.");
            ConnectionManager = new ConnectionManagerService(profileManager, _logger);

            var config = DlnaServerPlugin.Instance !.Configuration;
            // Get bind addresses or interfaces if not specified.
            var interfaces = config.BindAddresses;

            var bindInterfaces = _networkManager.GetInternalBindAddresses();

            if (interfaces.Length > 0)
            {
                // Select only the internal interfaces that are LAN and bound.
                var addresses = _networkManager.CreateIPCollection(interfaces, false, false);
                _bindAddresses = bindInterfaces.Where(i => addresses.Contains(i) &&
                                                      (i.AddressFamily == AddressFamily.InterNetwork || (i.AddressFamily == AddressFamily.InterNetworkV6 && i.Address.ScopeId != 0)))
                                 .ToArray();
            }
            else
            {
                _bindAddresses = bindInterfaces.Where(i => !i.IsLoopback() &&
                                                      (i.AddressFamily == AddressFamily.InterNetwork || (i.AddressFamily == AddressFamily.InterNetworkV6 && i.Address.ScopeId != 0)))
                                 .ToArray();
            }

            if (_bindAddresses.Length == 0)
            {
                // only use loop-backs if no other address available.
                _bindAddresses = bindInterfaces;
            }

            _publisher = new SsdpServerPublisher(
                configurationManager,
                _logger,
                loggerFactory,
                _networkManager,
                _bindAddresses,
                config.AliveMessageIntervalSeconds,
                config.EnableWindowsExplorerSupport);

            // Load system profiles into memory.
            ProfileHelper.ExtractSystemTemplates(_logger, _profileManager, xmlSerializer).GetAwaiter().GetResult();

            // Solves a race condition can occur when API receives input before DI initialization is complete.
            Instance = this;
        }
Exemple #28
0
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. : ServerString is auto set by property.
        public DlnaServerManager(
            ILoggerFactory loggerFactory,
            IServerApplicationHost appHost,
            IHttpClientFactory httpClientFactory,
            ILibraryManager libraryManager,
            IUserManager userManager,
            IDlnaProfileManager dlnaProfileManager,
            IImageProcessor imageProcessor,
            IUserDataManager userDataManager,
            ILocalizationManager localizationManager,
            IMediaSourceManager mediaSourceManager,
            IMediaEncoder mediaEncoder,
            INetworkManager networkManager,
            IUserViewManager userViewManager,
            ITVSeriesManager tvSeriesManager,
            IConfigurationManager configuration,
            IApplicationPaths applicationPaths,
            IXmlSerializer xmlSerializer)
            : base(applicationPaths, xmlSerializer)
        {
            _networkManager       = networkManager;
            _appHost              = appHost;
            _logger               = loggerFactory.CreateLogger <DlnaServerManager>();
            _netConfig            = (NetworkConfiguration)configuration.GetConfiguration("network");
            _configurationManager = configuration;
            // Link into the streaming API, so that headers etc can be performed.
            StreamingHelpers.StreamEvent ??= DlnaStreamHelper.StreamEventProcessor;

            _logger.LogDebug("DLNA Server : Starting Content Directory service.");
            ContentDirectory = new ContentDirectoryService(
                this,
                dlnaProfileManager,
                userDataManager,
                imageProcessor,
                libraryManager,
                userManager,
                _logger,
                httpClientFactory,
                localizationManager,
                mediaSourceManager,
                userViewManager,
                mediaEncoder,
                tvSeriesManager);

            ServerId = Guid.NewGuid();
            _logger.LogDebug("DLNA Server : Starting Connection Manager service.");
            ConnectionManager = new ConnectionManagerService(this, dlnaProfileManager, _logger, httpClientFactory);

            if (Configuration.EnableMsMediaReceiverRegistrar)
            {
                _logger.LogDebug("DLNA Server : Starting Media Receiver Registrar service.");
                MediaReceiverRegistrar = new MediaReceiverRegistrarService(this, _logger, httpClientFactory);
            }

            _logger.LogDebug("DLNA Server : Starting DLNA advertisements.");
            _publisher = new SsdpServerPublisher(this, configuration, _logger, loggerFactory, _networkManager);

            // Update from ssdp.xml
            Configuration.CopyProperties(SsdpServer.Instance.Configuration);
            SaveConfiguration();

            _configurationManager.NamedConfigurationUpdating += SyncWithSsdp;
            ConfigurationChanged += SyncWithSsdp;
        }
Exemple #29
0
        public DlnaEntryPoint(
            IServerConfigurationManager config,
            ILoggerFactory loggerFactory,
            IServerApplicationHost appHost,
            ISessionManager sessionManager,
            IHttpClientFactory httpClientFactory,
            ILibraryManager libraryManager,
            IUserManager userManager,
            IDlnaManager dlnaManager,
            IImageProcessor imageProcessor,
            IUserDataManager userDataManager,
            ILocalizationManager localizationManager,
            IMediaSourceManager mediaSourceManager,
            IDeviceDiscovery deviceDiscovery,
            IMediaEncoder mediaEncoder,
            ISocketFactory socketFactory,
            INetworkManager networkManager,
            IUserViewManager userViewManager,
            ITVSeriesManager tvSeriesManager)
        {
            _config             = config;
            _appHost            = appHost;
            _sessionManager     = sessionManager;
            _httpClientFactory  = httpClientFactory;
            _libraryManager     = libraryManager;
            _userManager        = userManager;
            _dlnaManager        = dlnaManager;
            _imageProcessor     = imageProcessor;
            _userDataManager    = userDataManager;
            _localization       = localizationManager;
            _mediaSourceManager = mediaSourceManager;
            _deviceDiscovery    = deviceDiscovery;
            _mediaEncoder       = mediaEncoder;
            _socketFactory      = socketFactory;
            _networkManager     = networkManager;
            _logger             = loggerFactory.CreateLogger <DlnaEntryPoint>();

            ContentDirectory = new ContentDirectory.ContentDirectoryService(
                dlnaManager,
                userDataManager,
                imageProcessor,
                libraryManager,
                config,
                userManager,
                loggerFactory.CreateLogger <ContentDirectory.ContentDirectoryService>(),
                httpClientFactory,
                localizationManager,
                mediaSourceManager,
                userViewManager,
                mediaEncoder,
                tvSeriesManager);

            ConnectionManager = new ConnectionManager.ConnectionManagerService(
                dlnaManager,
                config,
                loggerFactory.CreateLogger <ConnectionManager.ConnectionManagerService>(),
                httpClientFactory);

            MediaReceiverRegistrar = new MediaReceiverRegistrar.MediaReceiverRegistrarService(
                loggerFactory.CreateLogger <MediaReceiverRegistrar.MediaReceiverRegistrarService>(),
                httpClientFactory,
                config);
            Current = this;
        }