diff --git a/MediaBrowser.ApiInteraction.Javascript/ApiClient.js b/MediaBrowser.Api/Javascript/ApiClient.js
similarity index 100%
rename from MediaBrowser.ApiInteraction.Javascript/ApiClient.js
rename to MediaBrowser.Api/Javascript/ApiClient.js
diff --git a/MediaBrowser.ApiInteraction.Javascript/JavascriptApiClientService.cs b/MediaBrowser.Api/Javascript/JavascriptApiClientService.cs
similarity index 90%
rename from MediaBrowser.ApiInteraction.Javascript/JavascriptApiClientService.cs
rename to MediaBrowser.Api/Javascript/JavascriptApiClientService.cs
index c03146e699..8c7499a7cc 100644
--- a/MediaBrowser.ApiInteraction.Javascript/JavascriptApiClientService.cs
+++ b/MediaBrowser.Api/Javascript/JavascriptApiClientService.cs
@@ -5,13 +5,13 @@ using System;
using System.IO;
using System.Threading.Tasks;
-namespace MediaBrowser.ApiInteraction.Javascript
+namespace MediaBrowser.Api.Javascript
{
///
/// Class GetJavascriptApiClient
///
[Route("/JsApiClient.js", "GET")]
- [Api(("Gets an api wrapper in Javascript"))]
+ [ServiceStack.ServiceHost.Api(("Gets an api wrapper in Javascript"))]
public class GetJavascriptApiClient
{
///
@@ -52,7 +52,7 @@ namespace MediaBrowser.ApiInteraction.Javascript
/// Stream.
private Task GetStream()
{
- return Task.FromResult(GetType().Assembly.GetManifestResourceStream("MediaBrowser.ApiInteraction.Javascript.ApiClient.js"));
+ return Task.FromResult(GetType().Assembly.GetManifestResourceStream("MediaBrowser.Api.Javascript.ApiClient.js"));
}
}
}
diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs
index 4ca073c107..434b04eff9 100644
--- a/MediaBrowser.Api/LibraryService.cs
+++ b/MediaBrowser.Api/LibraryService.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Kernel;
+using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
@@ -97,6 +98,26 @@ namespace MediaBrowser.Api
///
public class LibraryService : BaseRestService
{
+ ///
+ /// The _app host
+ ///
+ private readonly IApplicationHost _appHost;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The app host.
+ /// appHost
+ public LibraryService(IApplicationHost appHost)
+ {
+ if (appHost == null)
+ {
+ throw new ArgumentNullException("appHost");
+ }
+
+ _appHost = appHost;
+ }
+
///
/// Gets the specified request.
///
@@ -210,7 +231,7 @@ namespace MediaBrowser.Api
{
var kernel = (Kernel)Kernel;
- var allTypes = kernel.AllTypes.Where(t => !t.IsAbstract && t.IsSubclassOf(typeof(BaseItem)));
+ var allTypes = _appHost.AllConcreteTypes.Where(t => t.IsSubclassOf(typeof(BaseItem)));
if (request.HasInternetProvider)
{
diff --git a/MediaBrowser.Api/MediaBrowser.Api.csproj b/MediaBrowser.Api/MediaBrowser.Api.csproj
index 9bdcdb6506..c6c822624a 100644
--- a/MediaBrowser.Api/MediaBrowser.Api.csproj
+++ b/MediaBrowser.Api/MediaBrowser.Api.csproj
@@ -80,6 +80,7 @@
+
@@ -128,6 +129,7 @@
+
diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs
index f982602bf3..1f906f814c 100644
--- a/MediaBrowser.Api/PluginService.cs
+++ b/MediaBrowser.Api/PluginService.cs
@@ -1,15 +1,15 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Serialization;
using MediaBrowser.Controller;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Plugins;
+using MediaBrowser.Model.Serialization;
using ServiceStack.ServiceHost;
+using ServiceStack.Text.Controller;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using ServiceStack.Text.Controller;
namespace MediaBrowser.Api
{
@@ -119,6 +119,27 @@ namespace MediaBrowser.Api
///
public class PluginService : BaseRestService
{
+ ///
+ /// The _json serializer
+ ///
+ private readonly IJsonSerializer _jsonSerializer;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The json serializer.
+ /// jsonSerializer
+ public PluginService(IJsonSerializer jsonSerializer)
+ : base()
+ {
+ if (jsonSerializer == null)
+ {
+ throw new ArgumentNullException("jsonSerializer");
+ }
+
+ _jsonSerializer = jsonSerializer;
+ }
+
///
/// Gets the specified request.
///
@@ -198,7 +219,7 @@ namespace MediaBrowser.Api
{
var kernel = (Kernel)Kernel;
- var info = JsonSerializer.DeserializeFromStream(request.RequestStream);
+ var info = _jsonSerializer.DeserializeFromStream(request.RequestStream);
kernel.PluginSecurityManager.SupporterKey = info.SupporterKey;
kernel.PluginSecurityManager.LegacyKey = info.LegacyKey;
@@ -217,7 +238,7 @@ namespace MediaBrowser.Api
var plugin = Kernel.Plugins.First(p => p.Id == id);
- var configuration = JsonSerializer.DeserializeFromStream(request.RequestStream, plugin.ConfigurationType) as BasePluginConfiguration;
+ var configuration = _jsonSerializer.DeserializeFromStream(request.RequestStream, plugin.ConfigurationType) as BasePluginConfiguration;
plugin.UpdateConfiguration(configuration);
}
diff --git a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
index 1ca7445427..e79ab90dae 100644
--- a/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
+++ b/MediaBrowser.Api/ScheduledTasks/ScheduledTaskService.cs
@@ -1,7 +1,7 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.ScheduledTasks;
-using MediaBrowser.Common.Serialization;
+using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Tasks;
using ServiceStack.ServiceHost;
using System;
@@ -90,11 +90,32 @@ namespace MediaBrowser.Api.ScheduledTasks
/// The task manager.
private ITaskManager TaskManager { get; set; }
- public ScheduledTaskService(ITaskManager taskManager)
+ ///
+ /// The _json serializer
+ ///
+ private readonly IJsonSerializer _jsonSerializer;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The task manager.
+ /// The json serializer.
+ /// taskManager
+ public ScheduledTaskService(ITaskManager taskManager, IJsonSerializer jsonSerializer)
{
+ if (taskManager == null)
+ {
+ throw new ArgumentNullException("taskManager");
+ }
+ if (jsonSerializer == null)
+ {
+ throw new ArgumentNullException("jsonSerializer");
+ }
+
TaskManager = taskManager;
+ _jsonSerializer = jsonSerializer;
}
-
+
///
/// Gets the specified request.
///
@@ -113,6 +134,7 @@ namespace MediaBrowser.Api.ScheduledTasks
///
/// The request.
/// IEnumerable{TaskInfo}.
+ /// Task not found
public object Get(GetScheduledTask request)
{
var task = TaskManager.ScheduledTasks.FirstOrDefault(i => i.Id == request.Id);
@@ -131,6 +153,7 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Posts the specified request.
///
/// The request.
+ /// Task not found
public void Post(StartScheduledTask request)
{
var task = TaskManager.ScheduledTasks.FirstOrDefault(i => i.Id == request.Id);
@@ -147,6 +170,7 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Posts the specified request.
///
/// The request.
+ /// Task not found
public void Delete(StopScheduledTask request)
{
var task = TaskManager.ScheduledTasks.FirstOrDefault(i => i.Id == request.Id);
@@ -163,6 +187,7 @@ namespace MediaBrowser.Api.ScheduledTasks
/// Posts the specified request.
///
/// The request.
+ /// Task not found
public void Post(UpdateScheduledTaskTriggers request)
{
// We need to parse this manually because we told service stack not to with IRequiresRequestStream
@@ -177,7 +202,7 @@ namespace MediaBrowser.Api.ScheduledTasks
throw new ResourceNotFoundException("Task not found");
}
- var triggerInfos = JsonSerializer.DeserializeFromStream(request.RequestStream);
+ var triggerInfos = _jsonSerializer.DeserializeFromStream(request.RequestStream);
task.Triggers = triggerInfos.Select(ScheduledTaskHelpers.GetTrigger);
}
diff --git a/MediaBrowser.Api/SystemService.cs b/MediaBrowser.Api/SystemService.cs
index 04632aa8e0..7921d024a5 100644
--- a/MediaBrowser.Api/SystemService.cs
+++ b/MediaBrowser.Api/SystemService.cs
@@ -1,15 +1,19 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Serialization;
using MediaBrowser.Controller;
using MediaBrowser.Model.Configuration;
+using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.System;
using ServiceStack.ServiceHost;
+using System;
using System.IO;
using System.Threading.Tasks;
namespace MediaBrowser.Api
{
+ ///
+ /// Class GetSystemInfo
+ ///
[Route("/System/Info", "GET")]
public class GetSystemInfo : IReturn
{
@@ -40,6 +44,10 @@ namespace MediaBrowser.Api
[Route("/System/Configuration", "POST")]
public class UpdateConfiguration : IRequiresRequestStream
{
+ ///
+ /// The raw Http Request Input Stream
+ ///
+ /// The request stream.
public Stream RequestStream { get; set; }
}
@@ -48,6 +56,27 @@ namespace MediaBrowser.Api
///
public class SystemService : BaseRestService
{
+ ///
+ /// The _json serializer
+ ///
+ private readonly IJsonSerializer _jsonSerializer;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The json serializer.
+ /// jsonSerializer
+ public SystemService(IJsonSerializer jsonSerializer)
+ : base()
+ {
+ if (jsonSerializer == null)
+ {
+ throw new ArgumentNullException("jsonSerializer");
+ }
+
+ _jsonSerializer = jsonSerializer;
+ }
+
///
/// Gets the specified request.
///
@@ -95,8 +124,8 @@ namespace MediaBrowser.Api
/// The request.
public void Post(UpdateConfiguration request)
{
- var serverConfig = JsonSerializer.DeserializeFromStream(request.RequestStream);
-
+ var serverConfig = _jsonSerializer.DeserializeFromStream(request.RequestStream);
+
var kernel = (Kernel)Kernel;
kernel.UpdateConfiguration(serverConfig);
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index 576ff88929..4267947ad7 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -1,11 +1,11 @@
using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Serialization;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
+using MediaBrowser.Model.Serialization;
using ServiceStack.ServiceHost;
using System;
using System.Collections.Generic;
@@ -28,7 +28,7 @@ namespace MediaBrowser.Api.UserLibrary
///
/// The user id.
public Guid UserId { get; set; }
-
+
///
/// Gets or sets the id.
///
@@ -48,7 +48,7 @@ namespace MediaBrowser.Api.UserLibrary
///
/// The user id.
public Guid UserId { get; set; }
-
+
///
/// Gets or sets the item id.
///
@@ -68,7 +68,7 @@ namespace MediaBrowser.Api.UserLibrary
///
/// The user id.
public Guid UserId { get; set; }
-
+
///
/// Gets or sets the id.
///
@@ -106,7 +106,7 @@ namespace MediaBrowser.Api.UserLibrary
///
/// The user id.
public Guid UserId { get; set; }
-
+
///
/// Gets or sets the id.
///
@@ -125,7 +125,7 @@ namespace MediaBrowser.Api.UserLibrary
///
/// The user id.
public Guid UserId { get; set; }
-
+
///
/// Gets or sets the id.
///
@@ -144,7 +144,7 @@ namespace MediaBrowser.Api.UserLibrary
///
/// The user id.
public Guid UserId { get; set; }
-
+
///
/// Gets or sets the id.
///
@@ -163,7 +163,7 @@ namespace MediaBrowser.Api.UserLibrary
///
/// The user id.
public Guid UserId { get; set; }
-
+
///
/// Gets or sets the id.
///
@@ -215,6 +215,9 @@ namespace MediaBrowser.Api.UserLibrary
public string Id { get; set; }
}
+ ///
+ /// Class GetLocalTrailers
+ ///
[Route("/Users/{UserId}/Items/{Id}/LocalTrailers", "GET")]
public class GetLocalTrailers : IReturn>
{
@@ -231,6 +234,9 @@ namespace MediaBrowser.Api.UserLibrary
public string Id { get; set; }
}
+ ///
+ /// Class GetSpecialFeatures
+ ///
[Route("/Users/{UserId}/Items/{Id}/SpecialFeatures", "GET")]
public class GetSpecialFeatures : IReturn>
{
@@ -253,6 +259,32 @@ namespace MediaBrowser.Api.UserLibrary
///
public class UserLibraryService : BaseRestService
{
+ ///
+ /// The _json serializer
+ ///
+ private readonly IJsonSerializer _jsonSerializer;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The json serializer.
+ /// jsonSerializer
+ public UserLibraryService(IJsonSerializer jsonSerializer)
+ : base()
+ {
+ if (jsonSerializer == null)
+ {
+ throw new ArgumentNullException("jsonSerializer");
+ }
+
+ _jsonSerializer = jsonSerializer;
+ }
+
+ ///
+ /// Gets the specified request.
+ ///
+ /// The request.
+ /// System.Object.
public object Get(GetSpecialFeatures request)
{
var kernel = (Kernel)Kernel;
@@ -260,7 +292,7 @@ namespace MediaBrowser.Api.UserLibrary
var user = kernel.GetUserById(request.UserId);
var item = DtoBuilder.GetItemByClientId(request.Id, user.Id);
-
+
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
@@ -272,7 +304,12 @@ namespace MediaBrowser.Api.UserLibrary
return ToOptimizedResult(items);
}
-
+
+ ///
+ /// Gets the specified request.
+ ///
+ /// The request.
+ /// System.Object.
public object Get(GetLocalTrailers request)
{
var kernel = (Kernel)Kernel;
@@ -280,7 +317,7 @@ namespace MediaBrowser.Api.UserLibrary
var user = kernel.GetUserById(request.UserId);
var item = DtoBuilder.GetItemByClientId(request.Id, user.Id);
-
+
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
@@ -290,7 +327,7 @@ namespace MediaBrowser.Api.UserLibrary
return ToOptimizedResult(items);
}
-
+
///
/// Gets the specified request.
///
@@ -303,7 +340,7 @@ namespace MediaBrowser.Api.UserLibrary
var user = kernel.GetUserById(request.UserId);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, user.Id);
-
+
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
@@ -366,7 +403,7 @@ namespace MediaBrowser.Api.UserLibrary
var item = (Folder)DtoBuilder.GetItemByClientId(itemId, user.Id);
- var displayPreferences = JsonSerializer.DeserializeFromStream(request.RequestStream);
+ var displayPreferences = _jsonSerializer.DeserializeFromStream(request.RequestStream);
var task = kernel.LibraryManager.SaveDisplayPreferencesForFolder(user, item, displayPreferences);
diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs
index c76479d199..d4490d856a 100644
--- a/MediaBrowser.Api/UserService.cs
+++ b/MediaBrowser.Api/UserService.cs
@@ -1,16 +1,16 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Serialization;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Dto;
+using MediaBrowser.Model.Serialization;
using ServiceStack.ServiceHost;
+using ServiceStack.Text.Controller;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
-using ServiceStack.Text.Controller;
namespace MediaBrowser.Api
{
@@ -135,6 +135,39 @@ namespace MediaBrowser.Api
///
public class UserService : BaseRestService
{
+ ///
+ /// The _XML serializer
+ ///
+ private readonly IXmlSerializer _xmlSerializer;
+
+ ///
+ /// The _json serializer
+ ///
+ private readonly IJsonSerializer _jsonSerializer;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The XML serializer.
+ /// The json serializer.
+ /// xmlSerializer
+ public UserService(IXmlSerializer xmlSerializer, IJsonSerializer jsonSerializer)
+ : base()
+ {
+ if (jsonSerializer == null)
+ {
+ throw new ArgumentNullException("jsonSerializer");
+ }
+
+ if (xmlSerializer == null)
+ {
+ throw new ArgumentNullException("xmlSerializer");
+ }
+
+ _jsonSerializer = jsonSerializer;
+ _xmlSerializer = xmlSerializer;
+ }
+
///
/// Gets the specified request.
///
@@ -262,10 +295,10 @@ namespace MediaBrowser.Api
// https://code.google.com/p/servicestack/source/browse/trunk/Common/ServiceStack.Text/ServiceStack.Text/Controller/PathInfo.cs
var pathInfo = PathInfo.Parse(Request.PathInfo);
var id = new Guid(pathInfo.GetArgumentValue(1));
-
+
var kernel = (Kernel)Kernel;
- var dtoUser = JsonSerializer.DeserializeFromStream(request.RequestStream);
+ var dtoUser = _jsonSerializer.DeserializeFromStream(request.RequestStream);
var user = kernel.GetUserById(id);
@@ -273,7 +306,7 @@ namespace MediaBrowser.Api
Task.WaitAll(task);
- user.UpdateConfiguration(dtoUser.Configuration);
+ user.UpdateConfiguration(dtoUser.Configuration, _xmlSerializer);
}
///
@@ -285,7 +318,7 @@ namespace MediaBrowser.Api
{
var kernel = (Kernel)Kernel;
- var dtoUser = JsonSerializer.DeserializeFromStream(request.RequestStream);
+ var dtoUser = _jsonSerializer.DeserializeFromStream(request.RequestStream);
var newUser = kernel.UserManager.CreateUser(dtoUser.Name).Result;
diff --git a/MediaBrowser.ApiInteraction.Javascript/MediaBrowser.ApiInteraction.Javascript.csproj b/MediaBrowser.ApiInteraction.Javascript/MediaBrowser.ApiInteraction.Javascript.csproj
deleted file mode 100644
index 68e8c880d4..0000000000
--- a/MediaBrowser.ApiInteraction.Javascript/MediaBrowser.ApiInteraction.Javascript.csproj
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {767B536E-D90C-4D74-A14B-8564B16F3499}
- Library
- Properties
- MediaBrowser.ApiInteraction.Javascript
- MediaBrowser.ApiInteraction.Javascript
- v4.5
- 512
- ..\
- true
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
- Always
-
-
-
- False
- ..\packages\ServiceStack.3.9.37\lib\net35\ServiceStack.dll
-
-
- False
- ..\packages\ServiceStack.Common.3.9.37\lib\net35\ServiceStack.Common.dll
-
-
- False
- ..\packages\ServiceStack.Common.3.9.37\lib\net35\ServiceStack.Interfaces.dll
-
-
- False
- ..\packages\ServiceStack.OrmLite.SqlServer.3.9.37\lib\ServiceStack.OrmLite.dll
-
-
- False
- ..\packages\ServiceStack.OrmLite.SqlServer.3.9.37\lib\ServiceStack.OrmLite.SqlServer.dll
-
-
- False
- ..\packages\ServiceStack.Redis.3.9.37\lib\net35\ServiceStack.Redis.dll
-
-
- False
- ..\packages\ServiceStack.3.9.37\lib\net35\ServiceStack.ServiceInterface.dll
-
-
- False
- ..\packages\ServiceStack.Text.3.9.37\lib\net35\ServiceStack.Text.dll
-
-
-
-
-
-
-
- Properties\SharedVersion.cs
-
-
-
-
-
-
- {9142eefa-7570-41e1-bfcc-468bb571af2f}
- MediaBrowser.Common
-
-
-
-
-
-
-
-
-
-
- xcopy "$(TargetPath)" "$(SolutionDir)\MediaBrowser.ServerApplication\CorePlugins\" /y
-
-
-
-
\ No newline at end of file
diff --git a/MediaBrowser.ApiInteraction.Javascript/Properties/AssemblyInfo.cs b/MediaBrowser.ApiInteraction.Javascript/Properties/AssemblyInfo.cs
deleted file mode 100644
index 1a0333e49b..0000000000
--- a/MediaBrowser.ApiInteraction.Javascript/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("MediaBrowser.ApiInteraction.Javascript")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("MediaBrowser.ApiInteraction.Javascript")]
-[assembly: AssemblyCopyright("Copyright © 2012")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("97f9d4da-d7de-47d9-ae68-06d78679d327")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
\ No newline at end of file
diff --git a/MediaBrowser.ApiInteraction.Javascript/packages.config b/MediaBrowser.ApiInteraction.Javascript/packages.config
deleted file mode 100644
index ea25110aae..0000000000
--- a/MediaBrowser.ApiInteraction.Javascript/packages.config
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/MediaBrowser.Common/Kernel/BaseApplicationPaths.cs b/MediaBrowser.Common.Implementations/BaseApplicationPaths.cs
similarity index 99%
rename from MediaBrowser.Common/Kernel/BaseApplicationPaths.cs
rename to MediaBrowser.Common.Implementations/BaseApplicationPaths.cs
index 936c484c8a..93478b22c1 100644
--- a/MediaBrowser.Common/Kernel/BaseApplicationPaths.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationPaths.cs
@@ -3,7 +3,7 @@ using System.Configuration;
using System.IO;
using System.Reflection;
-namespace MediaBrowser.Common.Kernel
+namespace MediaBrowser.Common.Implementations
{
///
/// Provides a base class to hold common application paths used by both the Ui and Server.
diff --git a/MediaBrowser.Server.WorldWeatherOnline/MediaBrowser.Server.WorldWeatherOnline.csproj b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
similarity index 61%
rename from MediaBrowser.Server.WorldWeatherOnline/MediaBrowser.Server.WorldWeatherOnline.csproj
rename to MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
index 1e97a482ed..d271db0600 100644
--- a/MediaBrowser.Server.WorldWeatherOnline/MediaBrowser.Server.WorldWeatherOnline.csproj
+++ b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
@@ -4,13 +4,15 @@
Debug
AnyCPU
- {973CA45C-8362-490B-8327-C68098FD4891}
+ {C4D2573A-3FD3-441F-81AF-174AC4CD4E1D}
Library
Properties
- MediaBrowser.Server.WorldWeatherOnline
- MediaBrowser.Server.WorldWeatherOnline
+ MediaBrowser.Common.Implementations
+ MediaBrowser.Common.Implementations
v4.5
512
+ ..\
+ true
true
@@ -29,39 +31,52 @@
prompt
4
-
- Always
-
+
+ ..\packages\protobuf-net.2.0.0.621\lib\net40\protobuf-net.dll
+
+
+ ..\packages\ServiceStack.Text.3.9.37\lib\net35\ServiceStack.Text.dll
+
+
+
+
+
+
Properties\SharedVersion.cs
+
-
+
+
+
+
+
+
+
+
{9142eefa-7570-41e1-bfcc-468bb571af2f}
MediaBrowser.Common
-
- {17e1f4e6-8abd-4fe5-9ecf-43d4b6087ba2}
- MediaBrowser.Controller
-
{7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b}
MediaBrowser.Model
+
+
+
-
- xcopy "$(TargetPath)" "$(SolutionDir)\MediaBrowser.ServerApplication\CorePlugins\" /y
-
+