aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-02 09:45:02 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-09-02 09:45:02 -0400
commite52833059bc819cbdb41ba204b82aee1760ddb3a (patch)
treee55fd39ffcbc2d268639610cf78b987b21973884
parent7ad612bb4b181a7426c1ba2d15692c1f230d236c (diff)
Moved server configuration to the model so that the UI can read it
-rw-r--r--MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs15
-rw-r--r--MediaBrowser.Api/MediaBrowser.Api.csproj1
-rw-r--r--MediaBrowser.Api/Plugin.cs4
-rw-r--r--MediaBrowser.ApiInteraction/ApiClient.cs18
-rw-r--r--MediaBrowser.Common/Kernel/BaseApplicationPaths.cs (renamed from MediaBrowser.Common/Configuration/BaseApplicationPaths.cs)2
-rw-r--r--MediaBrowser.Common/Kernel/BaseKernel.cs10
-rw-r--r--MediaBrowser.Common/MediaBrowser.Common.csproj3
-rw-r--r--MediaBrowser.Common/UI/BaseApplication.cs5
-rw-r--r--MediaBrowser.Controller/Kernel.cs2
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj3
-rw-r--r--MediaBrowser.Controller/ServerApplicationPaths.cs (renamed from MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs)4
-rw-r--r--MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs (renamed from MediaBrowser.Common/Configuration/BaseApplicationConfiguration.cs)8
-rw-r--r--MediaBrowser.Model/Configuration/ServerConfiguration.cs (renamed from MediaBrowser.Controller/Configuration/ServerConfiguration.cs)5
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj2
14 files changed, 55 insertions, 27 deletions
diff --git a/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs b/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs
new file mode 100644
index 000000000..175876b4c
--- /dev/null
+++ b/MediaBrowser.Api/HttpHandlers/ServerConfigurationHandler.cs
@@ -0,0 +1,15 @@
+using System.Threading.Tasks;
+using MediaBrowser.Common.Net.Handlers;
+using MediaBrowser.Controller;
+using MediaBrowser.Model.Configuration;
+
+namespace MediaBrowser.Api.HttpHandlers
+{
+ class ServerConfigurationHandler : BaseSerializationHandler<ServerConfiguration>
+ {
+ protected override Task<ServerConfiguration> GetObjectToSerialize()
+ {
+ return Task.FromResult<ServerConfiguration>(Kernel.Instance.Configuration);
+ }
+ }
+}
diff --git a/MediaBrowser.Api/MediaBrowser.Api.csproj b/MediaBrowser.Api/MediaBrowser.Api.csproj
index 5d3221093..89bb5adc9 100644
--- a/MediaBrowser.Api/MediaBrowser.Api.csproj
+++ b/MediaBrowser.Api/MediaBrowser.Api.csproj
@@ -65,6 +65,7 @@
<Compile Include="HttpHandlers\PersonHandler.cs" />
<Compile Include="HttpHandlers\PluginConfigurationHandler.cs" />
<Compile Include="HttpHandlers\PluginsHandler.cs" />
+ <Compile Include="HttpHandlers\ServerConfigurationHandler.cs" />
<Compile Include="HttpHandlers\StudioHandler.cs" />
<Compile Include="HttpHandlers\StudiosHandler.cs" />
<Compile Include="HttpHandlers\UsersHandler.cs" />
diff --git a/MediaBrowser.Api/Plugin.cs b/MediaBrowser.Api/Plugin.cs
index 467b30ef1..f13b9efb3 100644
--- a/MediaBrowser.Api/Plugin.cs
+++ b/MediaBrowser.Api/Plugin.cs
@@ -105,6 +105,10 @@ namespace MediaBrowser.Api
{
return new WeatherHandler();
}
+ else if (localPath.EndsWith("/api/cerverconfiguration", StringComparison.OrdinalIgnoreCase))
+ {
+ return new ServerConfigurationHandler();
+ }
return null;
}
diff --git a/MediaBrowser.ApiInteraction/ApiClient.cs b/MediaBrowser.ApiInteraction/ApiClient.cs
index 99af250ca..922b4bb0c 100644
--- a/MediaBrowser.ApiInteraction/ApiClient.cs
+++ b/MediaBrowser.ApiInteraction/ApiClient.cs
@@ -4,6 +4,7 @@ using System.IO;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
+using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Weather;
@@ -568,7 +569,20 @@ namespace MediaBrowser.ApiInteraction
/// <summary>
/// Gets weather information for the default location as set in configuration
/// </summary>
- public async Task<WeatherInfo> GetWeatherInfo()
+ public async Task<ServerConfiguration> GetServerConfigurationAsync()
+ {
+ string url = ApiUrl + "/ServerConfiguration";
+
+ using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
+ {
+ return DeserializeFromStream<ServerConfiguration>(stream);
+ }
+ }
+
+ /// <summary>
+ /// Gets weather information for the default location as set in configuration
+ /// </summary>
+ public async Task<WeatherInfo> GetWeatherInfoAsync()
{
string url = ApiUrl + "/weather";
@@ -581,7 +595,7 @@ namespace MediaBrowser.ApiInteraction
/// <summary>
/// Gets weather information for a specific zip code
/// </summary>
- public async Task<WeatherInfo> GetWeatherInfo(string zipCode)
+ public async Task<WeatherInfo> GetWeatherInfoAsync(string zipCode)
{
string url = ApiUrl + "/weather?zipcode=" + zipCode;
diff --git a/MediaBrowser.Common/Configuration/BaseApplicationPaths.cs b/MediaBrowser.Common/Kernel/BaseApplicationPaths.cs
index d030da844..3c394680f 100644
--- a/MediaBrowser.Common/Configuration/BaseApplicationPaths.cs
+++ b/MediaBrowser.Common/Kernel/BaseApplicationPaths.cs
@@ -2,7 +2,7 @@
using System.IO;
using System.Reflection;
-namespace MediaBrowser.Common.Configuration
+namespace MediaBrowser.Common.Kernel
{
/// <summary>
/// Provides a base class to hold common application paths used by both the UI and Server.
diff --git a/MediaBrowser.Common/Kernel/BaseKernel.cs b/MediaBrowser.Common/Kernel/BaseKernel.cs
index 5ba68cf4e..44569cbad 100644
--- a/MediaBrowser.Common/Kernel/BaseKernel.cs
+++ b/MediaBrowser.Common/Kernel/BaseKernel.cs
@@ -6,11 +6,11 @@ using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
-using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Logging;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.Serialization;
+using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Progress;
namespace MediaBrowser.Common.Kernel
@@ -93,17 +93,17 @@ namespace MediaBrowser.Common.Kernel
protected void ReloadComposableParts()
{
DisposeComposableParts();
-
+
// Gets all plugin assemblies by first reading all bytes of the .dll and calling Assembly.Load against that
// This will prevent the .dll file from getting locked, and allow us to replace it when needed
IEnumerable<Assembly> pluginAssemblies = Directory.GetFiles(ApplicationPaths.PluginsPath, "*.dll", SearchOption.AllDirectories).Select(f => Assembly.Load(File.ReadAllBytes((f))));
var catalog = new AggregateCatalog(pluginAssemblies.Select(a => new AssemblyCatalog(a)));
-
+
// Include composable parts in the Common assembly
// Uncomment this if it's ever needed
//catalog.Catalogs.Add(new AssemblyCatalog(Assembly.GetExecutingAssembly()));
-
+
// Include composable parts in the subclass assembly
catalog.Catalogs.Add(new AssemblyCatalog(GetType().Assembly));
@@ -171,7 +171,7 @@ namespace MediaBrowser.Common.Kernel
Configuration = XmlSerializer.DeserializeFromFile<TConfigurationType>(ApplicationPaths.SystemConfigurationFilePath);
}
- Logger.LoggerInstance.LogSeverity = Configuration.LogSeverity;
+ Logger.LoggerInstance.LogSeverity = Configuration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info;
}
/// <summary>
diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj
index d80303d1f..841eccf73 100644
--- a/MediaBrowser.Common/MediaBrowser.Common.csproj
+++ b/MediaBrowser.Common/MediaBrowser.Common.csproj
@@ -74,8 +74,7 @@
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
- <Compile Include="Configuration\BaseApplicationConfiguration.cs" />
- <Compile Include="Configuration\BaseApplicationPaths.cs" />
+ <Compile Include="Kernel\BaseApplicationPaths.cs" />
<Compile Include="Drawing\DrawingUtils.cs" />
<Compile Include="Net\Handlers\StaticFileHandler.cs" />
<Compile Include="Net\MimeTypes.cs" />
diff --git a/MediaBrowser.Common/UI/BaseApplication.cs b/MediaBrowser.Common/UI/BaseApplication.cs
index fb771f1e3..2112be679 100644
--- a/MediaBrowser.Common/UI/BaseApplication.cs
+++ b/MediaBrowser.Common/UI/BaseApplication.cs
@@ -1,13 +1,10 @@
using System;
-using System.IO;
-using System.Threading.Tasks;
+using System.Reflection;
using System.Windows;
-using System.Windows.Controls;
using System.Windows.Media.Imaging;
using MediaBrowser.Common.Kernel;
using MediaBrowser.Common.Logging;
using MediaBrowser.Model.Progress;
-using System.Reflection;
namespace MediaBrowser.Common.UI
{
diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs
index 1a161ccc9..32f4a5828 100644
--- a/MediaBrowser.Controller/Kernel.cs
+++ b/MediaBrowser.Controller/Kernel.cs
@@ -9,12 +9,12 @@ using System.Text;
using System.Threading.Tasks;
using MediaBrowser.Common.Kernel;
using MediaBrowser.Common.Logging;
-using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Resolvers;
using MediaBrowser.Controller.Weather;
+using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Progress;
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index f72202fea..1547deea2 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -58,8 +58,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
- <Compile Include="Configuration\ServerApplicationPaths.cs" />
- <Compile Include="Configuration\ServerConfiguration.cs" />
+ <Compile Include="ServerApplicationPaths.cs" />
<Compile Include="Library\ItemResolveEventArgs.cs" />
<Compile Include="FFMpeg\FFProbe.cs" />
<Compile Include="FFMpeg\FFProbeResult.cs" />
diff --git a/MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs b/MediaBrowser.Controller/ServerApplicationPaths.cs
index 92283ab25..0f4932fd0 100644
--- a/MediaBrowser.Controller/Configuration/ServerApplicationPaths.cs
+++ b/MediaBrowser.Controller/ServerApplicationPaths.cs
@@ -1,7 +1,7 @@
using System.IO;
-using MediaBrowser.Common.Configuration;
+using MediaBrowser.Common.Kernel;
-namespace MediaBrowser.Controller.Configuration
+namespace MediaBrowser.Controller
{
/// <summary>
/// Extends BaseApplicationPaths to add paths that are only applicable on the server
diff --git a/MediaBrowser.Common/Configuration/BaseApplicationConfiguration.cs b/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs
index 7ed782bdb..17be9eaef 100644
--- a/MediaBrowser.Common/Configuration/BaseApplicationConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs
@@ -1,18 +1,16 @@
-using MediaBrowser.Common.Logging;
-
-namespace MediaBrowser.Common.Configuration
+
+namespace MediaBrowser.Model.Configuration
{
/// <summary>
/// Serves as a common base class for the Server and UI application Configurations
/// </summary>
public class BaseApplicationConfiguration
{
- public LogSeverity LogSeverity { get; set; }
+ public bool EnableDebugLevelLogging { get; set; }
public int HttpServerPortNumber { get; set; }
public BaseApplicationConfiguration()
{
- LogSeverity = LogSeverity.Info;
HttpServerPortNumber = 8096;
}
}
diff --git a/MediaBrowser.Controller/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
index 368c8ef37..97b88a5d9 100644
--- a/MediaBrowser.Controller/Configuration/ServerConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
@@ -1,6 +1,5 @@
-using MediaBrowser.Common.Configuration;
-
-namespace MediaBrowser.Controller.Configuration
+
+namespace MediaBrowser.Model.Configuration
{
public class ServerConfiguration : BaseApplicationConfiguration
{
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index dabc6864c..b91e7ea17 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -32,6 +32,8 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
+ <Compile Include="Configuration\BaseApplicationConfiguration.cs" />
+ <Compile Include="Configuration\ServerConfiguration.cs" />
<Compile Include="DTO\AudioInfo.cs" />
<Compile Include="DTO\DTOBaseItem.cs" />
<Compile Include="DTO\DTOUser.cs" />