aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Core/Data
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-19 11:51:49 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-11-19 11:51:49 -0500
commitbdab0a1588fa4347d168c69f803a13cf607b4166 (patch)
tree336b42433978a473f0a082c0dbf42c5996ded00e /Emby.Server.Core/Data
parent52227ce00d9602e4356c0b1f91a42ab8c61b19a6 (diff)
move TypeMapper to portable project
Diffstat (limited to 'Emby.Server.Core/Data')
-rw-r--r--Emby.Server.Core/Data/SqliteItemRepository.cs7
-rw-r--r--Emby.Server.Core/Data/TypeMapper.cs47
2 files changed, 5 insertions, 49 deletions
diff --git a/Emby.Server.Core/Data/SqliteItemRepository.cs b/Emby.Server.Core/Data/SqliteItemRepository.cs
index 2f08081f6..5b8f18088 100644
--- a/Emby.Server.Core/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Core/Data/SqliteItemRepository.cs
@@ -28,6 +28,8 @@ using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Server.Implementations.Devices;
using MediaBrowser.Server.Implementations.Playlists;
+using Emby.Server.Implementations.Data;
+using MediaBrowser.Model.Reflection;
namespace Emby.Server.Core.Data
{
@@ -38,7 +40,7 @@ namespace Emby.Server.Core.Data
{
private IDbConnection _connection;
- private readonly TypeMapper _typeMapper = new TypeMapper();
+ private readonly TypeMapper _typeMapper;
/// <summary>
/// Gets the name of the repository
@@ -95,7 +97,7 @@ namespace Emby.Server.Core.Data
/// <summary>
/// Initializes a new instance of the <see cref="SqliteItemRepository"/> class.
/// </summary>
- public SqliteItemRepository(IServerConfigurationManager config, IJsonSerializer jsonSerializer, ILogManager logManager, IDbConnector connector, IMemoryStreamFactory memoryStreamProvider)
+ public SqliteItemRepository(IServerConfigurationManager config, IJsonSerializer jsonSerializer, ILogManager logManager, IDbConnector connector, IMemoryStreamFactory memoryStreamProvider, IAssemblyInfo assemblyInfo)
: base(logManager, connector)
{
if (config == null)
@@ -110,6 +112,7 @@ namespace Emby.Server.Core.Data
_config = config;
_jsonSerializer = jsonSerializer;
_memoryStreamProvider = memoryStreamProvider;
+ _typeMapper = new TypeMapper(assemblyInfo);
_criticReviewsPath = Path.Combine(_config.ApplicationPaths.DataPath, "critic-reviews");
DbFilePath = Path.Combine(_config.ApplicationPaths.DataPath, "library.db");
diff --git a/Emby.Server.Core/Data/TypeMapper.cs b/Emby.Server.Core/Data/TypeMapper.cs
deleted file mode 100644
index f8eb5dd2d..000000000
--- a/Emby.Server.Core/Data/TypeMapper.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using System;
-using System.Collections.Concurrent;
-using System.Linq;
-
-namespace Emby.Server.Core.Data
-{
- /// <summary>
- /// Class TypeMapper
- /// </summary>
- public class TypeMapper
- {
- /// <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>();
-
- /// <summary>
- /// Gets the type.
- /// </summary>
- /// <param name="typeName">Name of the type.</param>
- /// <returns>Type.</returns>
- /// <exception cref="System.ArgumentNullException"></exception>
- public Type GetType(string typeName)
- {
- if (string.IsNullOrEmpty(typeName))
- {
- throw new ArgumentNullException();
- }
-
- return _typeMap.GetOrAdd(typeName, LookupType);
- }
-
- /// <summary>
- /// Lookups the type.
- /// </summary>
- /// <param name="typeName">Name of the type.</param>
- /// <returns>Type.</returns>
- private Type LookupType(string typeName)
- {
- return AppDomain
- .CurrentDomain
- .GetAssemblies()
- .Select(a => a.GetType(typeName, false))
- .FirstOrDefault(t => t != null);
- }
- }
-}