// Author:
// Sebastien Pouliot <sebastien@ximian.com>
//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005 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
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-#if NET_2_0
using System.Globalization;
namespace System.Security.Permissions {
[Serializable]
- public sealed class DataProtectionPermission : CodeAccessPermission, IUnrestrictedPermission, IBuiltInPermission {
+ public sealed class DataProtectionPermission : CodeAccessPermission, IUnrestrictedPermission {
private const int version = 1;
public DataProtectionPermission (PermissionState state)
{
- if (CheckPermissionState (state, true) == PermissionState.Unrestricted)
+ if (PermissionHelper.CheckPermissionState (state, true) == PermissionState.Unrestricted)
_flags = DataProtectionPermissionFlags.AllFlags;
- else
- _flags = DataProtectionPermissionFlags.NoFlags;
}
- public DataProtectionPermission (DataProtectionPermissionFlags flags)
+ public DataProtectionPermission (DataProtectionPermissionFlags flag)
{
// reuse validation by the Flags property
- Flags = flags;
+ Flags = flag;
}
public DataProtectionPermissionFlags Flags {
get { return _flags; }
set {
- if (!Enum.IsDefined (typeof (DataProtectionPermissionFlags), value)) {
+ if ((value & ~DataProtectionPermissionFlags.AllFlags) != 0) {
string msg = String.Format (Locale.GetText ("Invalid enum {0}"), value);
throw new ArgumentException (msg, "DataProtectionPermissionFlags");
}
return ((_flags & ~dp._flags) == 0);
}
- public override void FromXml (SecurityElement e)
+ public override void FromXml (SecurityElement securityElement)
{
// General validation in CodeAccessPermission
- CheckSecurityElement (e, "e", version, version);
+ PermissionHelper.CheckSecurityElement (securityElement, "securityElement", version, version);
// Note: we do not (yet) care about the return value
// as we only accept version 1 (min/max values)
_flags = (DataProtectionPermissionFlags) Enum.Parse (
- typeof (DataProtectionPermissionFlags), e.Attribute ("Flags"));
+ typeof (DataProtectionPermissionFlags), securityElement.Attribute ("Flags"));
}
public override SecurityElement ToXml ()
{
- SecurityElement e = Element (version);
+ SecurityElement e = PermissionHelper.Element (typeof (DataProtectionPermission), version);
e.AddAttribute ("Flags", _flags.ToString ());
return e;
}
- // IBuiltInPermission
- int IBuiltInPermission.GetTokenIndex ()
- {
- return (int) BuiltInToken.DataProtection;
- }
-
// helpers
private DataProtectionPermission Cast (IPermission target)
DataProtectionPermission dp = (target as DataProtectionPermission);
if (dp == null) {
- ThrowInvalidPermission (target, typeof (DataProtectionPermission));
+ PermissionHelper.ThrowInvalidPermission (target, typeof (DataProtectionPermission));
}
return dp;
}
}
-#endif