IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
IKVM.Java.Externs.java.security.AccessController Class Reference

Static Public Member Functions

static object getStackAccessControlContext (global::java.security.AccessControlContext context, global::ikvm. @internal.CallerID callerID)
 Implements the native method 'getStackAccessControlContext'.
 
static object getInheritedAccessControlContext ()
 Implements the native method 'getInheritedAccessControlContext'.
 

Detailed Description

Definition at line 33 of file AccessController.cs.

Member Function Documentation

◆ getInheritedAccessControlContext()

static object IKVM.Java.Externs.java.security.AccessController.getInheritedAccessControlContext ( )
static

Implements the native method 'getInheritedAccessControlContext'.

Returns

Definition at line 133 of file AccessController.cs.

134 {
135#if FIRST_PASS
136 throw new NotImplementedException();
137#else
138 var inheritedAccessControlContext = global::java.lang.Thread.currentThread().inheritedAccessControlContext;
139 var acc = inheritedAccessControlContext as global::java.security.AccessControlContext;
140 if (acc != null)
141 return acc;
142
143 var lc = inheritedAccessControlContext as global::java.security.AccessController.LazyContext;
144 if (lc == null)
145 return null;
146
147 var list = new List<global::java.security.ProtectionDomain>();
148 while (lc != null)
149 {
150 if (GetProtectionDomains(list, lc.callerID, lc.stackTrace))
151 return CreateAccessControlContext(list, true, lc.context);
152
153 lc = lc.parent;
154 }
155
156 return CreateAccessControlContext(list, false, null);
157#endif
158 }

◆ getStackAccessControlContext()

static object IKVM.Java.Externs.java.security.AccessController.getStackAccessControlContext ( global.java.security.AccessControlContext context,
global.ikvm.@internal.CallerID callerID )
static

Implements the native method 'getStackAccessControlContext'.

Parameters
context
callerID
Returns

Definition at line 42 of file AccessController.cs.

43 {
44#if FIRST_PASS
45 throw new NotImplementedException();
46#else
47 var array = new List<global::java.security.ProtectionDomain>();
48 var is_privileged = GetProtectionDomains(array, callerID, new StackTrace(1));
49 if (array.Count == 0)
50 if (is_privileged && context == null)
51 return null;
52
53 return CreateAccessControlContext(array, is_privileged, context);
54#endif
55 }

The documentation for this class was generated from the following file: