// // Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. // using System.Threading; using Microsoft.SqlServer.Management.Common; using Microsoft.SqlServer.Management.SmoMetadataProvider; using Microsoft.SqlServer.Management.SqlParser.Binder; using Microsoft.SqlServer.Management.SqlParser.Common; using Microsoft.SqlServer.Management.SqlParser.MetadataProvider; using Microsoft.SqlServer.Management.SqlParser.Parser; namespace Microsoft.SqlTools.CoreServices.LanguageServices { /// /// The context used for binding requests /// public interface IBindingContext { /// /// Gets or sets a flag indicating if the context is connected /// bool IsConnected { get; set; } /// /// Gets or sets the binding server connection /// ServerConnection ServerConnection { get; set; } /// /// Gets or sets the metadata display info provider /// MetadataDisplayInfoProvider MetadataDisplayInfoProvider { get; set; } /// /// Gets or sets the SMO metadata provider /// SmoMetadataProvider SmoMetadataProvider { get; set; } /// /// Gets or sets the binder /// IBinder Binder { get; set; } /// /// Gets the binding lock object /// ManualResetEvent BindingLock { get; } /// /// Gets or sets the binding operation timeout in milliseconds /// int BindingTimeout { get; set; } /// /// Gets or sets the current connection parse options /// ParseOptions ParseOptions { get; } /// /// Gets or sets the current connection server version /// ServerVersion ServerVersion { get; } /// /// Gets or sets the database engine type /// DatabaseEngineType DatabaseEngineType { get; } /// /// Gets or sets the T-SQL version /// TransactSqlVersion TransactSqlVersion { get; } /// /// Gets or sets the database compatibility level /// DatabaseCompatibilityLevel DatabaseCompatibilityLevel { get; } } }