jni.monkey2 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. Namespace jni
  2. #If __TARGET__="android"
  3. #Import "native/jni_glue.cpp"
  4. #Import "native/jni_glue.h"
  5. Extern
  6. Struct _jclass
  7. End
  8. Alias jclass:_jclass Ptr
  9. Struct _jobject
  10. End
  11. Alias jobject:_jobject Ptr
  12. Struct _jstring
  13. End
  14. Alias jstring:_jstring Ptr
  15. Struct _jfieldID
  16. End
  17. Alias jfieldID:_jfieldID Ptr
  18. Struct _jmethodID
  19. End
  20. Alias jmethodID:_jmethodID Ptr
  21. Class JNIEnv Extends Void
  22. 'utils
  23. '
  24. Method JStringToString:String( jstr:jstring ) Extension="bbJNI::JStringToString"
  25. Method StringToJString:jstring( str:String ) Extension="bbJNI::StringToJString"
  26. 'classes
  27. '
  28. Method FindClass:jclass( name:CString )
  29. 'fields...
  30. '
  31. Method GetFieldID:jfieldID( clazz:jclass,name:CString,sig:CString )
  32. Method GetObjectField:jobject( obj:jobject,fieldID:jfieldID )
  33. 'static fields...
  34. Method GetStaticFieldID:jfieldID( clazz:jclass,name:CString,sig:CString )
  35. Method GetStaticObjectField:jobject( clazz:jclass,fieldID:jfieldID )
  36. 'methods...
  37. '
  38. Method GetMethodID:jmethodID( clazz:jclass,name:CString,sig:CString )
  39. Method CallVoidMethod:Void( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallVoidMethod"
  40. Method CallBooleanMethod:Bool( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallBooleanMethod"
  41. 'static methods...
  42. '
  43. Method GetStaticMethodID:jmethodID( clazz:jclass,name:CString,sig:CString )
  44. Method CallStaticVoidMethod:Void( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticVoidMethod"
  45. Method CallStaticBooleanMethod:Bool( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticBooleanMethod"
  46. 'ctors...
  47. '
  48. Method AllocObject:jobject( clazz:jclass )
  49. Method NewObject:jobject( clazz:jclass,methodID:jmethodID )
  50. 'refs...
  51. '
  52. Method NewGlobalRef:jobject( obj:jobject )
  53. Method DeleteGlobalRef( obj:jobject )
  54. Method IsSameObject:Bool( obj1:jobject,obj2:jobject )
  55. End
  56. #End