فهرست منبع

update server core project

Luke Pulverenti 8 سال پیش
والد
کامیت
06afe47ee9
43فایلهای تغییر یافته به همراه162 افزوده شده و 245 حذف شده
  1. 2 2
      Emby.Server.Core/Activity/ActivityRepository.cs
  2. 1 1
      Emby.Server.Core/Data/BaseSqliteRepository.cs
  3. 2 2
      Emby.Server.Core/Data/DataExtensions.cs
  4. 1 1
      Emby.Server.Core/Data/IDbConnector.cs
  5. 1 1
      Emby.Server.Core/Data/MediaStreamColumns.cs
  6. 1 1
      Emby.Server.Core/Data/SqliteDisplayPreferencesRepository.cs
  7. 1 1
      Emby.Server.Core/Data/SqliteFileOrganizationRepository.cs
  8. 1 1
      Emby.Server.Core/Data/SqliteItemRepository.cs
  9. 1 1
      Emby.Server.Core/Data/SqliteUserDataRepository.cs
  10. 1 1
      Emby.Server.Core/Data/SqliteUserRepository.cs
  11. 1 1
      Emby.Server.Core/Data/TypeMapper.cs
  12. 1 1
      Emby.Server.Core/Devices/DeviceRepository.cs
  13. 1 0
      Emby.Server.Core/Emby.Server.Core.xproj
  14. 1 1
      Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs
  15. 1 1
      Emby.Server.Core/FFMpeg/FFMpegInfo.cs
  16. 1 1
      Emby.Server.Core/FFMpeg/FFMpegInstallInfo.cs
  17. 2 2
      Emby.Server.Core/Migrations/DbMigration.cs
  18. 1 1
      Emby.Server.Core/Migrations/IVersionMigration.cs
  19. 1 1
      Emby.Server.Core/Migrations/UpdateLevelMigration.cs
  20. 2 2
      Emby.Server.Core/Notifications/SqliteNotificationsRepository.cs
  21. 2 2
      Emby.Server.Core/Social/SharingRepository.cs
  22. 2 2
      Emby.Server.Core/Sync/SyncRepository.cs
  23. 13 0
      Emby.Server.Core/project.json
  24. 1 1
      Emby.Server.Implementations/Collections/CollectionsDynamicFolder.cs
  25. 41 0
      Emby.Server.Implementations/Devices/CameraUploadsDynamicFolder.cs
  26. 3 108
      Emby.Server.Implementations/Emby.Server.Implementations.csproj
  27. 32 0
      Emby.Server.Implementations/Playlists/PlaylistsDynamicFolder.cs
  28. 0 25
      MediaBrowser.Controller/Devices/CameraUploadsFolder.cs
  29. 2 0
      MediaBrowser.Controller/MediaBrowser.Controller.csproj
  30. 0 24
      MediaBrowser.Controller/Playlists/ManualPlaylistsFolder.cs
  31. 0 3
      MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
  32. 1 1
      MediaBrowser.Server.Mono/Native/DbConnector.cs
  33. 2 1
      MediaBrowser.Server.Mono/Native/MonoApp.cs
  34. 8 8
      MediaBrowser.Server.Startup.Common/ApplicationHost.cs
  35. 1 0
      MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegLoader.cs
  36. 2 2
      MediaBrowser.Server.Startup.Common/INativeApp.cs
  37. 21 39
      MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj
  38. 1 1
      MediaBrowser.Server.Startup.Common/Persistence/SqliteExtensions.cs
  39. 1 1
      MediaBrowser.Server.Startup.Common/Security/AuthenticationRepository.cs
  40. 1 1
      MediaBrowser.ServerApplication/MainStartup.cs
  41. 1 1
      MediaBrowser.ServerApplication/Native/DbConnector.cs
  42. 2 1
      MediaBrowser.ServerApplication/Native/WindowsApp.cs
  43. 1 1
      MediaBrowser.ServerApplication/ServerNotifyIcon.cs

+ 2 - 2
MediaBrowser.Server.Startup.Common/Activity/ActivityRepository.cs → Emby.Server.Core/Activity/ActivityRepository.cs

@@ -4,13 +4,13 @@ using System.Data;
 using System.Globalization;
 using System.Globalization;
 using System.IO;
 using System.IO;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using Emby.Server.Core.Data;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller;
 using MediaBrowser.Model.Activity;
 using MediaBrowser.Model.Activity;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Querying;
 using MediaBrowser.Model.Querying;
