internal virtual object GetProtectionDomain()
        {
#if STATIC_COMPILER || FIRST_PASS || STUB_GENERATOR
            return(null);
#else
            if (protectionDomain == null)
            {
                java.net.URL codebase;
                try
                {
                    codebase = new java.net.URL(assemblyLoader.Assembly.CodeBase);
                }
                catch (NotSupportedException)
                {
                    // dynamic assemblies don't have a codebase
                    codebase = null;
                }
                catch (java.net.MalformedURLException)
                {
                    codebase = null;
                }
                java.security.Permissions permissions = new java.security.Permissions();
                permissions.add(new java.security.AllPermission());
                object pd = new java.security.ProtectionDomain(new java.security.CodeSource(codebase, (java.security.cert.Certificate[])null), permissions, (java.lang.ClassLoader)GetJavaClassLoader(), null);
                lock (this)
                {
                    if (protectionDomain == null)
                    {
                        protectionDomain = pd;
                    }
                }
            }
            return(protectionDomain);
#endif
        }
Esempio n. 2
0
        //
        // GetExecutingAssembly
        //

        public static RuntimeAssembly GetExecutingAssembly(
            ref system.threading.StackCrawlMark stackMark)
        {
            java.security.ProtectionDomain domain = null;
            var stackTrace = (new java.lang.Throwable()).getStackTrace();

            foreach (var stackElem in stackTrace)
            {
                var clsnm = stackElem.getClassName();
                if (!clsnm.StartsWith("system.reflection."))
                {
                    domain = java.lang.Class.forName(clsnm)?.getProtectionDomain();
                    break;
                }
            }
            return((RuntimeAssembly)GetAssemblyForDomain(domain));
        }
Esempio n. 3
0
        //
        // GetAssemblyForDomain
        //

        public static System.Reflection.Assembly GetAssemblyForDomain(
            java.security.ProtectionDomain domain)
        {
            if (domain == null)
            {
                throw new DllNotFoundException();
            }
            var map = System.Threading.LazyInitializer
                      .EnsureInitialized <java.util.concurrent.ConcurrentHashMap>(
                ref _DomainToAssemblyMap);
            var assembly = (RuntimeAssembly)map.get(domain);

            if (assembly == null)
            {
                var newAssembly = new RuntimeAssembly(domain);
                assembly = (RuntimeAssembly)
                           map.putIfAbsent(domain, newAssembly) ?? newAssembly;
            }
            return(assembly);
        }
 public PrivilegedActionAnonymousInnerClassHelper(AccessControlContext outerInstance, java.security.ProtectionDomain pd, Debug db)
 {
     this.OuterInstance = outerInstance;
     this.Pd            = pd;
     this.Db            = db;
 }
Esempio n. 5
0
 protected virtual global::java.lang.Class defineClass(java.lang.String arg0, java.nio.ByteBuffer arg1, java.security.ProtectionDomain arg2)
 {
     global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv;
     if (!IsClrObject)
     {
         return(global::MonoJavaBridge.JavaBridge.WrapJavaObject(@__env.CallObjectMethod(this.JvmHandle, global::java.lang.ClassLoader._defineClass12895, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2))) as java.lang.Class);
     }
     else
     {
         return(global::MonoJavaBridge.JavaBridge.WrapJavaObject(@__env.CallNonVirtualObjectMethod(this.JvmHandle, global::java.lang.ClassLoader.staticClass, global::java.lang.ClassLoader._defineClass12895, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2))) as java.lang.Class);
     }
 }
		internal virtual object GetProtectionDomain()
		{
#if STATIC_COMPILER || FIRST_PASS || STUB_GENERATOR
			return null;
#else
			if (protectionDomain == null)
			{
				java.net.URL codebase;
				try
				{
					codebase = new java.net.URL(assemblyLoader.Assembly.CodeBase);
				}
				catch (NotSupportedException)
				{
					// dynamic assemblies don't have a codebase
					codebase = null;
				}
				catch (java.net.MalformedURLException)
				{
					codebase = null;
				}
				java.security.Permissions permissions = new java.security.Permissions();
				permissions.add(new java.security.AllPermission());
				object pd = new java.security.ProtectionDomain(new java.security.CodeSource(codebase, (java.security.cert.Certificate[])null), permissions, (java.lang.ClassLoader)GetJavaClassLoader(), null);
				lock (this)
				{
					if (protectionDomain == null)
					{
						protectionDomain = pd;
					}
				}
			}
			return protectionDomain;
#endif
		}
Esempio n. 7
0
        //
        //
        //

        private RuntimeAssembly(java.security.ProtectionDomain domain)
        {
            JavaDomain = domain;
        }
Esempio n. 8
0
 protected internal System.Type defineClass(string name, java.nio.ByteBuffer b, java.security.ProtectionDomain
                                            protectionDomain)
 {
     throw new System.NotImplementedException();
 }
Esempio n. 9
0
 protected internal System.Type defineClass(string className, byte[] classRep, int
                                            offset, int length, java.security.ProtectionDomain protectionDomain)
 {
     throw new System.NotImplementedException();
 }