@ -6,6 +6,8 @@ using System.Xml.Linq;
using NzbDrone.Common ;
using NzbDrone.Common.Cache ;
using NzbDrone.Common.EnvironmentInfo ;
using NzbDrone.Common.Messaging ;
using NzbDrone.Core.Configuration.Events ;
namespace NzbDrone.Core.Configuration
{
@ -19,19 +21,22 @@ namespace NzbDrone.Core.Configuration
bool AuthenticationEnabled { get ; }
string Username { get ; }
string Password { get ; }
string LogLevel { get ; }
}
public class ConfigFileProvider : IConfigFileProvider
{
private readonly IAppFolderInfo _appFolderInfo ;
private readonly IMessageAggregator _messageAggregator ;
private readonly ICached < string > _cache ;
private readonly string _configFile ;
public ConfigFileProvider ( IAppFolderInfo appFolderInfo , ICacheManger cacheManger )
public ConfigFileProvider ( IAppFolderInfo appFolderInfo , ICacheManger cacheManger , IMessageAggregator messageAggregator )
{
_appFolderInfo = appFolderInfo ;
_cache = cacheManger . GetCache < string > ( GetType ( ) ) ;
_messageAggregator = messageAggregator ;
_configFile = _appFolderInfo . GetConfigPath ( ) ;
}
@ -72,7 +77,7 @@ namespace NzbDrone.Core.Configuration
}
}
_messageAggregator . PublishEvent ( new ConfigFileSavedEvent ( ) ) ;
}
public int Port
@ -100,6 +105,11 @@ namespace NzbDrone.Core.Configuration
get { return GetValue ( "Password" , "" ) ; }
}
public string LogLevel
{
get { return GetValue ( "LogLevel" , "Info" ) ; }
}
public int GetValueInt ( string key , int defaultValue )
{
return Convert . ToInt32 ( GetValue ( key , defaultValue ) ) ;