-using MediaBrowser.Server.Startup.Common.Persistence;
 
 
-namespace MediaBrowser.Server.Startup.Common.Activity
+namespace Emby.Server.Core.Activity
 {
 {
     public class ActivityRepository : BaseSqliteRepository, IActivityRepository
     public class ActivityRepository : BaseSqliteRepository, IActivityRepository
     {
     {

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/BaseSqliteRepository.cs → Emby.Server.Core/Data/BaseSqliteRepository.cs

@@ -4,7 +4,7 @@ using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     public abstract class BaseSqliteRepository : IDisposable
     public abstract class BaseSqliteRepository : IDisposable
     {
     {

+ 2 - 2
MediaBrowser.Server.Startup.Common/Persistence/DataExtensions.cs → Emby.Server.Core/Data/DataExtensions.cs

@@ -6,9 +6,9 @@ using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Serialization;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
-    static class DataExtensions
+    public static class DataExtensions
     {
     {
         /// <summary>
         /// <summary>
         /// Determines whether the specified conn is open.
         /// Determines whether the specified conn is open.

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/IDbConnector.cs → Emby.Server.Core/Data/IDbConnector.cs

@@ -1,7 +1,7 @@
 using System.Data;
 using System.Data;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     public interface IDbConnector
     public interface IDbConnector
     {
     {

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/MediaStreamColumns.cs → Emby.Server.Core/Data/MediaStreamColumns.cs

@@ -3,7 +3,7 @@ using System.Data;
 using System.Text;
 using System.Text;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     public class MediaStreamColumns
     public class MediaStreamColumns
     {
     {

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/SqliteDisplayPreferencesRepository.cs → Emby.Server.Core/Data/SqliteDisplayPreferencesRepository.cs

@@ -12,7 +12,7 @@ using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Serialization;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     /// <summary>
     /// <summary>
     /// Class SQLiteDisplayPreferencesRepository
     /// Class SQLiteDisplayPreferencesRepository

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/SqliteFileOrganizationRepository.cs → Emby.Server.Core/Data/SqliteFileOrganizationRepository.cs

@@ -12,7 +12,7 @@ using MediaBrowser.Model.FileOrganization;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Querying;
 using MediaBrowser.Model.Querying;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     public class SqliteFileOrganizationRepository : BaseSqliteRepository, IFileOrganizationRepository, IDisposable
     public class SqliteFileOrganizationRepository : BaseSqliteRepository, IFileOrganizationRepository, IDisposable
     {
     {

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/SqliteItemRepository.cs → Emby.Server.Core/Data/SqliteItemRepository.cs

@@ -29,7 +29,7 @@ using MediaBrowser.Model.Serialization;
 using MediaBrowser.Server.Implementations.Devices;
 using MediaBrowser.Server.Implementations.Devices;
 using MediaBrowser.Server.Implementations.Playlists;
 using MediaBrowser.Server.Implementations.Playlists;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     /// <summary>
     /// <summary>
     /// Class SQLiteItemRepository
     /// Class SQLiteItemRepository

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/SqliteUserDataRepository.cs → Emby.Server.Core/Data/SqliteUserDataRepository.cs

@@ -11,7 +11,7 @@ using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Persistence;
 using MediaBrowser.Controller.Persistence;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     public class SqliteUserDataRepository : BaseSqliteRepository, IUserDataRepository
     public class SqliteUserDataRepository : BaseSqliteRepository, IUserDataRepository
     {
     {

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/SqliteUserRepository.cs → Emby.Server.Core/Data/SqliteUserRepository.cs

@@ -11,7 +11,7 @@ using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Serialization;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     /// <summary>
     /// <summary>
     /// Class SQLiteUserRepository
     /// Class SQLiteUserRepository

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/TypeMapper.cs → Emby.Server.Core/Data/TypeMapper.cs

@@ -2,7 +2,7 @@
 using System.Collections.Concurrent;
 using System.Collections.Concurrent;
 using System.Linq;
 using System.Linq;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     /// <summary>
     /// <summary>
     /// Class TypeMapper
     /// Class TypeMapper

+ 1 - 1
MediaBrowser.Server.Startup.Common/Devices/DeviceRepository.cs → Emby.Server.Core/Devices/DeviceRepository.cs

@@ -12,7 +12,7 @@ using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Session;
 using MediaBrowser.Model.Session;
 
 
-namespace MediaBrowser.Server.Startup.Common.Devices
+namespace Emby.Server.Core.Devices
 {
 {
     public class DeviceRepository : IDeviceRepository
     public class DeviceRepository : IDeviceRepository
     {
     {

+ 1 - 0
Emby.Server.Core/Emby.Server.Core.xproj

@@ -16,6 +16,7 @@
     <SchemaVersion>2.0</SchemaVersion>
     <SchemaVersion>2.0</SchemaVersion>
   </PropertyGroup>
   </PropertyGroup>
   <ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\Emby.Server.Implementations\Emby.Server.Implementations.csproj" />
     <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
     <ProjectReference Include="..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
     <ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj" />
     <ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj" />
     <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
     <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" />

+ 1 - 1
MediaBrowser.Server.Startup.Common/EntryPoints/ExternalPortForwarding.cs → Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs

@@ -12,7 +12,7 @@ using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Threading;
 using MediaBrowser.Model.Threading;
 using Mono.Nat;
 using Mono.Nat;
 
 
-namespace MediaBrowser.Server.Startup.Common.EntryPoints
+namespace Emby.Server.Core.EntryPoints
 {
 {
     public class ExternalPortForwarding : IServerEntryPoint
     public class ExternalPortForwarding : IServerEntryPoint
     {
     {

+ 1 - 1
MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegInfo.cs → Emby.Server.Core/FFMpeg/FFMpegInfo.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Server.Startup.Common.FFMpeg
+namespace Emby.Server.Core.FFMpeg
 {
 {
     /// <summary>
     /// <summary>
     /// Class FFMpegInfo
     /// Class FFMpegInfo

+ 1 - 1
MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegInstallInfo.cs → Emby.Server.Core/FFMpeg/FFMpegInstallInfo.cs

@@ -1,5 +1,5 @@
 
 
-namespace MediaBrowser.Server.Startup.Common.FFMpeg
+namespace Emby.Server.Core.FFMpeg
 {
 {
     public class FFMpegInstallInfo
     public class FFMpegInstallInfo
     {
     {

+ 2 - 2
MediaBrowser.Server.Startup.Common/Migrations/DbMigration.cs → Emby.Server.Core/Migrations/DbMigration.cs

@@ -2,9 +2,9 @@
 using Emby.Server.Implementations.Persistence;
 using Emby.Server.Implementations.Persistence;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Model.Tasks;
 using MediaBrowser.Model.Tasks;
-using MediaBrowser.Server.Startup.Common.Persistence;
+using Emby.Server.Core.Data;
 
 
-namespace MediaBrowser.Server.Startup.Common.Migrations
+namespace Emby.Server.Core.Migrations
 {
 {
     public class DbMigration : IVersionMigration
     public class DbMigration : IVersionMigration
     {
     {

+ 1 - 1
MediaBrowser.Server.Startup.Common/Migrations/IVersionMigration.cs → Emby.Server.Core/Migrations/IVersionMigration.cs

@@ -1,6 +1,6 @@
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 
 
-namespace MediaBrowser.Server.Startup.Common.Migrations
+namespace Emby.Server.Core.Migrations
 {
 {
     public interface IVersionMigration
     public interface IVersionMigration
     {
     {

+ 1 - 1
MediaBrowser.Server.Startup.Common/Migrations/UpdateLevelMigration.cs → Emby.Server.Core/Migrations/UpdateLevelMigration.cs

@@ -10,7 +10,7 @@ using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Updates;
 using MediaBrowser.Model.Updates;
 
 
-namespace MediaBrowser.Server.Startup.Common.Migrations
+namespace Emby.Server.Core.Migrations
 {
 {
     public class UpdateLevelMigration : IVersionMigration
     public class UpdateLevelMigration : IVersionMigration
     {
     {

+ 2 - 2
MediaBrowser.Server.Startup.Common/Notifications/SqliteNotificationsRepository.cs → Emby.Server.Core/Notifications/SqliteNotificationsRepository.cs

@@ -5,13 +5,13 @@ using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using Emby.Server.Core.Data;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller.Notifications;
 using MediaBrowser.Controller.Notifications;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Notifications;
 using MediaBrowser.Model.Notifications;
-using MediaBrowser.Server.Startup.Common.Persistence;
 
 
-namespace MediaBrowser.Server.Startup.Common.Notifications
+namespace Emby.Server.Core.Notifications
 {
 {
     public class SqliteNotificationsRepository : BaseSqliteRepository, INotificationsRepository
     public class SqliteNotificationsRepository : BaseSqliteRepository, INotificationsRepository
     {
     {

+ 2 - 2
MediaBrowser.Server.Startup.Common/Social/SharingRepository.cs → Emby.Server.Core/Social/SharingRepository.cs

@@ -3,12 +3,12 @@ using System.Data;
 using System.IO;
 using System.IO;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using Emby.Server.Core.Data;
 using MediaBrowser.Common.Configuration;
 using MediaBrowser.Common.Configuration;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Social;
 using MediaBrowser.Model.Social;
-using MediaBrowser.Server.Startup.Common.Persistence;
 
 
-namespace MediaBrowser.Server.Startup.Common.Social
+namespace Emby.Server.Core.Social
 {
 {
     public class SharingRepository : BaseSqliteRepository, ISharingRepository
     public class SharingRepository : BaseSqliteRepository, ISharingRepository
     {
     {

+ 2 - 2
MediaBrowser.Server.Startup.Common/Sync/SyncRepository.cs → Emby.Server.Core/Sync/SyncRepository.cs

@@ -5,6 +5,7 @@ using System.Globalization;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using Emby.Server.Core.Data;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller.Sync;
 using MediaBrowser.Controller.Sync;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Dto;
@@ -12,9 +13,8 @@ using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Querying;
 using MediaBrowser.Model.Querying;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Serialization;
 using MediaBrowser.Model.Sync;
 using MediaBrowser.Model.Sync;
-using MediaBrowser.Server.Startup.Common.Persistence;
 
 
-namespace MediaBrowser.Server.Startup.Common.Sync
+namespace Emby.Server.Core.Sync
 {
 {
     public class SyncRepository : BaseSqliteRepository, ISyncRepository
     public class SyncRepository : BaseSqliteRepository, ISyncRepository
     {
     {

+ 13 - 0
Emby.Server.Core/project.json

@@ -22,6 +22,12 @@
         },
         },
         "Emby.Common.Implementations": {
         "Emby.Common.Implementations": {
           "target": "project"
           "target": "project"
+        },
+        "Mono.Nat": {
+          "target": "project"
+        },
+        "Emby.Server.Implementations": {
+          "target": "project"
         }
         }
       }
       }
     },
     },
@@ -29,6 +35,7 @@
       "imports": "dnxcore50",
       "imports": "dnxcore50",
       "dependencies": {
       "dependencies": {
         "NETStandard.Library": "1.6.0",
         "NETStandard.Library": "1.6.0",
+		"System.AppDomain": "2.0.11",
 		"MediaBrowser.Model": {
 		"MediaBrowser.Model": {
           "target": "project"
           "target": "project"
         },
         },
@@ -40,6 +47,12 @@
         },
         },
         "Emby.Common.Implementations": {
         "Emby.Common.Implementations": {
           "target": "project"
           "target": "project"
+        },
+        "Mono.Nat": {
+          "target": "project"
+        },
+        "Emby.Server.Implementations": {
+          "target": "project"
         }
         }
       }
       }
     }
     }

+ 1 - 1
MediaBrowser.Server.Implementations/Collections/CollectionsDynamicFolder.cs → Emby.Server.Implementations/Collections/CollectionsDynamicFolder.cs

@@ -6,7 +6,7 @@ using MediaBrowser.Model.IO;
 using MediaBrowser.Controller.Collections;
 using MediaBrowser.Controller.Collections;
 using MediaBrowser.Controller.IO;
 using MediaBrowser.Controller.IO;
 
 
-namespace MediaBrowser.Server.Implementations.Collections
+namespace Emby.Server.Implementations.Collections
 {
 {
     public class CollectionsDynamicFolder : IVirtualFolderCreator
     public class CollectionsDynamicFolder : IVirtualFolderCreator
     {
     {

+ 41 - 0
Emby.Server.Implementations/Devices/CameraUploadsDynamicFolder.cs

@@ -0,0 +1,41 @@
+using MediaBrowser.Common.Configuration;
+using MediaBrowser.Controller.Entities;
+using System;
+using System.IO;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using MediaBrowser.Common.IO;
+using MediaBrowser.Controller.IO;
+using MediaBrowser.Model.IO;
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Model.Serialization;
+using MediaBrowser.Server.Implementations.Devices;
+
+namespace Emby.Server.Implementations.Devices
+{
+    public class CameraUploadsDynamicFolder : IVirtualFolderCreator
+    {
+        private readonly IApplicationPaths _appPaths;
+        private readonly IFileSystem _fileSystem;
+
+        public CameraUploadsDynamicFolder(IApplicationPaths appPaths, IFileSystem fileSystem)
+        {
+            _appPaths = appPaths;
+            _fileSystem = fileSystem;
+        }
+
+        public BasePluginFolder GetFolder()
+        {
+            var path = Path.Combine(_appPaths.DataPath, "camerauploads");
+
+            _fileSystem.CreateDirectory(path);
+
+            return new CameraUploadsFolder
+            {
+                Path = path
+            };
+        }
+    }
+
+}

+ 3 - 108
Emby.Server.Implementations/Emby.Server.Implementations.csproj

@@ -43,11 +43,13 @@
     <Compile Include="Channels\RefreshChannelsScheduledTask.cs" />
     <Compile Include="Channels\RefreshChannelsScheduledTask.cs" />
     <Compile Include="Collections\CollectionImageProvider.cs" />
     <Compile Include="Collections\CollectionImageProvider.cs" />
     <Compile Include="Collections\CollectionManager.cs" />
     <Compile Include="Collections\CollectionManager.cs" />
+    <Compile Include="Collections\CollectionsDynamicFolder.cs" />
     <Compile Include="Connect\ConnectData.cs" />
     <Compile Include="Connect\ConnectData.cs" />
     <Compile Include="Connect\ConnectEntryPoint.cs" />
     <Compile Include="Connect\ConnectEntryPoint.cs" />
     <Compile Include="Connect\ConnectManager.cs" />
     <Compile Include="Connect\ConnectManager.cs" />
     <Compile Include="Connect\Responses.cs" />
     <Compile Include="Connect\Responses.cs" />
     <Compile Include="Connect\Validator.cs" />
     <Compile Include="Connect\Validator.cs" />
+    <Compile Include="Devices\CameraUploadsDynamicFolder.cs" />
     <Compile Include="Devices\DeviceManager.cs" />
     <Compile Include="Devices\DeviceManager.cs" />
     <Compile Include="Dto\DtoService.cs" />
     <Compile Include="Dto\DtoService.cs" />
     <Compile Include="EntryPoints\AutomaticRestartEntryPoint.cs" />
     <Compile Include="EntryPoints\AutomaticRestartEntryPoint.cs" />
@@ -175,6 +177,7 @@
     <Compile Include="Photos\PhotoAlbumImageProvider.cs" />
     <Compile Include="Photos\PhotoAlbumImageProvider.cs" />
     <Compile Include="Playlists\PlaylistImageProvider.cs" />
     <Compile Include="Playlists\PlaylistImageProvider.cs" />
     <Compile Include="Playlists\PlaylistManager.cs" />
     <Compile Include="Playlists\PlaylistManager.cs" />
+    <Compile Include="Playlists\PlaylistsDynamicFolder.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ScheduledTasks\ChapterImagesTask.cs" />
     <Compile Include="ScheduledTasks\ChapterImagesTask.cs" />
     <Compile Include="ScheduledTasks\PeopleValidationTask.cs" />
     <Compile Include="ScheduledTasks\PeopleValidationTask.cs" />
@@ -291,114 +294,6 @@
     </Reference>
     </Reference>
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\backbone-min.js">
-      <Link>swagger-ui\lib\backbone-min.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\handlebars-2.0.0.js">
-      <Link>swagger-ui\lib\handlebars-2.0.0.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\highlight.7.3.pack.js">
-      <Link>swagger-ui\lib\highlight.7.3.pack.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\jquery-1.8.0.min.js">
-      <Link>swagger-ui\lib\jquery-1.8.0.min.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\jquery.ba-bbq.min.js">
-      <Link>swagger-ui\lib\jquery.ba-bbq.min.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\jquery.slideto.min.js">
-      <Link>swagger-ui\lib\jquery.slideto.min.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\jquery.wiggle.min.js">
-      <Link>swagger-ui\lib\jquery.wiggle.min.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\marked.js">
-      <Link>swagger-ui\lib\marked.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\shred.bundle.js">
-      <Link>swagger-ui\lib\shred.bundle.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\swagger-client.js">
-      <Link>swagger-ui\lib\swagger-client.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\swagger-oauth.js">
-      <Link>swagger-ui\lib\swagger-oauth.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\lib\underscore-min.js">
-      <Link>swagger-ui\lib\underscore-min.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\o2c.html">
-      <Link>swagger-ui\o2c.html</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\patch.js">
-      <Link>swagger-ui\patch.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\swagger-ui.js">
-      <Link>swagger-ui\swagger-ui.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\swagger-ui.min.js">
-      <Link>swagger-ui\swagger-ui.min.js</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-700.eot">
-      <Link>swagger-ui\fonts\droid-sans-v6-latin-700.eot</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-700.ttf">
-      <Link>swagger-ui\fonts\droid-sans-v6-latin-700.ttf</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-700.woff">
-      <Link>swagger-ui\fonts\droid-sans-v6-latin-700.woff</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-700.woff2">
-      <Link>swagger-ui\fonts\droid-sans-v6-latin-700.woff2</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-regular.eot">
-      <Link>swagger-ui\fonts\droid-sans-v6-latin-regular.eot</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-regular.ttf">
-      <Link>swagger-ui\fonts\droid-sans-v6-latin-regular.ttf</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-regular.woff">
-      <Link>swagger-ui\fonts\droid-sans-v6-latin-regular.woff</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\fonts\droid-sans-v6-latin-regular.woff2">
-      <Link>swagger-ui\fonts\droid-sans-v6-latin-regular.woff2</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\css\reset.css">
-      <Link>swagger-ui\css\reset.css</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\css\screen.css">
-      <Link>swagger-ui\css\screen.css</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="..\ThirdParty\ServiceStack\swagger-ui\css\typography.css">
-      <Link>swagger-ui\css\typography.css</Link>
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <EmbeddedResource Include="Localization\Core\ar.json" />
     <EmbeddedResource Include="Localization\Core\ar.json" />
     <EmbeddedResource Include="Localization\Core\bg-BG.json" />
     <EmbeddedResource Include="Localization\Core\bg-BG.json" />
     <EmbeddedResource Include="Localization\Core\ca.json" />
     <EmbeddedResource Include="Localization\Core\ca.json" />

+ 32 - 0
Emby.Server.Implementations/Playlists/PlaylistsDynamicFolder.cs

@@ -0,0 +1,32 @@
+using System.IO;
+using MediaBrowser.Common.Configuration;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.IO;
+using MediaBrowser.Server.Implementations.Playlists;
+
+namespace Emby.Server.Implementations.Playlists
+{
+    public class PlaylistsDynamicFolder : IVirtualFolderCreator
+    {
+        private readonly IApplicationPaths _appPaths;
+        private readonly IFileSystem _fileSystem;
+
+        public PlaylistsDynamicFolder(IApplicationPaths appPaths, IFileSystem fileSystem)
+        {
+            _appPaths = appPaths;
+            _fileSystem = fileSystem;
+        }
+
+        public BasePluginFolder GetFolder()
+        {
+            var path = Path.Combine(_appPaths.DataPath, "playlists");
+
+            _fileSystem.CreateDirectory(path);
+
+            return new PlaylistsFolder
+            {
+                Path = path
+            };
+        }
+    }
+}

+ 0 - 25
MediaBrowser.Server.Implementations/Devices/CameraUploadsFolder.cs → MediaBrowser.Controller/Devices/CameraUploadsFolder.cs

@@ -64,29 +64,4 @@ namespace MediaBrowser.Server.Implementations.Devices
             get { return true; }
             get { return true; }
         }
         }
     }
     }
-
-    public class CameraUploadsDynamicFolder : IVirtualFolderCreator
-    {
-        private readonly IApplicationPaths _appPaths;
-        private readonly IFileSystem _fileSystem;
-
-        public CameraUploadsDynamicFolder(IApplicationPaths appPaths, IFileSystem fileSystem)
-        {
-            _appPaths = appPaths;
-            _fileSystem = fileSystem;
-        }
-
-        public BasePluginFolder GetFolder()
-        {
-            var path = Path.Combine(_appPaths.DataPath, "camerauploads");
-
-            _fileSystem.CreateDirectory(path);
-
-            return new CameraUploadsFolder
-            {
-                Path = path
-            };
-        }
-    }
-
 }
 }

+ 2 - 0
MediaBrowser.Controller/MediaBrowser.Controller.csproj

@@ -77,6 +77,7 @@
     <Compile Include="Connect\IConnectManager.cs" />
     <Compile Include="Connect\IConnectManager.cs" />
     <Compile Include="Connect\UserLinkResult.cs" />
     <Compile Include="Connect\UserLinkResult.cs" />
     <Compile Include="Devices\CameraImageUploadInfo.cs" />
     <Compile Include="Devices\CameraImageUploadInfo.cs" />
+    <Compile Include="Devices\CameraUploadsFolder.cs" />
     <Compile Include="Devices\IDeviceManager.cs" />
     <Compile Include="Devices\IDeviceManager.cs" />
     <Compile Include="Devices\IDeviceRepository.cs" />
     <Compile Include="Devices\IDeviceRepository.cs" />
     <Compile Include="Dlna\ControlRequest.cs" />
     <Compile Include="Dlna\ControlRequest.cs" />
@@ -217,6 +218,7 @@
     <Compile Include="Persistence\IFileOrganizationRepository.cs" />
     <Compile Include="Persistence\IFileOrganizationRepository.cs" />
     <Compile Include="Persistence\MediaStreamQuery.cs" />
     <Compile Include="Persistence\MediaStreamQuery.cs" />
     <Compile Include="Playlists\IPlaylistManager.cs" />
     <Compile Include="Playlists\IPlaylistManager.cs" />
+    <Compile Include="Playlists\ManualPlaylistsFolder.cs" />
     <Compile Include="Playlists\Playlist.cs" />
     <Compile Include="Playlists\Playlist.cs" />
     <Compile Include="Plugins\ILocalizablePlugin.cs" />
     <Compile Include="Plugins\ILocalizablePlugin.cs" />
     <Compile Include="Providers\AlbumInfo.cs" />
     <Compile Include="Providers\AlbumInfo.cs" />

+ 0 - 24
MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs → MediaBrowser.Controller/Playlists/ManualPlaylistsFolder.cs

@@ -49,29 +49,5 @@ namespace MediaBrowser.Server.Implementations.Playlists
             return base.GetItemsInternal(query);
             return base.GetItemsInternal(query);
         }
         }
     }
     }
-
-    public class PlaylistsDynamicFolder : IVirtualFolderCreator
-    {
-        private readonly IApplicationPaths _appPaths;
-        private readonly IFileSystem _fileSystem;
-
-        public PlaylistsDynamicFolder(IApplicationPaths appPaths, IFileSystem fileSystem)
-        {
-            _appPaths = appPaths;
-            _fileSystem = fileSystem;
-        }
-
-        public BasePluginFolder GetFolder()
-        {
-            var path = Path.Combine(_appPaths.DataPath, "playlists");
-
-			_fileSystem.CreateDirectory(path);
-
-            return new PlaylistsFolder
-            {
-                Path = path
-            };
-        }
-    }
 }
 }
 
 

+ 0 - 3
MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj

@@ -44,9 +44,6 @@
     <Compile Include="..\SharedVersion.cs">
     <Compile Include="..\SharedVersion.cs">
       <Link>Properties\SharedVersion.cs</Link>
       <Link>Properties\SharedVersion.cs</Link>
     </Compile>
     </Compile>
-    <Compile Include="Collections\CollectionsDynamicFolder.cs" />
-    <Compile Include="Devices\CameraUploadsFolder.cs" />
-    <Compile Include="Playlists\ManualPlaylistsFolder.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>

+ 1 - 1
MediaBrowser.Server.Mono/Native/DbConnector.cs

@@ -1,7 +1,7 @@
 using System.Data;
 using System.Data;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using Emby.Server.Core.Data;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
-using MediaBrowser.Server.Startup.Common.Persistence;
 
 
 namespace MediaBrowser.Server.Mono.Native
 namespace MediaBrowser.Server.Mono.Native
 {
 {

+ 2 - 1
MediaBrowser.Server.Mono/Native/MonoApp.cs

@@ -8,8 +8,9 @@ using System.Collections.Generic;
 using System.Reflection;
 using System.Reflection;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
 using Emby.Server.Core;
 using Emby.Server.Core;
+using Emby.Server.Core.Data;
+using Emby.Server.Core.FFMpeg;
 using MediaBrowser.Model.System;
 using MediaBrowser.Model.System;
-using MediaBrowser.Server.Startup.Common.Persistence;
 using MediaBrowser.Server.Startup.Common.FFMpeg;
 using MediaBrowser.Server.Startup.Common.FFMpeg;
 using MediaBrowser.Server.Startup.Common.Networking;
 using MediaBrowser.Server.Startup.Common.Networking;
 using OperatingSystem = MediaBrowser.Server.Startup.Common.OperatingSystem;
 using OperatingSystem = MediaBrowser.Server.Startup.Common.OperatingSystem;

+ 8 - 8
MediaBrowser.Server.Startup.Common/ApplicationHost.cs

@@ -51,7 +51,6 @@ using MediaBrowser.Providers.Subtitles;
 using MediaBrowser.Server.Implementations;
 using MediaBrowser.Server.Implementations;
 using MediaBrowser.Server.Implementations.Devices;
 using MediaBrowser.Server.Implementations.Devices;
 using MediaBrowser.Server.Startup.Common.FFMpeg;
 using MediaBrowser.Server.Startup.Common.FFMpeg;
-using MediaBrowser.Server.Startup.Common.Migrations;
 using MediaBrowser.WebDashboard.Api;
 using MediaBrowser.WebDashboard.Api;
 using MediaBrowser.XbmcMetadata.Providers;
 using MediaBrowser.XbmcMetadata.Providers;
 using System;
 using System;
@@ -90,6 +89,14 @@ using Emby.Dlna.Main;
 using Emby.Dlna.MediaReceiverRegistrar;
 using Emby.Dlna.MediaReceiverRegistrar;
 using Emby.Dlna.Ssdp;
 using Emby.Dlna.Ssdp;
 using Emby.Server.Core;
 using Emby.Server.Core;
+using Emby.Server.Core.Activity;
+using Emby.Server.Core.Configuration;
+using Emby.Server.Core.Data;
+using Emby.Server.Core.Devices;
+using Emby.Server.Core.Migrations;
+using Emby.Server.Core.Notifications;
+using Emby.Server.Core.Social;
+using Emby.Server.Core.Sync;
 using Emby.Server.Implementations.Activity;
 using Emby.Server.Implementations.Activity;
 using Emby.Server.Implementations.Channels;
 using Emby.Server.Implementations.Channels;
 using Emby.Server.Implementations.Collections;
 using Emby.Server.Implementations.Collections;
@@ -126,15 +133,8 @@ using MediaBrowser.Model.Services;
 using MediaBrowser.Model.Social;
 using MediaBrowser.Model.Social;
 using MediaBrowser.Model.Text;
 using MediaBrowser.Model.Text;
 using MediaBrowser.Model.Xml;
 using MediaBrowser.Model.Xml;
-using MediaBrowser.Server.Startup.Common.Activity;
-using MediaBrowser.Server.Startup.Common.Configuration;
-using MediaBrowser.Server.Startup.Common.Devices;
 using MediaBrowser.Server.Startup.Common.IO;
 using MediaBrowser.Server.Startup.Common.IO;
-using MediaBrowser.Server.Startup.Common.Notifications;
-using MediaBrowser.Server.Startup.Common.Persistence;
 using MediaBrowser.Server.Startup.Common.Security;
 using MediaBrowser.Server.Startup.Common.Security;
-using MediaBrowser.Server.Startup.Common.Social;
-using MediaBrowser.Server.Startup.Common.Sync;
 using OpenSubtitlesHandler;
 using OpenSubtitlesHandler;
 using ServiceStack;
 using ServiceStack;
 using SocketHttpListener.Primitives;
 using SocketHttpListener.Primitives;

+ 1 - 0
MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegLoader.cs

@@ -10,6 +10,7 @@ using System.Linq;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using Emby.Server.Core;
 using Emby.Server.Core;
+using Emby.Server.Core.FFMpeg;
 
 
 namespace MediaBrowser.Server.Startup.Common.FFMpeg
 namespace MediaBrowser.Server.Startup.Common.FFMpeg
 {
 {

+ 2 - 2
MediaBrowser.Server.Startup.Common/INativeApp.cs

@@ -3,8 +3,8 @@ using MediaBrowser.Model.Logging;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Reflection;
 using System.Reflection;
 using Emby.Server.Core;
 using Emby.Server.Core;
-using MediaBrowser.Server.Startup.Common.FFMpeg;
-using MediaBrowser.Server.Startup.Common.Persistence;
+using Emby.Server.Core.Data;
+using Emby.Server.Core.FFMpeg;
 
 
 namespace MediaBrowser.Server.Startup.Common
 namespace MediaBrowser.Server.Startup.Common
 {
 {

+ 21 - 39
MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj

@@ -93,14 +93,27 @@
     <Compile Include="..\SharedVersion.cs">
     <Compile Include="..\SharedVersion.cs">
       <Link>Properties\SharedVersion.cs</Link>
       <Link>Properties\SharedVersion.cs</Link>
     </Compile>
     </Compile>
-    <Compile Include="Activity\ActivityRepository.cs" />
     <Compile Include="ApplicationHost.cs" />
     <Compile Include="ApplicationHost.cs" />
     <Compile Include="ApplicationPathHelper.cs" />
     <Compile Include="ApplicationPathHelper.cs" />
-    <Compile Include="Devices\DeviceRepository.cs" />
-    <Compile Include="EntryPoints\ExternalPortForwarding.cs" />
+    <Compile Include="Cryptography\ASN1.cs" />
+    <Compile Include="Cryptography\ASN1Convert.cs" />
+    <Compile Include="Cryptography\BitConverterLE.cs" />
+    <Compile Include="Cryptography\CertificateGenerator.cs" />
+    <Compile Include="Cryptography\CryptoConvert.cs" />
+    <Compile Include="Cryptography\PfxGenerator.cs" />
+    <Compile Include="Cryptography\PKCS1.cs" />
+    <Compile Include="Cryptography\PKCS12.cs" />
+    <Compile Include="Cryptography\PKCS7.cs" />
+    <Compile Include="Cryptography\PKCS8.cs" />
+    <Compile Include="Cryptography\X501Name.cs" />
+    <Compile Include="Cryptography\X509Builder.cs" />
+    <Compile Include="Cryptography\X509Certificate.cs" />
+    <Compile Include="Cryptography\X509CertificateBuilder.cs" />
+    <Compile Include="Cryptography\X509CertificateCollection.cs" />
+    <Compile Include="Cryptography\X509Extension.cs" />
+    <Compile Include="Cryptography\X509Extensions.cs" />
+    <Compile Include="Cryptography\X520Attributes.cs" />
     <Compile Include="FFMpeg\FFMpegLoader.cs" />
     <Compile Include="FFMpeg\FFMpegLoader.cs" />
-    <Compile Include="FFMpeg\FFMpegInstallInfo.cs" />
-    <Compile Include="FFMpeg\FFMpegInfo.cs" />
     <Compile Include="HttpServerFactory.cs" />
     <Compile Include="HttpServerFactory.cs" />
     <Compile Include="INativeApp.cs" />
     <Compile Include="INativeApp.cs" />
     <Compile Include="IO\LibraryMonitor.cs" />
     <Compile Include="IO\LibraryMonitor.cs" />
@@ -128,44 +141,10 @@
     <Compile Include="LiveTv\TunerHosts\SatIp\TransmissionMode.cs" />
     <Compile Include="LiveTv\TunerHosts\SatIp\TransmissionMode.cs" />
     <Compile Include="LiveTv\TunerHosts\SatIp\Utils.cs" />
     <Compile Include="LiveTv\TunerHosts\SatIp\Utils.cs" />
     <Compile Include="MbLinkShortcutHandler.cs" />
     <Compile Include="MbLinkShortcutHandler.cs" />
-    <Compile Include="Migrations\IVersionMigration.cs" />
-    <Compile Include="Migrations\DbMigration.cs" />
-    <Compile Include="Migrations\UpdateLevelMigration.cs" />
     <Compile Include="NativeEnvironment.cs" />
     <Compile Include="NativeEnvironment.cs" />
-    <Compile Include="Notifications\SqliteNotificationsRepository.cs" />
-    <Compile Include="Persistence\BaseSqliteRepository.cs" />
-    <Compile Include="Persistence\DataExtensions.cs" />
-    <Compile Include="Persistence\IDbConnector.cs" />
-    <Compile Include="Persistence\MediaStreamColumns.cs" />
-    <Compile Include="Persistence\SqliteDisplayPreferencesRepository.cs" />
-    <Compile Include="Persistence\SqliteFileOrganizationRepository.cs" />
-    <Compile Include="Persistence\SqliteItemRepository.cs" />
-    <Compile Include="Persistence\SqliteUserDataRepository.cs" />
-    <Compile Include="Persistence\SqliteUserRepository.cs" />
-    <Compile Include="Persistence\TypeMapper.cs" />
     <Compile Include="Security\AuthenticationRepository.cs" />
     <Compile Include="Security\AuthenticationRepository.cs" />
-    <Compile Include="Cryptography\CertificateGenerator.cs" />
     <Compile Include="Networking\NetworkManager.cs" />
     <Compile Include="Networking\NetworkManager.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Cryptography\ASN1.cs" />
-    <Compile Include="Cryptography\ASN1Convert.cs" />
-    <Compile Include="Cryptography\BitConverterLE.cs" />
-    <Compile Include="Cryptography\CryptoConvert.cs" />
-    <Compile Include="Cryptography\PfxGenerator.cs" />
-    <Compile Include="Cryptography\PKCS1.cs" />
-    <Compile Include="Cryptography\PKCS12.cs" />
-    <Compile Include="Cryptography\PKCS7.cs" />
-    <Compile Include="Cryptography\PKCS8.cs" />
-    <Compile Include="Cryptography\X501Name.cs" />
-    <Compile Include="Cryptography\X509Builder.cs" />
-    <Compile Include="Cryptography\X509Certificate.cs" />
-    <Compile Include="Cryptography\X509CertificateBuilder.cs" />
-    <Compile Include="Cryptography\X509CertificateCollection.cs" />
-    <Compile Include="Cryptography\X509Extension.cs" />
-    <Compile Include="Cryptography\X509Extensions.cs" />
-    <Compile Include="Cryptography\X520Attributes.cs" />
-    <Compile Include="Social\SharingRepository.cs" />
-    <Compile Include="Sync\SyncRepository.cs" />
     <Compile Include="SystemEvents.cs" />
     <Compile Include="SystemEvents.cs" />
     <Compile Include="TextLocalizer.cs" />
     <Compile Include="TextLocalizer.cs" />
   </ItemGroup>
   </ItemGroup>
@@ -408,6 +387,9 @@
     <None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3594.ini" />
     <None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3594.ini" />
     <None Include="packages.config" />
     <None Include="packages.config" />
   </ItemGroup>
   </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Persistence\" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
        Other similar extension points exist, see Microsoft.Common.targets.

+ 1 - 1
MediaBrowser.Server.Startup.Common/Persistence/SqliteExtensions.cs

@@ -4,7 +4,7 @@ using System.Data.SQLite;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 
 
-namespace MediaBrowser.Server.Startup.Common.Persistence
+namespace Emby.Server.Core.Data
 {
 {
     /// <summary>
     /// <summary>
     /// Class SQLiteExtensions
     /// Class SQLiteExtensions

+ 1 - 1
MediaBrowser.Server.Startup.Common/Security/AuthenticationRepository.cs

@@ -5,11 +5,11 @@ using System.Globalization;
 using System.IO;
 using System.IO;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using Emby.Server.Core.Data;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller.Security;
 using MediaBrowser.Controller.Security;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Querying;
 using MediaBrowser.Model.Querying;
-using MediaBrowser.Server.Startup.Common.Persistence;
 
 
 namespace MediaBrowser.Server.Startup.Common.Security
 namespace MediaBrowser.Server.Startup.Common.Security
 {
 {

+ 1 - 1
MediaBrowser.ServerApplication/MainStartup.cs

@@ -1,7 +1,6 @@
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Server.Implementations;
 using MediaBrowser.Server.Implementations;
 using MediaBrowser.Server.Startup.Common;
 using MediaBrowser.Server.Startup.Common;
-using MediaBrowser.Server.Startup.Common.Browser;
 using MediaBrowser.ServerApplication.Native;
 using MediaBrowser.ServerApplication.Native;
 using MediaBrowser.ServerApplication.Splash;
 using MediaBrowser.ServerApplication.Splash;
 using MediaBrowser.ServerApplication.Updates;
 using MediaBrowser.ServerApplication.Updates;
@@ -21,6 +20,7 @@ using System.Windows.Forms;
 using Emby.Common.Implementations.IO;
 using Emby.Common.Implementations.IO;
 using Emby.Common.Implementations.Logging;
 using Emby.Common.Implementations.Logging;
 using Emby.Server.Core;
 using Emby.Server.Core;
+using Emby.Server.Core.Browser;
 using ImageMagickSharp;
 using ImageMagickSharp;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Common.Net;
 
 

+ 1 - 1
MediaBrowser.ServerApplication/Native/DbConnector.cs

@@ -1,7 +1,7 @@
 using System.Data;
 using System.Data;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
+using Emby.Server.Core.Data;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
-using MediaBrowser.Server.Startup.Common.Persistence;
 
 
 namespace MediaBrowser.ServerApplication.Native
 namespace MediaBrowser.ServerApplication.Native
 {
 {

+ 2 - 1
MediaBrowser.ServerApplication/Native/WindowsApp.cs

@@ -9,11 +9,12 @@ using System.IO;
 using System.Reflection;
 using System.Reflection;
 using System.Windows.Forms;
 using System.Windows.Forms;
 using Emby.Server.Core;
 using Emby.Server.Core;
+using Emby.Server.Core.Data;
+using Emby.Server.Core.FFMpeg;
 using MediaBrowser.Common.IO;
 using MediaBrowser.Common.IO;
 using MediaBrowser.Controller.IO;
 using MediaBrowser.Controller.IO;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.System;
 using MediaBrowser.Model.System;
-using MediaBrowser.Server.Startup.Common.Persistence;
 using MediaBrowser.Server.Startup.Common.FFMpeg;
 using MediaBrowser.Server.Startup.Common.FFMpeg;
 using OperatingSystem = MediaBrowser.Server.Startup.Common.OperatingSystem;
 using OperatingSystem = MediaBrowser.Server.Startup.Common.OperatingSystem;
 
 

+ 1 - 1
MediaBrowser.ServerApplication/ServerNotifyIcon.cs

@@ -1,10 +1,10 @@
 using MediaBrowser.Controller;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.Logging;
-using MediaBrowser.Server.Startup.Common.Browser;
 using System;
 using System;
 using System.ComponentModel;
 using System.ComponentModel;
 using System.Windows.Forms;
 using System.Windows.Forms;
+using Emby.Server.Core.Browser;
 using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.Globalization;
 
 
 namespace MediaBrowser.ServerApplication
 namespace MediaBrowser.ServerApplication