Merge pull request #2765 from akoeplinger/mcs-fix-test-windows-backslash
[mono.git] / mcs / class / corlib / System.Security / SecurityFrame.cs
index 7824e0880dd768a80eefb96900e08f78ee7fc1c8..d2fedeb286bef7d1ac26e33f221f68ce88ff8ad0 100644 (file)
@@ -41,145 +41,4 @@ namespace System.Security {
                public int size;
                public int index;
        }
-
-       // Must match MonoSecurityFrame in /mono/mini/declsec.h
-       internal class RuntimeSecurityFrame {
-               public AppDomain domain;
-               public MethodInfo method;
-               public RuntimeDeclSecurityEntry assert;
-               public RuntimeDeclSecurityEntry deny;
-               public RuntimeDeclSecurityEntry permitonly;
-       }
-
-       internal struct SecurityFrame {
-
-               private AppDomain _domain;
-               private MethodInfo _method;
-               private PermissionSet _assert;
-               private PermissionSet _deny;
-               private PermissionSet _permitonly;
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               extern static RuntimeSecurityFrame _GetSecurityFrame (int skip);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               extern static Array _GetSecurityStack (int skip);
-
-               internal SecurityFrame (RuntimeSecurityFrame frame)
-               {
-                       _domain = null;
-                       _method = null;
-                       _assert = null;
-                       _deny = null;
-                       _permitonly = null;
-                       InitFromRuntimeFrame (frame);
-               }
-
-               internal SecurityFrame (int skip)
-               {
-                       _domain = null;
-                       _method = null;
-                       _assert = null;
-                       _deny = null;
-                       _permitonly = null;
-
-                       InitFromRuntimeFrame (_GetSecurityFrame (skip + 2));
-
-                       // TODO - add the imperative informations into the frame
-               }
-
-               // Note: SecurityManager.Decode implements a cache - so not every call
-               // ends up making an icall
-               internal void InitFromRuntimeFrame (RuntimeSecurityFrame frame)
-               {
-                       _domain = frame.domain;
-                       _method = frame.method;
-
-                       if (frame.assert.size > 0) {
-                               _assert = SecurityManager.Decode (frame.assert.blob, frame.assert.size);
-                       }
-                       if (frame.deny.size > 0) {
-                               _deny = SecurityManager.Decode (frame.deny.blob, frame.deny.size);
-                       }
-                       if (frame.permitonly.size > 0) {
-                               _permitonly = SecurityManager.Decode (frame.permitonly.blob, frame.permitonly.size);
-                       }
-               }
-
-               public Assembly Assembly {
-                       get { return _method.ReflectedType.Assembly; }
-               }
-
-               public AppDomain Domain {
-                       get { return _domain; }
-               }
-
-               public MethodInfo Method {
-                       get { return _method; }
-               }
-
-               public PermissionSet Assert {
-                       get { return _assert; }
-               }
-
-               public PermissionSet Deny {
-                       get { return _deny; }
-               }
-
-               public PermissionSet PermitOnly {
-                       get { return _permitonly; }
-               }
-
-               public bool HasStackModifiers {
-                       get { return ((_assert != null) || (_deny != null) || (_permitonly != null)); }
-               }
-
-               public bool Equals (SecurityFrame sf)
-               {
-                       if (!Object.ReferenceEquals (_domain, sf.Domain))
-                               return false;
-                       if (Assembly.ToString () != sf.Assembly.ToString ())
-                               return false;
-                       if (Method.ToString () != sf.Method.ToString ())
-                               return false;
-
-                       if ((_assert != null) && !_assert.Equals (sf.Assert))
-                               return false;
-                       if ((_deny != null) && !_deny.Equals (sf.Deny))
-                               return false;
-                       if ((_permitonly != null) && !_permitonly.Equals (sf.PermitOnly))
-                               return false;
-
-                       return true;
-               }
-
-               public override string ToString ()
-               {
-                       StringBuilder sb = new StringBuilder ();
-                       sb.AppendFormat ("Frame: {0}{1}", _method, Environment.NewLine);
-                       sb.AppendFormat ("\tAppDomain: {0}{1}", Domain, Environment.NewLine);
-                       sb.AppendFormat ("\tAssembly: {0}{1}", Assembly, Environment.NewLine);
-                       if (_assert != null)
-                               sb.AppendFormat ("\tAssert: {0}{1}", _assert, Environment.NewLine);
-                       if (_deny != null)
-                               sb.AppendFormat ("\tDeny: {0}{1}", _deny, Environment.NewLine);
-                       if (_permitonly != null)
-                               sb.AppendFormat ("\tPermitOnly: {0}{1}", _permitonly, Environment.NewLine);
-                       return sb.ToString ();
-               }
-
-               static public ArrayList GetStack (int skipFrames)
-               {
-                       Array stack = _GetSecurityStack (skipFrames+2);
-                       ArrayList al = new ArrayList ();
-                       for (int i = 0; i < stack.Length; i++) {
-                               object o = stack.GetValue (i);
-                               // null are unused slots allocated in the runtime
-                               if (o == null)
-                                       break;
-                               al.Add (new SecurityFrame ((RuntimeSecurityFrame)o));
-                       }
-                       return al;
-               }
-       }
 }