浏览代码

Merge pull request #1060 from Bond-009/assinfo

Remove redundant class AssemblyInfo
Vasily 6 年之前
父节点
当前提交
1fef8bf266

+ 1 - 6
Emby.Server.Implementations/ApplicationHost.cs

@@ -37,7 +37,6 @@ using Emby.Server.Implementations.Localization;
 using Emby.Server.Implementations.Middleware;
 using Emby.Server.Implementations.Net;
 using Emby.Server.Implementations.Playlists;
-using Emby.Server.Implementations.Reflection;
 using Emby.Server.Implementations.ScheduledTasks;
 using Emby.Server.Implementations.Security;
 using Emby.Server.Implementations.Serialization;
@@ -93,7 +92,6 @@ using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.MediaInfo;
 using MediaBrowser.Model.Net;
-using MediaBrowser.Model.Reflection;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Services;
 using MediaBrowser.Model.System;
@@ -751,9 +749,6 @@ namespace Emby.Server.Implementations
 
             serviceCollection.AddSingleton(ServerConfigurationManager);
 
-            var assemblyInfo = new AssemblyInfo();
-            serviceCollection.AddSingleton<IAssemblyInfo>(assemblyInfo);
-
             LocalizationManager = new LocalizationManager(ServerConfigurationManager, FileSystemManager, JsonSerializer, LoggerFactory);
             await LocalizationManager.LoadAll();
             serviceCollection.AddSingleton<ILocalizationManager>(LocalizationManager);
@@ -772,7 +767,7 @@ namespace Emby.Server.Implementations
             var displayPreferencesRepo = new SqliteDisplayPreferencesRepository(LoggerFactory, JsonSerializer, ApplicationPaths, FileSystemManager);
             serviceCollection.AddSingleton<IDisplayPreferencesRepository>(displayPreferencesRepo);
 
-            ItemRepository = new SqliteItemRepository(ServerConfigurationManager, this, JsonSerializer, LoggerFactory, assemblyInfo);
+            ItemRepository = new SqliteItemRepository(ServerConfigurationManager, this, JsonSerializer, LoggerFactory);
             serviceCollection.AddSingleton<IItemRepository>(ItemRepository);
 
             AuthenticationRepository = GetAuthenticationRepository();

+ 2 - 4
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -24,7 +24,6 @@ using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.LiveTv;
 using MediaBrowser.Model.Querying;
-using MediaBrowser.Model.Reflection;
 using MediaBrowser.Model.Serialization;
 using Microsoft.Extensions.Logging;
 using SQLitePCL.pretty;
@@ -65,8 +64,7 @@ namespace Emby.Server.Implementations.Data
             IServerConfigurationManager config,
             IServerApplicationHost appHost,
             IJsonSerializer jsonSerializer,
-            ILoggerFactory loggerFactory,
-            IAssemblyInfo assemblyInfo)
+            ILoggerFactory loggerFactory)
             : base(loggerFactory.CreateLogger(nameof(SqliteItemRepository)))
         {
             if (config == null)
@@ -82,7 +80,7 @@ namespace Emby.Server.Implementations.Data
             _appHost = appHost;
             _config = config;
             _jsonSerializer = jsonSerializer;
-            _typeMapper = new TypeMapper(assemblyInfo);
+            _typeMapper = new TypeMapper();
 
             DbFilePath = Path.Combine(_config.ApplicationPaths.DataPath, "library.db");
         }

+ 2 - 7
Emby.Server.Implementations/Data/TypeMapper.cs

@@ -1,7 +1,6 @@
 using System;
 using System.Collections.Concurrent;
 using System.Linq;
