using System.IO;
using Umbraco.Core.Cache;
using Umbraco.Core.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.Configuration.Grid;
using Umbraco.Core.Configuration.HealthChecks;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Manifest;
namespace Umbraco.Core
{
///
/// Provides extension methods for the class.
///
public static class ConfigsExtensions
{
public static IGlobalSettings Global(this Configs configs)
=> configs.GetConfig();
public static IHostingSettings Hosting(this Configs configs)
=> configs.GetConfig();
public static IConnectionStrings ConnectionStrings(this Configs configs)
=> configs.GetConfig();
public static IContentSettings Content(this Configs configs)
=> configs.GetConfig();
public static ISecuritySettings Security(this Configs configs)
=> configs.GetConfig();
public static IUserPasswordConfiguration UserPasswordConfiguration(this Configs configs)
=> configs.GetConfig();
public static IMemberPasswordConfiguration MemberPasswordConfiguration(this Configs configs)
=> configs.GetConfig();
public static IRequestHandlerSettings RequestHandler(this Configs configs)
=> configs.GetConfig();
public static IWebRoutingSettings WebRouting(this Configs configs)
=> configs.GetConfig();
public static IHealthChecks HealthChecks(this Configs configs)
=> configs.GetConfig();
public static IGridConfig Grids(this Configs configs)
=> configs.GetConfig();
public static ICoreDebug CoreDebug(this Configs configs)
=> configs.GetConfig();
public static void AddCoreConfigs(this Configs configs)
{
// GridConfig depends on runtime caches, manifest parsers... and cannot be available during composition
configs.Add(factory => new GridConfig(
factory.GetInstance(),
factory.GetInstance(),
new DirectoryInfo(factory.GetInstance().MapPath(Constants.SystemDirectories.Config)),
factory.GetInstance(),
factory.GetInstance().Debug));
}
}
}