|
@@ -99,7 +99,6 @@ using MediaBrowser.Model.Serialization;
|
|
|
using MediaBrowser.Model.Services;
|
|
|
using MediaBrowser.Model.System;
|
|
|
using MediaBrowser.Model.Tasks;
|
|
|
-using MediaBrowser.Model.Text;
|
|
|
using MediaBrowser.Model.Threading;
|
|
|
using MediaBrowser.Model.Updates;
|
|
|
using MediaBrowser.Model.Xml;
|
|
@@ -113,6 +112,7 @@ using ServiceStack;
|
|
|
using ServiceStack.Text.Jsv;
|
|
|
using StringExtensions = MediaBrowser.Controller.Extensions.StringExtensions;
|
|
|
using X509Certificate = System.Security.Cryptography.X509Certificates.X509Certificate;
|
|
|
+using UtfUnknown;
|
|
|
|
|
|
namespace Emby.Server.Implementations
|
|
|
{
|
|
@@ -263,7 +263,7 @@ namespace Emby.Server.Implementations
|
|
|
|
|
|
protected virtual IResourceFileManager CreateResourceFileManager()
|
|
|
{
|
|
|
- return new ResourceFileManager(HttpResultFactory, LoggerFactory.CreateLogger("ResourceManager"), FileSystemManager);
|
|
|
+ return new ResourceFileManager(HttpResultFactory, LoggerFactory, FileSystemManager);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -309,7 +309,6 @@ namespace Emby.Server.Implementations
|
|
|
|
|
|
private IEncodingManager EncodingManager { get; set; }
|
|
|
private IChannelManager ChannelManager { get; set; }
|
|
|
- protected ITextEncoding TextEncoding { get; private set; }
|
|
|
|
|
|
/// <summary>
|
|
|
/// Gets or sets the user data repository.
|
|
@@ -379,7 +378,7 @@ namespace Emby.Server.Implementations
|
|
|
// hack alert, until common can target .net core
|
|
|
BaseExtensions.CryptographyProvider = CryptographyProvider;
|
|
|
|
|
|
- XmlSerializer = new MyXmlSerializer(fileSystem, loggerFactory.CreateLogger("XmlSerializer"));
|
|
|
+ XmlSerializer = new MyXmlSerializer(fileSystem, loggerFactory);
|
|
|
|
|
|
NetworkManager = networkManager;
|
|
|
networkManager.LocalSubnetsFn = GetConfiguredLocalSubnets;
|
|
@@ -451,7 +450,7 @@ namespace Emby.Server.Implementations
|
|
|
{
|
|
|
if (_deviceId == null)
|
|
|
{
|
|
|
- _deviceId = new DeviceId(ApplicationPaths, LoggerFactory.CreateLogger("SystemId"), FileSystemManager);
|
|
|
+ _deviceId = new DeviceId(ApplicationPaths, LoggerFactory, FileSystemManager);
|
|
|
}
|
|
|
|
|
|
return _deviceId.Value;
|
|
@@ -710,11 +709,6 @@ namespace Emby.Server.Implementations
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private IJsonSerializer CreateJsonSerializer()
|
|
|
- {
|
|
|
- return new JsonSerializer(FileSystemManager, LoggerFactory.CreateLogger("JsonSerializer"));
|
|
|
- }
|
|
|
-
|
|
|
public void Init()
|
|
|
{
|
|
|
HttpPort = ServerConfigurationManager.Configuration.HttpServerPortNumber;
|
|
@@ -727,7 +721,7 @@ namespace Emby.Server.Implementations
|
|
|
HttpsPort = ServerConfiguration.DefaultHttpsPort;
|
|
|
}
|
|
|
|
|
|
- JsonSerializer = CreateJsonSerializer();
|
|
|
+ JsonSerializer = new JsonSerializer(FileSystemManager);
|
|
|
|
|
|
if (Plugins != null)
|
|
|
{
|
|
@@ -752,7 +746,7 @@ namespace Emby.Server.Implementations
|
|
|
|
|
|
protected virtual IHttpClient CreateHttpClient()
|
|
|
{
|
|
|
- return new HttpClientManager.HttpClientManager(ApplicationPaths, LoggerFactory.CreateLogger("HttpClient"), FileSystemManager, () => ApplicationUserAgent);
|
|
|
+ return new HttpClientManager.HttpClientManager(ApplicationPaths, LoggerFactory, FileSystemManager, () => ApplicationUserAgent);
|
|
|
}
|
|
|
|
|
|
public static IStreamHelper StreamHelper { get; set; }
|
|
@@ -785,7 +779,7 @@ namespace Emby.Server.Implementations
|
|
|
IsoManager = new IsoManager();
|
|
|
RegisterSingleInstance(IsoManager);
|
|
|
|
|
|
- TaskManager = new TaskManager(ApplicationPaths, JsonSerializer, LoggerFactory.CreateLogger("TaskManager"), FileSystemManager, SystemEvents);
|
|
|
+ TaskManager = new TaskManager(ApplicationPaths, JsonSerializer, LoggerFactory, FileSystemManager, SystemEvents);
|
|
|
RegisterSingleInstance(TaskManager);
|
|
|
|
|
|
RegisterSingleInstance(XmlSerializer);
|
|
@@ -802,10 +796,10 @@ namespace Emby.Server.Implementations
|
|
|
|
|
|
RegisterSingleInstance(CryptographyProvider);
|
|
|
|
|
|
- SocketFactory = new SocketFactory(LoggerFactory.CreateLogger("SocketFactory"));
|
|
|
+ SocketFactory = new SocketFactory();
|
|
|
RegisterSingleInstance(SocketFactory);
|
|
|
|
|
|
- InstallationManager = new InstallationManager(LoggerFactory.CreateLogger("InstallationManager"), this, ApplicationPaths, HttpClient, JsonSerializer, ServerConfigurationManager, FileSystemManager, CryptographyProvider, PackageRuntime);
|
|
|
+ InstallationManager = new InstallationManager(LoggerFactory, this, ApplicationPaths, HttpClient, JsonSerializer, ServerConfigurationManager, FileSystemManager, CryptographyProvider, PackageRuntime);
|
|
|
RegisterSingleInstance(InstallationManager);
|
|
|
|
|
|
ZipClient = new ZipClient(FileSystemManager);
|
|
@@ -822,13 +816,11 @@ namespace Emby.Server.Implementations
|
|
|
IAssemblyInfo assemblyInfo = new AssemblyInfo();
|
|
|
RegisterSingleInstance(assemblyInfo);
|
|
|
|
|
|
- LocalizationManager = new LocalizationManager(ServerConfigurationManager, FileSystemManager, JsonSerializer, LoggerFactory.CreateLogger("LocalizationManager"), assemblyInfo, new TextLocalizer());
|
|
|
+ LocalizationManager = new LocalizationManager(ServerConfigurationManager, FileSystemManager, JsonSerializer, LoggerFactory, assemblyInfo, new TextLocalizer());
|
|
|
StringExtensions.LocalizationManager = LocalizationManager;
|
|
|
RegisterSingleInstance(LocalizationManager);
|
|
|
|
|
|
- TextEncoding = new TextEncoding.TextEncoding(FileSystemManager, LoggerFactory.CreateLogger("TextEncoding"), JsonSerializer);
|
|
|
- RegisterSingleInstance(TextEncoding);
|
|
|
- BlurayExaminer = new BdInfoExaminer(FileSystemManager, TextEncoding);
|
|
|
+ BlurayExaminer = new BdInfoExaminer(FileSystemManager);
|
|
|
RegisterSingleInstance(BlurayExaminer);
|
|
|
|
|
|
RegisterSingleInstance<IXmlReaderSettingsFactory>(new XmlReaderSettingsFactory());
|
|
@@ -840,23 +832,24 @@ namespace Emby.Server.Implementations
|
|
|
// This is only needed for disposal purposes. If removing this, make sure to have the manager handle disposing it
|
|
|
RegisterSingleInstance(UserRepository);
|
|
|
|
|
|
- var displayPreferencesRepo = new SqliteDisplayPreferencesRepository(LoggerFactory.CreateLogger("SqliteDisplayPreferencesRepository"), JsonSerializer, ApplicationPaths, FileSystemManager);
|
|
|
+ var displayPreferencesRepo = new SqliteDisplayPreferencesRepository(LoggerFactory, JsonSerializer, ApplicationPaths, FileSystemManager);
|
|
|
DisplayPreferencesRepository = displayPreferencesRepo;
|
|
|
RegisterSingleInstance(DisplayPreferencesRepository);
|
|
|
|
|
|
- var itemRepo = new SqliteItemRepository(ServerConfigurationManager, this, JsonSerializer, LoggerFactory.CreateLogger("SqliteItemRepository"), assemblyInfo, FileSystemManager, EnvironmentInfo, TimerFactory);
|
|
|
+ var itemRepo = new SqliteItemRepository(ServerConfigurationManager, this, JsonSerializer, LoggerFactory, assemblyInfo, FileSystemManager, EnvironmentInfo, TimerFactory);
|
|
|
ItemRepository = itemRepo;
|
|
|
RegisterSingleInstance(ItemRepository);
|
|
|
|
|
|
AuthenticationRepository = GetAuthenticationRepository();
|
|
|
RegisterSingleInstance(AuthenticationRepository);
|
|
|
|
|
|
- UserManager = new UserManager(LoggerFactory.CreateLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, this, JsonSerializer, FileSystemManager, CryptographyProvider);
|
|
|
+ UserManager = new UserManager(LoggerFactory, ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, this, JsonSerializer, FileSystemManager, CryptographyProvider);
|
|
|
RegisterSingleInstance(UserManager);
|
|
|
|
|
|
- LibraryManager = new LibraryManager(this, Logger, TaskManager, UserManager, ServerConfigurationManager, UserDataManager, () => LibraryMonitor, FileSystemManager, () => ProviderManager, () => UserViewManager);
|
|
|
+ LibraryManager = new LibraryManager(this, LoggerFactory, TaskManager, UserManager, ServerConfigurationManager, UserDataManager, () => LibraryMonitor, FileSystemManager, () => ProviderManager, () => UserViewManager);
|
|
|
RegisterSingleInstance(LibraryManager);
|
|
|
|
|
|
+ // TODO wtaylor: investigate use of second music manager
|
|
|
var musicManager = new MusicManager(LibraryManager);
|
|
|
RegisterSingleInstance<IMusicManager>(new MusicManager(LibraryManager));
|
|
|
|
|
@@ -869,11 +862,10 @@ namespace Emby.Server.Implementations
|
|
|
Certificate = GetCertificate(CertificateInfo);
|
|
|
|
|
|
HttpServer = new HttpListenerHost(this,
|
|
|
- LoggerFactory.CreateLogger("HttpServer"),
|
|
|
+ LoggerFactory,
|
|
|
ServerConfigurationManager,
|
|
|
"web/index.html",
|
|
|
NetworkManager,
|
|
|
- TextEncoding,
|
|
|
JsonSerializer,
|
|
|
XmlSerializer,
|
|
|
GetParseFn);
|
|
@@ -890,37 +882,37 @@ namespace Emby.Server.Implementations
|
|
|
var encryptionManager = new EncryptionManager();
|
|
|
RegisterSingleInstance<IEncryptionManager>(encryptionManager);
|
|
|
|
|
|
- DeviceManager = new DeviceManager(AuthenticationRepository, JsonSerializer, LibraryManager, LocalizationManager, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager, LoggerFactory.CreateLogger("DeviceManager"), NetworkManager);
|
|
|
+ DeviceManager = new DeviceManager(AuthenticationRepository, JsonSerializer, LibraryManager, LocalizationManager, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager, LoggerFactory, NetworkManager);
|
|
|
RegisterSingleInstance(DeviceManager);
|
|
|
|
|
|
- MediaSourceManager = new MediaSourceManager(ItemRepository, ApplicationPaths, LocalizationManager, UserManager, LibraryManager, LoggerFactory.CreateLogger("MediaSourceManager"), JsonSerializer, FileSystemManager, UserDataManager, TimerFactory, () => MediaEncoder);
|
|
|
+ MediaSourceManager = new MediaSourceManager(ItemRepository, ApplicationPaths, LocalizationManager, UserManager, LibraryManager, LoggerFactory, JsonSerializer, FileSystemManager, UserDataManager, TimerFactory, () => MediaEncoder);
|
|
|
RegisterSingleInstance(MediaSourceManager);
|
|
|
|
|
|
- SubtitleManager = new SubtitleManager(LoggerFactory.CreateLogger("SubtitleManager"), FileSystemManager, LibraryMonitor, MediaSourceManager, ServerConfigurationManager, LocalizationManager);
|
|
|
+ SubtitleManager = new SubtitleManager(LoggerFactory, FileSystemManager, LibraryMonitor, MediaSourceManager, ServerConfigurationManager, LocalizationManager);
|
|
|
RegisterSingleInstance(SubtitleManager);
|
|
|
|
|
|
ProviderManager = new ProviderManager(HttpClient, SubtitleManager, ServerConfigurationManager, LibraryMonitor, LoggerFactory, FileSystemManager, ApplicationPaths, () => LibraryManager, JsonSerializer);
|
|
|
RegisterSingleInstance(ProviderManager);
|
|
|
|
|
|
- DtoService = new DtoService(LoggerFactory.CreateLogger("DtoService"), LibraryManager, UserDataManager, ItemRepository, ImageProcessor, ServerConfigurationManager, FileSystemManager, ProviderManager, () => ChannelManager, this, () => DeviceManager, () => MediaSourceManager, () => LiveTvManager);
|
|
|
+ DtoService = new DtoService(LoggerFactory, LibraryManager, UserDataManager, ItemRepository, ImageProcessor, ServerConfigurationManager, FileSystemManager, ProviderManager, () => ChannelManager, this, () => DeviceManager, () => MediaSourceManager, () => LiveTvManager);
|
|
|
RegisterSingleInstance(DtoService);
|
|
|
|
|
|
- ChannelManager = new ChannelManager(UserManager, DtoService, LibraryManager, LoggerFactory.CreateLogger("ChannelManager"), ServerConfigurationManager, FileSystemManager, UserDataManager, JsonSerializer, LocalizationManager, HttpClient, ProviderManager);
|
|
|
+ ChannelManager = new ChannelManager(UserManager, DtoService, LibraryManager, LoggerFactory, ServerConfigurationManager, FileSystemManager, UserDataManager, JsonSerializer, LocalizationManager, HttpClient, ProviderManager);
|
|
|
RegisterSingleInstance(ChannelManager);
|
|
|
|
|
|
- SessionManager = new SessionManager(UserDataManager, LoggerFactory.CreateLogger("SessionManager"), LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager, MediaSourceManager, TimerFactory);
|
|
|
+ SessionManager = new SessionManager(UserDataManager, LoggerFactory, LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager, MediaSourceManager, TimerFactory);
|
|
|
RegisterSingleInstance(SessionManager);
|
|
|
|
|
|
- var dlnaManager = new DlnaManager(XmlSerializer, FileSystemManager, ApplicationPaths, LoggerFactory.CreateLogger("Dlna"), JsonSerializer, this, assemblyInfo);
|
|
|
+ var dlnaManager = new DlnaManager(XmlSerializer, FileSystemManager, ApplicationPaths, LoggerFactory, JsonSerializer, this, assemblyInfo);
|
|
|
RegisterSingleInstance<IDlnaManager>(dlnaManager);
|
|
|
|
|
|
- CollectionManager = new CollectionManager(LibraryManager, ApplicationPaths, LocalizationManager, FileSystemManager, LibraryMonitor, LoggerFactory.CreateLogger("CollectionManager"), ProviderManager);
|
|
|
+ CollectionManager = new CollectionManager(LibraryManager, ApplicationPaths, LocalizationManager, FileSystemManager, LibraryMonitor, LoggerFactory, ProviderManager);
|
|
|
RegisterSingleInstance(CollectionManager);
|
|
|
|
|
|
- PlaylistManager = new PlaylistManager(LibraryManager, FileSystemManager, LibraryMonitor, LoggerFactory.CreateLogger("PlaylistManager"), UserManager, ProviderManager);
|
|
|
+ PlaylistManager = new PlaylistManager(LibraryManager, FileSystemManager, LibraryMonitor, LoggerFactory, UserManager, ProviderManager);
|
|
|
RegisterSingleInstance(PlaylistManager);
|
|
|
|
|
|
- LiveTvManager = new LiveTvManager(this, HttpClient, ServerConfigurationManager, Logger, ItemRepository, ImageProcessor, UserDataManager, DtoService, UserManager, LibraryManager, TaskManager, LocalizationManager, JsonSerializer, ProviderManager, FileSystemManager, () => ChannelManager);
|
|
|
+ LiveTvManager = new LiveTvManager(this, ServerConfigurationManager, LoggerFactory, ItemRepository, ImageProcessor, UserDataManager, DtoService, UserManager, LibraryManager, TaskManager, LocalizationManager, JsonSerializer, ProviderManager, FileSystemManager, () => ChannelManager);
|
|
|
RegisterSingleInstance(LiveTvManager);
|
|
|
|
|
|
UserViewManager = new UserViewManager(LibraryManager, LocalizationManager, UserManager, ChannelManager, LiveTvManager, ServerConfigurationManager);
|
|
@@ -929,19 +921,19 @@ namespace Emby.Server.Implementations
|
|
|
NotificationManager = new NotificationManager(LoggerFactory, UserManager, ServerConfigurationManager);
|
|
|
RegisterSingleInstance(NotificationManager);
|
|
|
|
|
|
- RegisterSingleInstance<IDeviceDiscovery>(new DeviceDiscovery(LoggerFactory.CreateLogger("IDeviceDiscovery"), ServerConfigurationManager, SocketFactory, TimerFactory));
|
|
|
+ RegisterSingleInstance<IDeviceDiscovery>(new DeviceDiscovery(LoggerFactory, ServerConfigurationManager, SocketFactory, TimerFactory));
|
|
|
|
|
|
- ChapterManager = new ChapterManager(LibraryManager, LoggerFactory.CreateLogger("ChapterManager"), ServerConfigurationManager, ItemRepository);
|
|
|
+ ChapterManager = new ChapterManager(LibraryManager, LoggerFactory, ServerConfigurationManager, ItemRepository);
|
|
|
RegisterSingleInstance(ChapterManager);
|
|
|
|
|
|
RegisterMediaEncoder(assemblyInfo);
|
|
|
|
|
|
- EncodingManager = new MediaEncoder.EncodingManager(FileSystemManager, Logger, MediaEncoder, ChapterManager, LibraryManager);
|
|
|
+ EncodingManager = new MediaEncoder.EncodingManager(FileSystemManager, LoggerFactory, MediaEncoder, ChapterManager, LibraryManager);
|
|
|
RegisterSingleInstance(EncodingManager);
|
|
|
|
|
|
var activityLogRepo = GetActivityLogRepository();
|
|
|
RegisterSingleInstance(activityLogRepo);
|
|
|
- RegisterSingleInstance<IActivityManager>(new ActivityManager(LoggerFactory.CreateLogger("ActivityManager"), activityLogRepo, UserManager));
|
|
|
+ RegisterSingleInstance<IActivityManager>(new ActivityManager(LoggerFactory, activityLogRepo, UserManager));
|
|
|
|
|
|
var authContext = new AuthorizationContext(AuthenticationRepository, UserManager);
|
|
|
RegisterSingleInstance<IAuthorizationContext>(authContext);
|
|
@@ -950,14 +942,14 @@ namespace Emby.Server.Implementations
|
|
|
AuthService = new AuthService(UserManager, authContext, ServerConfigurationManager, SessionManager, NetworkManager);
|
|
|
RegisterSingleInstance(AuthService);
|
|
|
|
|
|
- SubtitleEncoder = new MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder(LibraryManager, LoggerFactory.CreateLogger("SubtitleEncoder"), ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer, HttpClient, MediaSourceManager, ProcessFactory, TextEncoding);
|
|
|
+ SubtitleEncoder = new MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder(LibraryManager, LoggerFactory, ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer, HttpClient, MediaSourceManager, ProcessFactory);
|
|
|
RegisterSingleInstance(SubtitleEncoder);
|
|
|
|
|
|
RegisterSingleInstance(CreateResourceFileManager());
|
|
|
|
|
|
displayPreferencesRepo.Initialize();
|
|
|
|
|
|
- var userDataRepo = new SqliteUserDataRepository(LoggerFactory.CreateLogger("SqliteUserDataRepository"), ApplicationPaths, FileSystemManager);
|
|
|
+ var userDataRepo = new SqliteUserDataRepository(LoggerFactory, ApplicationPaths);
|
|
|
|
|
|
SetStaticProperties();
|
|
|
|
|
@@ -1050,7 +1042,7 @@ namespace Emby.Server.Implementations
|
|
|
|
|
|
private IImageProcessor GetImageProcessor()
|
|
|
{
|
|
|
- return new ImageProcessor(LoggerFactory.CreateLogger("ImageProcessor"), ServerConfigurationManager.ApplicationPaths, FileSystemManager, ImageEncoder, () => LibraryManager, () => MediaEncoder);
|
|
|
+ return new ImageProcessor(LoggerFactory, ServerConfigurationManager.ApplicationPaths, FileSystemManager, ImageEncoder, () => LibraryManager, () => MediaEncoder);
|
|
|
}
|
|
|
|
|
|
protected virtual FFMpegInstallInfo GetFfmpegInstallInfo()
|
|
@@ -1109,7 +1101,7 @@ namespace Emby.Server.Implementations
|
|
|
var hasExternalEncoder = string.Equals(info.Version, "external", StringComparison.OrdinalIgnoreCase);
|
|
|
|
|
|
var mediaEncoder = new MediaBrowser.MediaEncoding.Encoder.MediaEncoder(
|
|
|
- LoggerFactory.CreateLogger("MediaEncoder"),
|
|
|
+ LoggerFactory,
|
|
|
JsonSerializer,
|
|
|
encoderPath,
|
|
|
probePath,
|
|
@@ -1138,7 +1130,7 @@ namespace Emby.Server.Implementations
|
|
|
/// <returns>Task{IUserRepository}.</returns>
|
|
|
private IUserRepository GetUserRepository()
|
|
|
{
|
|
|
- var repo = new SqliteUserRepository(LoggerFactory.CreateLogger("SqliteUserRepository"), ApplicationPaths, JsonSerializer);
|
|
|
+ var repo = new SqliteUserRepository(LoggerFactory, ApplicationPaths, JsonSerializer);
|
|
|
|
|
|
repo.Initialize();
|
|
|
|
|
@@ -1147,7 +1139,7 @@ namespace Emby.Server.Implementations
|
|
|
|
|
|
private IAuthenticationRepository GetAuthenticationRepository()
|
|
|
{
|
|
|
- var repo = new AuthenticationRepository(LoggerFactory.CreateLogger("AuthenticationRepository"), ServerConfigurationManager);
|
|
|
+ var repo = new AuthenticationRepository(LoggerFactory, ServerConfigurationManager);
|
|
|
|
|
|
repo.Initialize();
|
|
|
|
|
@@ -1156,7 +1148,7 @@ namespace Emby.Server.Implementations
|
|
|
|
|
|
private IActivityRepository GetActivityLogRepository()
|
|
|
{
|
|
|
- var repo = new ActivityRepository(LoggerFactory.CreateLogger("ActivityRepository"), ServerConfigurationManager.ApplicationPaths, FileSystemManager);
|
|
|
+ var repo = new ActivityRepository(LoggerFactory, ServerConfigurationManager.ApplicationPaths, FileSystemManager);
|
|
|
|
|
|
repo.Initialize();
|
|
|
|