// 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
// 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)
+ 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 = 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 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
}
}