Parcourir la source

2004-09-13 Sebastien Pouliot <[email protected]>

	* OdbcPermission.cs: Mostly completed (needs tests).
	* OdbcPermissionAttribute.cs: Completed.

svn path=/trunk/mcs/; revision=33830
Sebastien Pouliot il y a 21 ans
Parent
commit
70d02a3c3d

+ 5 - 0
mcs/class/System.Data/System.Data.Odbc/ChangeLog

@@ -1,3 +1,8 @@
+2004-09-13  Sebastien Pouliot  <[email protected]>
+
+	* OdbcPermission.cs: Mostly completed (needs tests).
+	* OdbcPermissionAttribute.cs: Completed.
+
 2004-08-31 Umadevi S ([email protected])
 	* OdbcDataReader.cs - Fixed Decimal parsing
 

+ 29 - 34
mcs/class/System.Data/System.Data.Odbc/OdbcPermission.cs

@@ -1,12 +1,9 @@
 //
 // System.Data.Odbc.OdbcPermission
 //
-// Author:
-//   Umadevi S ([email protected])
-//
-// Copyright (C) Novell Inc, 2004
-//
-
+// Authors:
+//	Umadevi S ([email protected])
+//	Sebastien Pouliot  <[email protected]>
 //
 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
 //
@@ -30,72 +27,70 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-using System.Data;
 using System.Data.Common;
 using System.Security;
 using System.Security.Permissions;
 
-namespace System.Data.Odbc
-{
+namespace System.Data.Odbc {
+
 	[Serializable]
-	public sealed class OdbcPermission : DBDataPermission
-	{
+	public sealed class OdbcPermission : DBDataPermission {
+
 		#region Constructors
 
-		[MonoTODO]
 #if NET_1_1
-               [Obsolete ("use OdbcPermission(PermissionState.None)", true)]
+		[Obsolete ("use OdbcPermission(PermissionState.None)", true)]
 #endif
-		public OdbcPermission () : base (PermissionState.None)
+		public OdbcPermission ()
+			: base (PermissionState.None)
 		{
-			throw new NotImplementedException ();
 		}
 
-		[MonoTODO]
 		public OdbcPermission (PermissionState state)
 			: base (state)
 		{
-			throw new NotImplementedException ();
 		}
 
-		[MonoTODO]
 #if NET_1_1
 		[Obsolete ("use OdbcPermission(PermissionState.None)", true)]
 #endif
 		public OdbcPermission (PermissionState state, bool allowBlankPassword)
-			: base (state, allowBlankPassword, true)
+			: base (state, allowBlankPassword)
+		{
+		}
+
+		// required for Copy method
+		internal OdbcPermission (DBDataPermission permission)
+			: base (permission)
 		{
-			throw new NotImplementedException ();
 		}
 
 		#endregion
 
 		#region Properties
-
-		internal string Provider {
-			[MonoTODO]
-			get { throw new NotImplementedException (); }
-			[MonoTODO]
-			set { throw new NotImplementedException (); }
-		}
-
 		#endregion
 
 		#region Methods
 
-		[MonoTODO]
 		public override IPermission Copy ()
+		{
+			return new OdbcPermission (this);
+		}
+
+#if NET_2_0
+		[MonoTODO ("unimplemented (and unused in Mono)")]
+		protected override void AddConnectionString (string connectionString, string restrictions, 
+			KeyRestrictionBehavior behavior, Hashtable synonyms, bool useFirstKeyValue)
 		{
 			throw new NotImplementedException ();
 		}
-	
-		[MonoTODO]
+#else
+		// no more part of Fx 2.0 - useless ? or replaced with AddConnectionString ?
 		public override void Add (string connectionString, string restrictions, KeyRestrictionBehavior behavior)
 		{
-			throw new NotImplementedException ();
+			base.Add (connectionString, restrictions, behavior);
 		}
-		
-
+#endif
 		#endregion
 	}
 }

+ 13 - 27
mcs/class/System.Data/System.Data.Odbc/OdbcPermissionAttribute.cs

@@ -1,12 +1,9 @@
 //
 // System.Data.Odbc.OdbcPermissionAttribute
 //
-// Author:
-//   Umadevi S ([email protected])
-//
-// Copyright (C) Novell Inc 2004
-//
-
+// Authors:
+//	Umadevi S ([email protected])
+//	Sebastien Pouliot  <[email protected]>
 //
 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
 //
@@ -30,24 +27,21 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-using System.Data;
 using System.Data.Common;
 using System.Security;
 using System.Security.Permissions;
 
-namespace System.Data.Odbc
-{
+namespace System.Data.Odbc {
+
 	[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | 
 			AttributeTargets.Struct | AttributeTargets.Constructor |
 			AttributeTargets.Method, AllowMultiple=true,
 			Inherited=false)]
 	[Serializable]
-	public sealed class OdbcPermissionAttribute : DBDataPermissionAttribute
-	{
+	public sealed class OdbcPermissionAttribute : DBDataPermissionAttribute {
 
 		#region Constructors 
 
-		[MonoTODO]
 		public OdbcPermissionAttribute (SecurityAction action) 
 			: base (action)
 		{
@@ -56,27 +50,19 @@ namespace System.Data.Odbc
 		#endregion
 
 		#region Properties
-
-		[MonoTODO]
-		internal string Provider {
-			[MonoTODO]
-			get {
-				throw new NotImplementedException (); 
-			}
-			[MonoTODO]
-			set {
-				throw new NotImplementedException (); 
-			}
-		}
-
 		#endregion
 
 		#region Methods
 
-		[MonoTODO]
 		public override IPermission CreatePermission () 
 		{
-			throw new NotImplementedException ();
+			if (base.Unrestricted) {
+				return new OdbcPermission (PermissionState.Unrestricted);
+			}
+
+			OdbcPermission p = new OdbcPermission (PermissionState.None, this.AllowBlankPassword);
+			p.Add (this.ConnectionString, this.KeyRestrictions, this.KeyRestrictionBehavior);
+			return p;
 		}
 
 		#endregion