2004-01-26 Sebastien Pouliot <spouliot@videotron.ca>
[mono.git] / mcs / class / corlib / System.Security.Policy / UnionCodeGroup.cs
1 //
2 // System.Security.Policy.UnionCodeGroup.cs
3 //
4 // Author
5 //      Duncan Mak (duncan@ximian.com)
6 //
7 // (C) 2003 Ximian, Inc (http://www.ximian.com)
8 //
9
10 using System;
11 using System.Globalization;
12 using System.Security.Permissions;
13 using System.Security.Policy;
14
15 namespace System.Security.Policy {
16
17         [Serializable]
18         public sealed class UnionCodeGroup : CodeGroup {
19
20                 public UnionCodeGroup (
21                         IMembershipCondition membershipCondition,
22                         PolicyStatement policyStatement)
23                         : base (membershipCondition, policyStatement)
24                 {
25                 }
26
27                 // for PolicyLevel (to avoid validation duplication)
28                 internal UnionCodeGroup (SecurityElement e) : base (e) {}
29
30                 public override CodeGroup Copy ()
31                 {
32                         UnionCodeGroup copy = new UnionCodeGroup (MembershipCondition, PolicyStatement);
33                         foreach (CodeGroup child in Children) {
34                                 copy.AddChild (child.Copy ());  // deep copy
35                         }
36                         return copy;
37                 }
38
39                 [MonoTODO]
40                 public override PolicyStatement Resolve (Evidence evidence)
41                 {
42                         if (evidence == null)
43                                 throw new ArgumentNullException ("evidence");
44
45                         throw new NotImplementedException ();
46                 }
47
48                 [MonoTODO]
49                 public override CodeGroup ResolveMatchingCodeGroups (Evidence evidence)
50                 {
51                         if (evidence == null)
52                                 throw new ArgumentNullException ("evidence");
53
54                         throw new NotImplementedException ();
55                 }
56
57                 public override string MergeLogic {
58                         get {
59                                 return "Union";
60                         }
61                 }
62         }
63 }