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