From 414b1251c791dd914e51a5cfd7afeeaaf912e8a3 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 22 Jun 2014 01:52:31 -0400 Subject: dlna fixes --- .../Library/UserManager.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Library') diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index d81cd09a9..f9d7479ce 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -5,8 +5,10 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Events; using MediaBrowser.Model.Logging; +using MediaBrowser.Model.Serialization; using System; using System.Collections.Generic; using System.IO; @@ -46,16 +48,19 @@ namespace MediaBrowser.Server.Implementations.Library /// The user repository. private IUserRepository UserRepository { get; set; } + private readonly IXmlSerializer _xmlSerializer; + /// /// Initializes a new instance of the class. /// /// The logger. /// The configuration manager. /// The user repository. - public UserManager(ILogger logger, IServerConfigurationManager configurationManager, IUserRepository userRepository) + public UserManager(ILogger logger, IServerConfigurationManager configurationManager, IUserRepository userRepository, IXmlSerializer xmlSerializer) { _logger = logger; UserRepository = userRepository; + _xmlSerializer = xmlSerializer; ConfigurationManager = configurationManager; Users = new List(); } @@ -65,7 +70,8 @@ namespace MediaBrowser.Server.Implementations.Library /// Occurs when [user updated]. /// public event EventHandler> UserUpdated; - + public event EventHandler> UserConfigurationUpdated; + /// /// Called when [user updated]. /// @@ -408,6 +414,13 @@ namespace MediaBrowser.Server.Implementations.Library }; } + public void UpdateConfiguration(User user, UserConfiguration newConfiguration) + { + var xmlPath = user.ConfigurationFilePath; + Directory.CreateDirectory(Path.GetDirectoryName(xmlPath)); + _xmlSerializer.SerializeToFile(newConfiguration, xmlPath); + EventHelper.FireEventIfNotNull(UserConfigurationUpdated, this, new GenericEventArgs { Argument = user }, _logger); + } } } -- cgit v1.2.3