2004-04-12 David Sheldon <dave-mono@earth.li>
[mono.git] / mcs / class / corlib / System.Security.Policy / ApplicationDirectoryMembershipCondition.cs
index 1c9abd93764a43769a5f34a236efd19ff56ab226..1d243c3fd0ac0666133ff6ef0c9368584b85779d 100644 (file)
@@ -8,11 +8,11 @@
 \r
 using System.Security;\r
 \r
-namespace System.Security.Policy\r
-{\r
+namespace System.Security.Policy {\r
 \r
        [Serializable]\r
        public sealed class ApplicationDirectoryMembershipCondition :\r
+                IConstantMembershipCondition,\r
                IMembershipCondition, \r
                ISecurityEncodable, \r
                ISecurityPolicyEncodable\r
@@ -22,26 +22,41 @@ namespace System.Security.Policy
 \r
                // Methods\r
                [MonoTODO]\r
-               public bool Check(Evidence evidence) { \r
-                       throw new NotImplementedException (); \r
+               public bool Check (Evidence evidence)\r
+               {\r
+                       if (evidence == null)\r
+                               return false;\r
+                       \r
+                       foreach (object o in evidence) {\r
+                               if (o is ApplicationDirectory) {\r
+                                       ApplicationDirectory ad = (o as ApplicationDirectory);\r
+                                       // TODO\r
+                                       throw new NotImplementedException (); \r
+                               }\r
+                       }\r
+                       return false;\r
                }\r
 \r
-               public IMembershipCondition Copy() { \r
+               public IMembershipCondition Copy () \r
+               { \r
                        return new ApplicationDirectoryMembershipCondition ();\r
                }\r
                \r
-               public override bool Equals(object o) { \r
+               public override bool Equals (object o) \r
+               { \r
                        return o is ApplicationDirectoryMembershipCondition; \r
                }\r
                \r
-               public void FromXml(SecurityElement e) { \r
+               public void FromXml (SecurityElement e)\r
+               {\r
                        FromXml (e, null);\r
                }\r
                \r
-               public void FromXml(SecurityElement e, PolicyLevel level) { \r
-                       \r
+               public void FromXml (SecurityElement e, PolicyLevel level)\r
+               {\r
                        if (null == e)\r
-                               throw new ArgumentNullException ();\r
+                               throw new ArgumentNullException ("e");\r
+\r
                        if (XmlTag != e.Tag)\r
                                throw new ArgumentException("e","The Tag of SecurityElement must be "\r
                                        + ApplicationDirectoryMembershipCondition.XmlTag);\r
@@ -51,22 +66,22 @@ namespace System.Security.Policy
                ///   All instances of ApplicationDirectoryMembershipCondition are equal so they should\r
                ///   have the same hashcode\r
                /// </summary>\r
-               public override int GetHashCode() \r
+               public override int GetHashCode () \r
                { \r
                        return typeof (ApplicationDirectoryMembershipCondition).GetHashCode ();\r
                }\r
                \r
-               public override string ToString() \r
+               public override string ToString () \r
                { \r
                        return "ApplicationDirectory";\r
                }\r
                \r
-               public SecurityElement ToXml() \r
+               public SecurityElement ToXml () \r
                { \r
                        return ToXml (null);\r
                }\r
                \r
-               public SecurityElement ToXml(PolicyLevel level) \r
+               public SecurityElement ToXml (PolicyLevel level) \r
                {\r
                        SecurityElement element = new SecurityElement (XmlTag);\r
                        Type type = GetType ();\r
@@ -77,4 +92,4 @@ namespace System.Security.Policy
                        return element;\r
                }\r
        }\r
-}
\ No newline at end of file
+}\r