//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // // [....] // [....] //------------------------------------------------------------------------------ using System; using System.Data; using System.Data.Common; using System.Data.Sql; using System.Security; using System.Security.Permissions; namespace System.Data.SqlClient { public sealed class SqlClientFactory : DbProviderFactory, IServiceProvider { public static readonly SqlClientFactory Instance = new SqlClientFactory(); private SqlClientFactory() { } public override bool CanCreateDataSourceEnumerator { get { return true; } } public override DbCommand CreateCommand() { return new SqlCommand(); } public override DbCommandBuilder CreateCommandBuilder() { return new SqlCommandBuilder(); } public override DbConnection CreateConnection() { return new SqlConnection(); } public override DbConnectionStringBuilder CreateConnectionStringBuilder() { return new SqlConnectionStringBuilder(); } public override DbDataAdapter CreateDataAdapter() { return new SqlDataAdapter(); } public override DbParameter CreateParameter() { return new SqlParameter(); } public override CodeAccessPermission CreatePermission(PermissionState state) { return new SqlClientPermission(state); } public override DbDataSourceEnumerator CreateDataSourceEnumerator() { return SqlDataSourceEnumerator.Instance; } /// /// Extension mechanism for additional services; currently the only service /// supported is the DbProviderServices /// /// requested service provider or null. object IServiceProvider.GetService(Type serviceType) { object result = null; if (serviceType == GreenMethods.SystemDataCommonDbProviderServices_Type) { result = GreenMethods.SystemDataSqlClientSqlProviderServices_Instance(); } return result; } } }