2 // System.Security.Policy.PermissionRequestEvidence.cs
\r
5 // Nick Drochak (ndrochak@gol.com)
\r
7 // (C) 2003 Nick Drochak
\r
12 namespace System.Security.Policy
\r
15 public sealed class PermissionRequestEvidence {
\r
16 PermissionSet requested, optional, denied;
\r
18 public PermissionRequestEvidence(PermissionSet requested,
\r
19 PermissionSet optional, PermissionSet denied) {
\r
20 this.requested = requested;
\r
21 this.optional = optional;
\r
22 this.denied = denied;
\r
25 public PermissionSet DeniedPermissions {
\r
26 get {return denied;}
\r
29 public PermissionSet OptionalPermissions {
\r
30 get {return optional;}
\r
33 public PermissionSet RequestedPermissions {
\r
34 get {return requested;}
\r
37 public PermissionRequestEvidence Copy() {
\r
38 return new PermissionRequestEvidence (requested, optional, denied);
\r
41 public override string ToString() {
\r
42 // Cannot use XML classes in corlib, so do it by hand
\r
43 StringBuilder sb = new StringBuilder ();
\r
45 sb.Append ("<System.Security.Policy.PermissionRequestEvidence version=\"1\">");
\r
46 sb.Append ("<Request>");
\r
47 sb.Append ("<PermissionSet class=\"System.Security.PermissionSet\" version=\"1\"");
\r
48 if (requested.IsUnrestricted ())
\r
49 sb.Append (" Unrestricted=\"true\"");
\r
51 sb.Append (@"</Request>");
\r
53 sb.Append ("<Optional>");
\r
54 sb.Append ("<PermissionSet class=\"System.Security.PermissionSet\" version=\"1\"");
\r
55 if (optional.IsUnrestricted ())
\r
56 sb.Append (" Unrestricted=\"true\"");
\r
58 sb.Append (@"</Optional>");
\r
60 sb.Append ("<Denied>");
\r
61 sb.Append ("<PermissionSet class=\"System.Security.PermissionSet\" version=\"1\"");
\r
62 if (denied.IsUnrestricted ())
\r
63 sb.Append (" Unrestricted=\"true\"");
\r
65 sb.Append (@"</Denied>");
\r
67 sb.Append ("</System.Security.Policy.PermissionRequestEvidence>");
\r
69 return sb.ToString ();
\r