-using MediaBrowser.Model.Reflection;
 
 namespace Emby.Server.Implementations.Data
 {
@@ -10,16 +9,13 @@ namespace Emby.Server.Implementations.Data
     /// </summary>
     public class TypeMapper
     {
-        private readonly IAssemblyInfo _assemblyInfo;
-
         /// <summary>
         /// This holds all the types in the running assemblies so that we can de-serialize properly when we don't have strong types
         /// </summary>
         private readonly ConcurrentDictionary<string, Type> _typeMap = new ConcurrentDictionary<string, Type>();
 
-        public TypeMapper(IAssemblyInfo assemblyInfo)
+        public TypeMapper()
         {
-            _assemblyInfo = assemblyInfo;
         }
 
         /// <summary>
@@ -45,8 +41,7 @@ namespace Emby.Server.Implementations.Data
         /// <returns>Type.</returns>
         private Type LookupType(string typeName)
         {
-            return _assemblyInfo
-                .GetCurrentAssemblies()
+            return AppDomain.CurrentDomain.GetAssemblies()
                 .Select(a => a.GetType(typeName))
                 .FirstOrDefault(t => t != null);
         }

+ 0 - 4
Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs

@@ -33,7 +33,6 @@ using MediaBrowser.Model.LiveTv;
 using MediaBrowser.Model.MediaInfo;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Querying;
-using MediaBrowser.Model.Reflection;
 using MediaBrowser.Model.Serialization;
 using Microsoft.Extensions.Logging;
 
@@ -58,7 +57,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
         private readonly IProviderManager _providerManager;
         private readonly IMediaEncoder _mediaEncoder;
         private readonly IProcessFactory _processFactory;
-        private readonly IAssemblyInfo _assemblyInfo;
         private IMediaSourceManager _mediaSourceManager;
 
         public static EmbyTV Current;
@@ -74,7 +72,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
         public EmbyTV(IServerApplicationHost appHost,
             IStreamHelper streamHelper,
             IMediaSourceManager mediaSourceManager,
-            IAssemblyInfo assemblyInfo,
             ILogger logger,
             IJsonSerializer jsonSerializer,
             IHttpClient httpClient,
@@ -101,7 +98,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
             _processFactory = processFactory;
             _liveTvManager = (LiveTvManager)liveTvManager;
             _jsonSerializer = jsonSerializer;
-            _assemblyInfo = assemblyInfo;
             _mediaSourceManager = mediaSourceManager;
             _streamHelper = streamHelper;
 

+ 0 - 25
Emby.Server.Implementations/Reflection/AssemblyInfo.cs

@@ -1,25 +0,0 @@
-using System;
-using System.IO;
-using System.Reflection;
-using MediaBrowser.Model.Reflection;
-
-namespace Emby.Server.Implementations.Reflection
-{
-    public class AssemblyInfo : IAssemblyInfo
-    {
-        public Stream GetManifestResourceStream(Type type, string resource)
-        {
-            return type.Assembly.GetManifestResourceStream(resource);
-        }
-
-        public string[] GetManifestResourceNames(Type type)
-        {
-            return type.Assembly.GetManifestResourceNames();
-        }
-
-        public Assembly[] GetCurrentAssemblies()
-        {
-            return AppDomain.CurrentDomain.GetAssemblies();
-        }
-    }
-}

+ 0 - 14
MediaBrowser.Model/Reflection/IAssemblyInfo.cs

@@ -1,14 +0,0 @@
-using System;
-using System.IO;
-using System.Reflection;
-
-namespace MediaBrowser.Model.Reflection
-{
-    public interface IAssemblyInfo
-    {
-        Stream GetManifestResourceStream(Type type, string resource);
-        string[] GetManifestResourceNames(Type type);
-
-        Assembly[] GetCurrentAssemblies();
-    }
-}

+ 10 - 5
MediaBrowser.WebDashboard/Api/DashboardService.cs

@@ -13,7 +13,6 @@ using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Net;
 using MediaBrowser.Model.Plugins;
-using MediaBrowser.Model.Reflection;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Services;
 using Microsoft.Extensions.Logging;
@@ -117,20 +116,26 @@ namespace MediaBrowser.WebDashboard.Api
         private readonly IFileSystem _fileSystem;
         private readonly ILocalizationManager _localization;
         private readonly IJsonSerializer _jsonSerializer;
-        private readonly IAssemblyInfo _assemblyInfo;
         private IResourceFileManager _resourceFileManager;
 
         /// <summary>
         /// Initializes a new instance of the <see cref="DashboardService" /> class.
         /// </summary>
-        public DashboardService(IServerApplicationHost appHost, IResourceFileManager resourceFileManager, IServerConfigurationManager serverConfigurationManager, IFileSystem fileSystem, ILocalizationManager localization, IJsonSerializer jsonSerializer, IAssemblyInfo assemblyInfo, ILogger logger, IHttpResultFactory resultFactory)
+        public DashboardService(
+            IServerApplicationHost appHost,
+            IResourceFileManager resourceFileManager,
+            IServerConfigurationManager serverConfigurationManager,
+            IFileSystem fileSystem,
+            ILocalizationManager localization,
+            IJsonSerializer jsonSerializer,
+            ILogger logger,
+            IHttpResultFactory resultFactory)
         {
             _appHost = appHost;
             _serverConfigurationManager = serverConfigurationManager;
             _fileSystem = fileSystem;
             _localization = localization;
             _jsonSerializer = jsonSerializer;
-            _assemblyInfo = assemblyInfo;
             _logger = logger;
             _resultFactory = resultFactory;
             _resourceFileManager = resourceFileManager;
@@ -187,7 +192,7 @@ namespace MediaBrowser.WebDashboard.Api
                 if (altPage != null)
                 {
                     plugin = altPage.Item2;
-                    stream = _assemblyInfo.GetManifestResourceStream(plugin.GetType(), altPage.Item1.EmbeddedResourcePath);
+                    stream = plugin.GetType().Assembly.GetManifestResourceStream(altPage.Item1.EmbeddedResourcePath);
 
                     isJs = string.Equals(Path.GetExtension(altPage.Item1.EmbeddedResourcePath), ".js", StringComparison.OrdinalIgnoreCase);
                     isTemplate = altPage.Item1.EmbeddedResourcePath.EndsWith(".template.html");