1 // System.Security.Policy.ApplicationDirectory
4 // Jackson Harper (Jackson@LatitudeGeo.com)
6 // (C) 2002 Jackson Harper, All rights reserved.
10 namespace System.Security.Policy {
12 [MonoTODO("This class should use a URLString like class instead of just a string")]
14 public sealed class ApplicationDirectory : IBuiltInEvidence {
16 private string directory;
19 // Public Constructors
22 public ApplicationDirectory (string name)
25 throw new ArgumentNullException ("name");
33 public string Directory {
34 get { return directory; }
43 return new ApplicationDirectory (Directory);
46 [MonoTODO("This needs to check for security subsets")]
47 public override bool Equals (object other)
49 if (null != other && (other is ApplicationDirectory)) {
50 ApplicationDirectory compare = (ApplicationDirectory) other;
51 return compare.directory.Equals (directory);
57 /// This does not return the exact same results as the MS version
59 public override int GetHashCode ()
61 return directory.GetHashCode ();
64 public override string ToString ()
66 return ToXml ().ToString ();
69 private SecurityElement ToXml ()
71 SecurityElement element = new SecurityElement (GetType().FullName);
72 element.AddAttribute ("version", "1");
73 element.AddAttribute ("Directory", Directory);
77 // interface IBuiltInEvidence
80 int IBuiltInEvidence.GetRequiredSize (bool verbose)
86 int IBuiltInEvidence.InitFromBuffer (char [] buffer, int position)
92 int IBuiltInEvidence.OutputToBuffer (char [] buffer, int position, bool verbose)