// System.Data.OleDb.OleDbPermission
//
// Author:
-// 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
+// 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.
//
-using System.Data;
+using System.ComponentModel;
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 Fields
+
+ private string _provider;
+
+ #endregion // Fields
+
#region Constructors
- [MonoTODO]
+#if NET_1_1
+ [Obsolete ("use OleDbPermission(PermissionState.None)", true)]
+#endif
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 = allowBlankPassword;
+ }
+
+ // required for Copy method
+ internal OleDbPermission (DBDataPermission permission)
+ : base (permission)
+ {
+ }
+
+ // easier (and common) permission creation from attribute class
+ internal OleDbPermission (DBDataPermissionAttribute attribute)
+ : base (attribute)
{
- throw new NotImplementedException ();
}
#endregion
#region Properties
+#if NET_2_0
+ [Obsolete ()]
+ [EditorBrowsableAttribute (EditorBrowsableState.Never)]
+#endif
public string Provider {
- [MonoTODO]
- get { throw new NotImplementedException (); }
- [MonoTODO]
- set { throw new NotImplementedException (); }
+ get {
+ if (_provider == null)
+ return String.Empty;
+ return _provider;
+ }
+ set { _provider = value; }
}
#endregion
#region Methods
- [MonoTODO]
public override IPermission Copy ()
{
- throw new NotImplementedException ();
+ return new OleDbPermission (this);
}
- [MonoTODO]
+#if !NET_2_0
+ // methods required to support Provider were removed in Fx 2.0
+ // i.e. Provider isn't included in the XML output
+
public override void FromXml (SecurityElement securityElement)
{
- throw new NotImplementedException ();
+ base.FromXml (securityElement);
+ // Provider
}
- [MonoTODO]
+ [MonoTODO ("is it worth to implement as it is being removed ?")]
public override IPermission Intersect (IPermission target)
{
- throw new NotImplementedException ();
+ return base.Intersect (target);
}
- [MonoTODO]
- public override bool IsSubsetOf (IPermission target)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
public override SecurityElement ToXml ()
{
- throw new NotImplementedException ();
+ SecurityElement se = base.ToXml ();
+ // add Provider
+ return se;
}
- [MonoTODO]
+ [MonoTODO ("is it worth to implement as it is being removed ?")]
public override IPermission Union (IPermission target)
{
- throw new NotImplementedException ();
+ return base.Union (target);
}
-
+#endif
#endregion
}
}