//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
namespace Microsoft.SqlTools.CoreServices.Connection
{
///
/// Any operation that needs full access to databas should implement this interface.
/// Make sure to call GainAccessToDatabase before the operation and ReleaseAccessToDatabase after
///
public interface IFeatureWithFullDbAccess
{
///
/// Database Lock Manager
///
DatabaseLocksManager LockedDatabaseManager { get; set; }
///
/// Makes sure the feature has fill access to the database
///
bool GainAccessToDatabase();
///
/// Release the access to db
///
bool ReleaseAccessToDatabase();
///
/// Server name
///
string ServerName { get; }
///
/// Database name
///
string DatabaseName { get; }
}
}