2004-09-13 Sebastien Pouliot <sebastien@ximian.com>
authorSebastien Pouliot <sebastien@ximian.com>
Mon, 13 Sep 2004 23:31:06 +0000 (23:31 -0000)
committerSebastien Pouliot <sebastien@ximian.com>
Mon, 13 Sep 2004 23:31:06 +0000 (23:31 -0000)
* OleDbPermission.cs: Mostly completed (needs tests).
* OleDbPermissionAttribute.cs: Completed.

svn path=/trunk/mcs/; revision=33831

mcs/class/System.Data/System.Data.OleDb/ChangeLog
mcs/class/System.Data/System.Data.OleDb/OleDbPermission.cs
mcs/class/System.Data/System.Data.OleDb/OleDbPermissionAttribute.cs

index 763694a6941b02f914f075ff350d79970900295b..9965a0d7d58f9023716b6d0ed7e9a3a561811906 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-13  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * OleDbPermission.cs: Mostly completed (needs tests).
+       * OleDbPermissionAttribute.cs: Completed.
+
 2004-06-16  Gert Driesen <drieseng@users.sourceforge.net>
 
        * OleDbError.cs: fixed serialization compatibility with MS.NET
index 3788554686a6a3225e5d98aad0a9bfe6aba59acf..01772fee1f58b4b37a870b20d3736f2546544048 100644 (file)
 // 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.OleDb
-{
+namespace System.Data.OleDb {
+
        [Serializable]
-       public sealed class OleDbPermission : DBDataPermission
-       {
+       public sealed class OleDbPermission : DBDataPermission {
+
                #region Constructors
 
-               [MonoTODO]
 #if NET_1_1
                 [Obsolete ("use OleDbPermission(PermissionState.None)", true)]
 #endif
-
-               public OleDbPermission () : base (PermissionState.None)
+               public OleDbPermission ()
+                       : base (PermissionState.None)
                {
-                       throw new NotImplementedException ();
                }
 
-               [MonoTODO]
                public OleDbPermission (PermissionState state)
                        : base (state)
                {
-                       throw new NotImplementedException ();
                }
 
-               [MonoTODO]
 #if NET_1_1
                 [Obsolete ("use OleDbPermission(PermissionState.None)", true)]
 #endif
                public OleDbPermission (PermissionState state, bool allowBlankPassword)
-                       : base (state, allowBlankPassword, true)
+                       : base (state, allowBlankPassword)
+               {
+               }
+
+               // required for Copy method
+               internal OleDbPermission (DBDataPermission permission)
+                       : base (permission)
                {
-                       throw new NotImplementedException ();
                }
 
                #endregion
 
                #region Properties
-
-               public string Provider {
-                       [MonoTODO]
-                       get { throw new NotImplementedException (); }
-                       [MonoTODO]
-                       set { throw new NotImplementedException (); }
-               }
-
                #endregion
 
                #region Methods
 
-               [MonoTODO]
                public override IPermission Copy ()
                {
-                       throw new NotImplementedException ();
+                       return new OleDbPermission (this);
                }
 
                [MonoTODO]
                public override void FromXml (SecurityElement securityElement)
                {
-                       throw new NotImplementedException ();
                }
 
                [MonoTODO]
index a5ddcb863d72fb0b3a1afc14329d546e36998ba2..035593c23cce5c5f3116fa6a3ac8795c84530a65 100644 (file)
@@ -2,14 +2,12 @@
 // System.Data.OleDb.OleDbPermissionAttribute
 //
 // Authors:
-//   Rodrigo Moya (rodrigo@ximian.com)
-//   Tim Coleman (tim@timcoleman.com)
+//     Rodrigo Moya (rodrigo@ximian.com)
+//     Tim Coleman (tim@timcoleman.com)
+//     Sebastien Pouliot  <sebastien@ximian.com>
 //
 // Copyright (C) Rodrigo Moya, 2002
 // Copyright (C) Tim Coleman, 2002
-//
-
-//
 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
 //
 // Permission is hereby granted, free of charge, to any person obtaining
 // 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.OleDb
-{
+namespace System.Data.OleDb {
+
        [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | 
                        AttributeTargets.Struct | AttributeTargets.Constructor |
                        AttributeTargets.Method, AllowMultiple=true,
                        Inherited=false)]
        [Serializable]
-       public sealed class OleDbPermissionAttribute : DBDataPermissionAttribute
-       {
+       public sealed class OleDbPermissionAttribute : DBDataPermissionAttribute {
 
                #region Constructors 
 
-               [MonoTODO]
                public OleDbPermissionAttribute (SecurityAction action) 
                        : base (action)
                {
@@ -58,27 +53,19 @@ namespace System.Data.OleDb
                #endregion
 
                #region Properties
-
-               [MonoTODO]
-               public 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 OleDbPermission (PermissionState.Unrestricted);
+                       }
+
+                       OleDbPermission p = new OleDbPermission (PermissionState.None, this.AllowBlankPassword);
+                       p.Add (this.ConnectionString, this.KeyRestrictions, this.KeyRestrictionBehavior);
+                       return p;
                }
 
                #endregion