using System; using Semver; using Umbraco.Core.Exceptions; using Umbraco.Core.Sync; namespace Umbraco.Core { /// /// Represents the state of the Umbraco runtime. /// public interface IRuntimeState { /// /// Gets the version of the executing code. /// Version Version { get; } /// /// Gets the version comment of the executing code. /// string VersionComment { get; } /// /// Gets the semantic version of the executing code. /// SemVersion SemanticVersion { get; } /// /// Gets a value indicating whether the application is running in debug mode. /// bool Debug { get; } /// /// Gets a value indicating whether the runtime is the current main domain. /// bool IsMainDom { get; } /// /// Get the server's current role. /// ServerRole ServerRole { get; } /// /// Gets the Umbraco application url. /// /// This is eg "http://www.example.com". Uri ApplicationUrl { get; } /// /// Gets the Umbraco application virtual path. /// /// This is either "/" or eg "/virtual". string ApplicationVirtualPath { get; } /// /// Gets the runtime level of execution. /// RuntimeLevel Level { get; } /// /// Gets the current migration state. /// string CurrentMigrationState { get; } /// /// Gets the final migration state. /// string FinalMigrationState { get; } /// /// Gets the exception that caused the boot to fail. /// BootFailedException BootFailedException { get; } } }