示例#1
0
        internal int GetArrayLength(JniHandle array)
        {
            int res = getArrayLength(envPtr, array);

            ExceptionTest();
            return(res);
        }
示例#2
0
        internal IntPtr GetStringChars(JniHandle str, byte *isCopy)
        {
            IntPtr res = getStringChars(envPtr, str, isCopy);

            ExceptionTest();
            return(res);
        }
示例#3
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public char CallCharMethod(JniHandle obj, MethodId methodIdNative, params Value[] args)
        {
            var res = (char)callCharMethod(envPtr, obj, methodIdNative.native, args);

            ExceptionTest();
            return(res);
        }
示例#4
0
        internal JniLocalHandle GetObjectFieldPtr(JniHandle obj, FieldId fieldID)
        {
            JniLocalHandle res = getObjectField(envPtr, obj, fieldID.native);

            ExceptionTest();
            return(res);
        }
示例#5
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public int GetIntField(JniHandle obj, FieldId fieldID)
        {
            int res = getIntField(envPtr, obj, fieldID.native);

            ExceptionTest();
            return(res);
        }
示例#6
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public bool CallBooleanMethod(JniHandle obj, MethodId methodIdNative, params Value[] args)
        {
            bool res = callBooleanMethod(envPtr, obj, methodIdNative.native, args) != 0;

            ExceptionTest();
            return(res);
        }
示例#7
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public IntPtr GetStaticFieldIDPtr(JniHandle clazz, string name, string sig)
        {
            IntPtr res = getStaticFieldID.Invoke(envPtr, clazz, name, sig);

            ExceptionTest();
            return(res);
        }
示例#8
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public double CallDoubleMethod(JniHandle obj, MethodId methodIdNative, params Value[] args)
        {
            double res = callDoubleMethod(envPtr, obj, methodIdNative.native, args);

            ExceptionTest();
            return(res);
        }
示例#9
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public JniLocalHandle NewObjectPtr(JniHandle clazz, MethodId methodID, params Value[] args)
        {
            JniLocalHandle res = newObject(envPtr, clazz, methodID.native, args);

            ExceptionTest();
            return(res);
        }
示例#10
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
 internal void Throw(JniHandle ptr)
 {
     if (@throw(envPtr, ptr) != JNIResult.JNI_OK)
     {
         throw new JNIException("Can't throw");
     }
 }
示例#11
0
        internal JniLocalHandle GetObjectArrayElementPtr(JniHandle array, int index)
        {
            JniLocalHandle res = getObjectArrayElement(envPtr, array, index);

            ExceptionTest();
            return(res);
        }
示例#12
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public JniLocalHandle PopLocalFrame(JniHandle result)
        {
            JniLocalHandle res = popLocalFrame(envPtr, result);

            ExceptionTest();
            return(res);
        }
示例#13
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public float CallFloatMethod(JniHandle obj, MethodId methodIdNative, params Value[] args)
        {
            float res = callFloatMethod(envPtr, obj, methodIdNative.native, args);

            ExceptionTest();
            return(res);
        }
示例#14
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public bool GetStaticBooleanField(JniHandle clazz, IntPtr fieldID)
        {
            bool res = getStaticBooleanField(envPtr, clazz, fieldID) != 0;

            ExceptionTest();
            return(res);
        }
示例#15
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public long CallLongMethod(JniHandle obj, MethodId methodIdNative, params Value[] args)
        {
            long res = callLongMethod(envPtr, obj, methodIdNative.native, args);

            ExceptionTest();
            return(res);
        }
示例#16
0
 internal void GetCharArrayRegion(JniHandle array, int start, int len, char[] buf)
 {
     fixed (char* ptr = &buf[0])
     {
         getCharArrayRegion(envPtr, array, start, len, ptr);
     }
     ExceptionTest();
 }
