From 6c7175e33d258ff2e65735f68cb05f110a8d2306 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Mon, 23 Jul 2012 11:05:30 -0400 Subject: Added an api call to pull down user configuration --- .../Configuration/BaseConfiguration.cs | 2 +- .../Configuration/ConfigurationController.cs | 37 ++++++++++++++++++++++ .../Configuration/UserConfiguration.cs | 21 ++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 MediaBrowser.Common/Configuration/ConfigurationController.cs create mode 100644 MediaBrowser.Common/Configuration/UserConfiguration.cs (limited to 'MediaBrowser.Common/Configuration') diff --git a/MediaBrowser.Common/Configuration/BaseConfiguration.cs b/MediaBrowser.Common/Configuration/BaseConfiguration.cs index bf53686ab3..fe6c1f278e 100644 --- a/MediaBrowser.Common/Configuration/BaseConfiguration.cs +++ b/MediaBrowser.Common/Configuration/BaseConfiguration.cs @@ -3,7 +3,7 @@ namespace MediaBrowser.Common.Configuration { /// - /// Serves as a common base class for the Server and UI Configurations + /// Serves as a common base class for the Server and UI application Configurations /// public class BaseConfiguration { diff --git a/MediaBrowser.Common/Configuration/ConfigurationController.cs b/MediaBrowser.Common/Configuration/ConfigurationController.cs new file mode 100644 index 0000000000..547d195f5a --- /dev/null +++ b/MediaBrowser.Common/Configuration/ConfigurationController.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.IO; +using MediaBrowser.Common.Json; + +namespace MediaBrowser.Common.Configuration +{ + public class ConfigurationController + where TConfigurationType : BaseConfiguration, new () + { + /// + /// The path to the configuration file + /// + public string Path { get; set; } + + public TConfigurationType Configuration { get; set; } + + public void Reload() + { + if (!File.Exists(Path)) + { + Configuration = new TConfigurationType(); + } + else + { + Configuration = JsonSerializer.DeserializeFromFile(Path); + } + } + + public void Save() + { + } + } +} diff --git a/MediaBrowser.Common/Configuration/UserConfiguration.cs b/MediaBrowser.Common/Configuration/UserConfiguration.cs new file mode 100644 index 0000000000..0cdc810a6a --- /dev/null +++ b/MediaBrowser.Common/Configuration/UserConfiguration.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MediaBrowser.Common.Configuration +{ + /// + /// This holds settings that can be personalized on a per-user, per-device basis. + /// + public class UserConfiguration + { + public int RecentItemDays { get; set; } + + public UserConfiguration() + { + RecentItemDays = 14; + } + } +} -- cgit v1.2.3