AllMembershipCondition.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //
  2. // System.Security.Policy.AllMembershipCondition.cs
  3. //
  4. // Author:
  5. // Ajay kumar Dwivedi ([email protected])
  6. //
  7. using System;
  8. using System.Security;
  9. namespace System.Security.Policy
  10. {
  11. /// <summary>
  12. /// Summary description for AllMembershipCondition.
  13. /// </summary>
  14. [Serializable]
  15. public sealed class AllMembershipCondition : IMembershipCondition,
  16. ISecurityEncodable, ISecurityPolicyEncodable
  17. {
  18. // Tag for Xml Data
  19. private static readonly string XmlTag = "IMembershipCondition";
  20. public AllMembershipCondition()
  21. {}
  22. //Always returns true
  23. public bool Check(Evidence evidence)
  24. {
  25. return true;
  26. }
  27. public IMembershipCondition Copy()
  28. {
  29. return new AllMembershipCondition();
  30. }
  31. public override bool Equals(object o)
  32. {
  33. if(o is System.Security.Policy.AllMembershipCondition)
  34. return true;
  35. return false;
  36. }
  37. public void FromXml(SecurityElement e)
  38. {
  39. FromXml(e, null);
  40. }
  41. //Fixme: is there a need for all this????
  42. public void FromXml(SecurityElement e, PolicyLevel level)
  43. {
  44. if(e == null)
  45. throw new ArgumentNullException("e");
  46. if(e.Tag != XmlTag)
  47. throw new ArgumentException("e","The Tag of SecurityElement must be "
  48. + AllMembershipCondition.XmlTag);
  49. }
  50. public override int GetHashCode()
  51. {
  52. return typeof (AllMembershipCondition).GetHashCode ();
  53. }
  54. public override string ToString()
  55. {
  56. return "All Code";
  57. }
  58. public SecurityElement ToXml()
  59. {
  60. return ToXml(null);
  61. }
  62. public SecurityElement ToXml(PolicyLevel level)
  63. {
  64. SecurityElement se = new SecurityElement(XmlTag);
  65. Type type = this.GetType();
  66. string classString = type.FullName + ", " + type.Assembly;
  67. se.AddAttribute("class",classString);
  68. se.AddAttribute("version","1");
  69. return se;
  70. }
  71. }
  72. }