示例#17
0
 internal void SetIntArrayRegion(JniHandle array, int start, int len, int[] buf)
 {
     fixed (int* ptr = &buf[0])
     {
         setIntArrayRegion(envPtr, array, start, len, ptr);
     }
     ExceptionTest();
 }
示例#18
0
 internal void GetBooleanArrayRegion(JniHandle array, int start, int len, bool[] buf)
 {
     fixed (bool* ptr = &buf[0])
     {
         getBooleanArrayRegion(envPtr, array, start, len, (byte*) ptr);
     }
     ExceptionTest();
 }
示例#19
0
 internal void GetDoubleArrayRegion(JniHandle array, int start, int len, double[] buf)
 {
     fixed (double* ptr = &buf[0])
     {
         getDoubleArrayRegion(envPtr, array, start, len, ptr);
     }
     ExceptionTest();
 }
示例#20
0
 internal void GetFloatArrayRegion(JniHandle array, int start, int len, float[] buf)
 {
     fixed (float* ptr = &buf[0])
     {
         getFloatArrayRegion(envPtr, array, start, len, ptr);
     }
     ExceptionTest();
 }
示例#21
0
 internal void GetLongArrayRegion(JniHandle array, int start, int len, long[] buf)
 {
     fixed (long* ptr = &buf[0])
     {
         getLongArrayRegion(envPtr, array, start, len, ptr);
     }
     ExceptionTest();
 }
示例#22
0
 internal void SetByteArrayRegion(JniHandle array, int start, int len, byte[] buf)
 {
     fixed (byte* ptr = &buf[0])
     {
         setByteArrayRegion(envPtr, array, start, len, ptr);
     }
     ExceptionTest();
 }
示例#23
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        internal string ConvertToString(JniHandle javaString)
        {
            byte   b      = 0;
            IntPtr chars  = GetStringChars(javaString, &b);
            string result = Marshal.PtrToStringUni(chars);

            ReleaseStringChars(javaString, chars);
            return(result);
        }
示例#24
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        public JniGlobalHandle NewGlobalRef(JniHandle lobj)
        {
            if (JniLocalHandle.IsNull(lobj))
            {
                throw new ArgumentNullException("lobj");
            }
            JniGlobalHandleNs res = newGlobalRef(envPtr, lobj);

            return(new JniGlobalHandle(res.handle, GetJavaVM()));
        }
示例#25
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        internal Class GetObjectClass(JniHandle obj)
        {
            if (JniHandle.IsNull(obj))
            {
                return(null);
            }
            JniLocalHandle res = getObjectClass.Invoke(envPtr, obj);

            ExceptionTest();
            return(Convertor.StrongJ2CpClass(this, res));
        }
示例#26
0
文件: JNIEnv.cs 项目: cd37ycs/jni4net
        internal JniLocalHandle NewLocalRef(JniHandle lobj)
        {
            if (JniHandle.IsNull(lobj))
            {
                throw new ArgumentNullException("lobj");
            }
            JniLocalHandle res = newLocalRef(envPtr, lobj);

            //optimized away ExceptionTest();
            return(res);
        }
示例#27
0
        internal static object GetObject(JNIEnv env, JniHandle obj)
        {
            long handle = getClrHandle(env, obj);

            if (handle == 0)
            {
                return(null);
            }
            object real = IntHandle.ToObject(handle);

            return(real);
        }
示例#28
0
        public static void SetValue <TRef>(JNIEnv env, JniLocalHandle container, TRef value)
        {
            JniHandle val = Convertor.FullC2J(env, value);

            env.SetObjectFieldPtr(container, fieldID, val);
        }
示例#29
0
 public void SetObjectArrayElement(JniHandle array, int index, JniHandle val)
 {
     setObjectArrayElement(envPtr, array, index, val);
     ExceptionTest();
 }
示例#30
0
 public void SetObjectArrayElement(Object array, int index, JniHandle val)
 {
     SetObjectArrayElement(array.jvmHandle, index, val);
 }