// Copyright (C) Tim Coleman, 2003
//
-#if NET_1_2
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+using System.Transactions;
using System.Data.Common;
using System.EnterpriseServices;
public abstract class DbConnectionBase : DbConnection
{
#region Fields
+
+ DbConnectionFactory connectionFactory;
+ DbConnectionString connectionOptions;
+ string connectionString;
+ bool disposed = false;
#endregion // Fields
#region Constructors
- [MonoTODO]
protected DbConnectionBase (DbConnectionBase connection)
+ : this (connection.ConnectionFactory)
{
}
- [MonoTODO]
protected DbConnectionBase (DbConnectionFactory connectionFactory)
{
+ this.connectionFactory = connectionFactory;
}
+
+ protected DbConnectionBase ()
+ {
+
+ }
#endregion // Constructors
get { throw new NotImplementedException (); }
}
- [MonoTODO]
protected internal DbConnectionFactory ConnectionFactory {
- get { throw new NotImplementedException (); }
+ get { return connectionFactory; }
}
- [MonoTODO]
protected internal DbConnectionString ConnectionOptions {
- get { throw new NotImplementedException (); }
+ get { return connectionOptions; }
}
- [MonoTODO]
public override string ConnectionString {
- get { throw new NotImplementedException (); }
- set { throw new NotImplementedException (); }
+ get { return connectionString; }
+ set {
+ //connectionOptions = ConnectionFactory.CreateConnectionOptionsInternal (value);
+ connectionString = value;
+ }
}
[MonoTODO]
throw new NotImplementedException ();
}
- [MonoTODO]
protected override DbCommand CreateDbCommand ()
+ {
+ DbCommand cmd = (DbCommand) ConnectionFactory.ProviderFactory.CreateCommand ();
+ cmd.Connection = this;
+ return cmd;
+ }
+
+ protected override void Dispose (bool disposing)
+ {
+ if (!disposed) {
+ try {
+ if (disposing) {
+ // do necessary clean up
+ }
+ disposed = true;
+ } finally {
+ base.Dispose (disposing);
+ }
+ }
+ }
+
+ [MonoTODO]
+ public void EnlistDistributedTransaction (EnterpriseServices.ITransaction transaction)
{
throw new NotImplementedException ();
}
+ [MonoTODO]
+ public void EnlistTransaction (Transaction transaction)
+ {
+ throw new NotImplementedException ();
+ }
+
[MonoTODO]
- protected override void Dispose (bool disposing)
+ protected virtual DbMetaDataFactory GetMetaDataFactory (DbConnectionInternal internalConnection)
{
throw new NotImplementedException ();
}
+ protected void OnStateChange (ConnectionState originalState, ConnectionState currentState)
+ {
+ if (StateChange != null)
+ StateChange (this, new StateChangeEventArgs (originalState, currentState));
+ }
+
[MonoTODO]
- public override void EnlistDistributedTransaction (ITransaction transaction)
+ public override void Open ()
{
throw new NotImplementedException ();
}
[MonoTODO]
- protected virtual DbMetaDataFactory GetMetaDataFactory (DbConnectionInternal internalConnection)
+ public override DataTable GetSchema ()
{
throw new NotImplementedException ();
}
[MonoTODO]
- protected void OnStateChange (ConnectionState originalState, ConnectionState currentState)
+ public override DataTable GetSchema (string collectionName)
{
throw new NotImplementedException ();
}
[MonoTODO]
- public override void Open ()
+ public override DataTable GetSchema (string collectionName, string [] restrictionValues)
{
throw new NotImplementedException ();
}