using System;
namespace Umbraco.Core.Persistence
{
///
/// Creates and manages the "ambient" database.
///
public interface IUmbracoDatabaseFactory : IDisposable
{
///
/// Creates a new database.
///
/// The new database must be disposed after being used.
IUmbracoDatabase CreateDatabase();
///
/// Gets a value indicating whether the database factory is configured.
///
bool Configured { get; }
///
/// Gets a value indicating whether the database can connect.
///
bool CanConnect { get; }
///
/// Configures the database factory.
///
void Configure(string connectionString, string providerName);
///
/// Gets the Sql context.
///
ISqlContext SqlContext { get; }
///
/// Configures the database factory for upgrades.
///
void ConfigureForUpgrade();
}
}