Files
Umbraco-CMS/src/Umbraco.Core/IRuntimeState.cs
2018-03-29 11:31:33 +02:00

76 lines
2.1 KiB
C#

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