namespace Umbraco.Core.Configuration
{
///
/// Contains general settings information for the entire Umbraco instance based on information from web.config appsettings
///
public interface IGlobalSettings
{
// fixme: Review this class, it is now just a dumping ground for config options (based basically on whatever might be in appSettings),
// our config classes should be named according to what they are configuring.
///
/// Gets the reserved urls from web.config.
///
/// The reserved urls.
string ReservedUrls { get; }
///
/// Gets the reserved paths from web.config
///
/// The reserved paths.
string ReservedPaths { get; }
///
/// Gets the time out in minutes.
///
int TimeOutInMinutes { get; }
///
/// Gets the default UI language.
///
/// The default UI language.
// ReSharper disable once InconsistentNaming
string DefaultUILanguage { get; }
///
/// Gets a value indicating whether umbraco should hide top level nodes from generated urls.
///
///
/// true if umbraco hides top level nodes from urls; otherwise, false.
///
bool HideTopLevelNodeFromPath { get; }
///
/// Gets a value indicating whether umbraco should force a secure (https) connection to the backoffice.
///
bool UseHttps { get; }
///
/// Returns a string value to determine if umbraco should skip version-checking.
///
/// The version check period in days (0 = never).
int VersionCheckPeriod { get; }
///
/// Gets the path to umbraco's root directory.
///
string UmbracoPath { get; }
string UmbracoCssPath { get; }
string UmbracoScriptsPath { get; }
string UmbracoMediaPath { get; }
bool IsSmtpServerConfigured { get; }
ISmtpSettings SmtpSettings { get; }
///
/// Gets a value indicating whether the runtime should enter Install level when the database is missing.
///
///
/// By default, when a database connection string is configured but it is not possible to
/// connect to the database, the runtime enters the BootFailed level. If this options is set to true,
/// it enters the Install level instead.
/// It is then up to the implementor, that is setting this value, to take over the installation
/// sequence.
///
bool InstallMissingDatabase { get; }
///
/// Gets a value indicating whether the runtime should enter Install level when the database is empty.
///
///
/// By default, when a database connection string is configured and it is possible to connect to
/// the database, but the database is empty, the runtime enters the BootFailed level. If this options
/// is set to true, it enters the Install level instead.
/// It is then up to the implementor, that is setting this value, to take over the installation
/// sequence.
///
bool InstallEmptyDatabase { get; }
bool DisableElectionForSingleServer { get; }
string RegisterType { get; }
string DatabaseFactoryServerVersion { get; }
string MainDomLock { get; }
///
/// Gets the path to the razor file used when no published content is available.
///
string NoNodesViewPath { get; }
}
}