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)); } } }