4 // Part of the Mono class libraries at
5 // mcs/class/System.Data.OracleClient/System.Data.OracleClient
7 // Assembly: System.Data.OracleClient.dll
8 // Namespace: System.Data.OracleClient
11 // Tim Coleman <tim@timcoleman.com>
12 // Sebastien Pouliot <sebastien@ximian.com>
14 // Copyright (C) Tim Coleman, 2003
15 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
17 // Licensed under the MIT/X11 License.
20 using System.Collections;
21 using System.Data.Common;
22 using System.Security;
23 using System.Security.Permissions;
25 namespace System.Data.OracleClient {
29 [MonoTODO ("Current MS implementation of Data Provider requires FullTrust")]
30 public sealed class OraclePermission : DBDataPermission {
32 public OraclePermission (PermissionState state)
37 // required for Copy method
38 internal OraclePermission (DBDataPermission permission)
43 // easier (and common) permission creation from attribute class
44 internal OraclePermission (DBDataPermissionAttribute attribute)
49 [MonoTODO ("overridden for what ? additional validations ???")]
50 protected override void AddConnectionString (string connectionString, string restrictions,
51 KeyRestrictionBehavior behavior, Hashtable synonyms, bool useFirstKeyValue)
53 base.AddConnectionString (connectionString, restrictions, behavior, synonyms, useFirstKeyValue);
56 public override IPermission Copy ()
58 return new OraclePermission (this);
63 [MonoTODO ("Current MS implementation of Data Provider requires FullTrust")]
64 public sealed class OraclePermission : CodeAccessPermission, IUnrestrictedPermission {
68 bool allowBlankPassword;
69 PermissionState state;
75 public OraclePermission (PermissionState state)
80 // easier (and common) permission creation from attribute class
81 internal OraclePermission (OraclePermissionAttribute attribute)
83 if (attribute.Unrestricted) {
84 state = PermissionState.Unrestricted;
87 state = PermissionState.None;
88 allowBlankPassword = attribute.AllowBlankPassword;
92 #endregion // Constructors
96 public bool AllowBlankPassword {
97 get { return allowBlankPassword; }
98 set { allowBlankPassword = value; }
101 #endregion // Properties
105 public override IPermission Copy ()
107 OraclePermission copy = (OraclePermission) Activator.CreateInstance (this.GetType ());
108 copy.AllowBlankPassword = allowBlankPassword;
113 // Note: No exception are thrown here to help the security runtime performance
116 public override void FromXml (SecurityElement securityElement)
121 public override IPermission Intersect (IPermission target)
127 public override bool IsSubsetOf (IPermission target)
132 public bool IsUnrestricted ()
134 return (state == PermissionState.Unrestricted);
138 public override SecurityElement ToXml ()
140 return new SecurityElement ("IPermission");
144 public override IPermission Union (IPermission target)
149 #endregion // Methods