2003-08-04 Duncan Mak <duncan@ximian.com>
[mono.git] / mcs / class / corlib / System.Security.Policy / PolicyStatement.cs
1 //\r
2 // System.Security.Policy.PolicyStatement\r
3 //\r
4 // Author:\r
5 //   Dan Lewis (dihlewis@yahoo.co.uk)\r
6 //\r
7 // (C) 2002\r
8 //\r
9 \r
10 namespace System.Security.Policy {\r
11 \r
12         [Serializable]\r
13         public sealed class PolicyStatement : ISecurityEncodable, ISecurityPolicyEncodable {\r
14                 public PolicyStatement (PermissionSet perms) :\r
15                         this (perms, PolicyStatementAttribute.Nothing)\r
16                 {\r
17                 }\r
18 \r
19                 public PolicyStatement (PermissionSet perms, PolicyStatementAttribute attrs) {\r
20                         this.perms = perms;\r
21                         this.attrs = attrs;\r
22                 }\r
23                 \r
24                 public PermissionSet PermissionSet {\r
25                         get { return perms; }\r
26                         set { perms = value; }\r
27                 }\r
28                 \r
29                 public PolicyStatementAttribute Attributes {\r
30                         get { return attrs; }\r
31                         set { attrs = value; }\r
32                 }\r
33 \r
34                 public string AttributeString {\r
35                         get { return attrs.ToString ("F"); }\r
36                 }\r
37 \r
38                 public PolicyStatement Copy ()\r
39                 {\r
40                         return new PolicyStatement (perms, attrs);\r
41                 }\r
42 \r
43                 // ISecurityEncodable\r
44 \r
45                 [MonoTODO]\r
46                 public void FromXml (SecurityElement e) {\r
47                 }\r
48 \r
49                 [MonoTODO]\r
50                 public void FromXml (SecurityElement e, PolicyLevel level) {\r
51                 }\r
52                 \r
53                 [MonoTODO]\r
54                 public SecurityElement ToXml () {\r
55                         return null;\r
56                 }\r
57 \r
58                 [MonoTODO]\r
59                 public SecurityElement ToXml (PolicyLevel level) {\r
60                         return null;\r
61                 }\r
62 \r
63                 private PermissionSet perms;\r
64                 private PolicyStatementAttribute attrs;\r
65         }\r
66 }\r