2 // System.Security.Policy.ApplicationTrust class
5 // Sebastien Pouliot <sebastien@ximian.com>
7 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32 using System.Collections;
34 namespace System.Security.Policy {
36 public sealed class ApplicationTrust : ISecurityEncodable, ISecurityPolicyEncodable {
38 private ApplicationIdentity _appid;
39 private IDictionary _grants;
40 private PolicyStatement _defaultPolicy;
41 private object _xtranfo;
42 private bool _trustrun;
43 private bool _persist;
46 public ApplicationTrust ()
48 _grants = (IDictionary) new Hashtable ();
52 public ApplicationTrust (ApplicationIdentity applicationIdentity)
57 public ApplicationIdentity ApplicationIdentity {
58 get { return _appid; }
61 public IDictionary AssemblyGrants {
62 get { return _grants; }
63 set { _grants = value; }
66 public PolicyStatement DefaultGrantSet {
67 get { return _defaultPolicy; }
68 set { _defaultPolicy = value; }
71 public object ExtraInfo {
72 get { return _xtranfo; }
73 set { _xtranfo = value; }
76 public bool IsApplicationTrustedToRun {
77 get { return _trustrun; }
78 set { _trustrun = value; }
82 get { return _persist; }
83 set { _persist = value; }
86 [MonoTODO ("incomplete")]
87 public override bool Equals (object obj)
91 ApplicationTrust at = (obj as ApplicationTrust);
99 [MonoTODO ("incomplete")]
100 public void FromXml (SecurityElement element)
103 throw new ArgumentNullException ("element");
104 throw new NotImplementedException ();
107 [MonoTODO ("incomplete - is PolicyLevel used ?")]
108 public void FromXml (SecurityElement element, PolicyLevel level)
113 public override int GetHashCode ()
115 return base.GetHashCode ();
118 [MonoTODO ("incomplete")]
119 public SecurityElement ToXml ()
121 throw new NotImplementedException ();
124 [MonoTODO ("incomplete - is PolicyLevel used ?")]
125 public SecurityElement ToXml (PolicyLevel level)