public JniEnvWrapper(IntPtr envPtr) { this.envPtr = envPtr; var env = (JniEnv)Marshal.PtrToStructure(envPtr, typeof(JniEnv)); functions = (JniNativeInterface)Marshal.PtrToStructure(env.Functions, typeof(JniNativeInterface)); }
internal JniEnvironment(bool isMain, IntPtr environmentHandle, int threadAffinity) { mIsMain = isMain; mHandle = environmentHandle; mUnmanagedThreadAffinity = threadAffinity; if (mIsMain) { if (mFunctions != null) { throw new InvalidOperationException(JniResourceManager.Instance.GetString("jniOnlyOneDefaultJniEnv")); } mFunctions = new JniNativeInterface(mHandle, JavaVM.JniVersion); } }
internal static void Release() { mFunctions = null; }