2 // System.Security.Policy.PermissionRequestEvidence.cs
\r
5 // Nick Drochak (ndrochak@gol.com)
\r
7 // (C) 2003 Nick Drochak
\r
10 using System.Security;
\r
13 namespace System.Security.Policy
\r
16 public sealed class PermissionRequestEvidence : IBuiltInEvidence {
\r
17 PermissionSet requested, optional, denied;
\r
19 public PermissionRequestEvidence(PermissionSet requested,
\r
20 PermissionSet optional, PermissionSet denied) {
\r
21 this.requested = requested;
\r
22 this.optional = optional;
\r
23 this.denied = denied;
\r
26 public PermissionSet DeniedPermissions {
\r
27 get {return denied;}
\r
30 public PermissionSet OptionalPermissions {
\r
31 get {return optional;}
\r
34 public PermissionSet RequestedPermissions {
\r
35 get {return requested;}
\r
38 public PermissionRequestEvidence Copy ()
\r
40 return new PermissionRequestEvidence (requested, optional, denied);
\r
43 public override string ToString ()
\r
45 SecurityElement se = new SecurityElement ("System.Security.Policy.PermissionRequestEvidence");
\r
46 se.AddAttribute ("version", "1");
\r
48 if (requested != null) {
\r
49 SecurityElement requestElement = new SecurityElement ("Request");
\r
50 requestElement.AddChild (requested.ToXml ());
\r
51 se.AddChild (requestElement);
\r
53 if (optional != null) {
\r
54 SecurityElement optionalElement = new SecurityElement ("Optional");
\r
55 optionalElement.AddChild (optional.ToXml ());
\r
56 se.AddChild (optionalElement);
\r
58 if (denied != null) {
\r
59 SecurityElement deniedElement = new SecurityElement ("Denied");
\r
60 deniedElement.AddChild (denied.ToXml ());
\r
61 se.AddChild (deniedElement);
\r
63 return se.ToString ();
\r
66 // interface IBuiltInEvidence
\r
69 int IBuiltInEvidence.GetRequiredSize (bool verbose)
\r
75 int IBuiltInEvidence.InitFromBuffer (char [] buffer, int position)
\r
81 int IBuiltInEvidence.OutputToBuffer (char [] buffer, int position, bool verbose)
\r