2004-04-12 David Sheldon <dave-mono@earth.li>
[mono.git] / mcs / class / corlib / System.Security.Policy / PermissionRequestEvidence.cs
1 //\r
2 // System.Security.Policy.PermissionRequestEvidence.cs\r
3 //\r
4 // Authors:\r
5 //      Nick Drochak (ndrochak@gol.com)\r
6 //\r
7 // (C) 2003 Nick Drochak\r
8 //\r
9 \r
10 using System.Security;\r
11 using System.Text;\r
12 \r
13 namespace System.Security.Policy\r
14 {\r
15         [Serializable]\r
16         public sealed class PermissionRequestEvidence : IBuiltInEvidence {\r
17                 PermissionSet requested, optional, denied;\r
18 \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
24                 }\r
25 \r
26                 public PermissionSet DeniedPermissions {\r
27                         get {return denied;}\r
28                 }\r
29 \r
30                 public PermissionSet OptionalPermissions {\r
31                         get {return optional;}\r
32                 }\r
33 \r
34                 public PermissionSet RequestedPermissions {\r
35                         get {return requested;}\r
36                 }\r
37 \r
38                 public PermissionRequestEvidence Copy ()\r
39                 {\r
40                         return new PermissionRequestEvidence (requested, optional, denied);\r
41                 }\r
42 \r
43                 public override string ToString () \r
44                 {\r
45                         SecurityElement se = new SecurityElement ("System.Security.Policy.PermissionRequestEvidence");\r
46                         se.AddAttribute ("version", "1");\r
47 \r
48                         if (requested != null) {\r
49                                 SecurityElement requestElement = new SecurityElement ("Request");\r
50                                 requestElement.AddChild (requested.ToXml ());\r
51                                 se.AddChild (requestElement);\r
52                         }\r
53                         if (optional != null) {\r
54                                 SecurityElement optionalElement = new SecurityElement ("Optional");\r
55                                 optionalElement.AddChild (optional.ToXml ());\r
56                                 se.AddChild (optionalElement);\r
57                         }\r
58                         if (denied != null) {\r
59                                 SecurityElement deniedElement = new SecurityElement ("Denied");\r
60                                 deniedElement.AddChild (denied.ToXml ());\r
61                                 se.AddChild (deniedElement);\r
62                         }\r
63                         return se.ToString ();\r
64                 }\r
65 \r
66                 // interface IBuiltInEvidence\r
67 \r
68                 [MonoTODO]\r
69                 int IBuiltInEvidence.GetRequiredSize (bool verbose) \r
70                 {\r
71                         return 0;\r
72                 }\r
73 \r
74                 [MonoTODO]\r
75                 int IBuiltInEvidence.InitFromBuffer (char [] buffer, int position) \r
76                 {\r
77                         return 0;\r
78                 }\r
79 \r
80                 [MonoTODO]\r
81                 int IBuiltInEvidence.OutputToBuffer (char [] buffer, int position, bool verbose) \r
82                 {\r
83                         return 0;\r
84                 }\r
85 \r
86         }\r
87 }