jni.monkey2 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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 _jarray
  16. End
  17. Alias jarray:_jarray Ptr
  18. Struct _jobjectArray
  19. End
  20. Alias jobjectArray:_jobjectArray Ptr
  21. Struct _jfieldID
  22. End
  23. Alias jfieldID:_jfieldID Ptr
  24. Struct _jmethodID
  25. End
  26. Alias jmethodID:_jmethodID Ptr
  27. Class JNIEnv Extends Void
  28. 'utils
  29. '
  30. Method JStringToString:String( jstr:jstring ) Extension="bbJNI::JStringToString"
  31. Method StringToJString:jstring( str:String ) Extension="bbJNI::StringToJString"
  32. 'classes
  33. '
  34. Method FindClass:jclass( name:CString )
  35. 'fields...
  36. '
  37. Method GetFieldID:jfieldID( clazz:jclass,name:CString,sig:CString )
  38. Method GetBooleanField:Bool( obj:jobject,fieldID:jfieldID )
  39. Method GetIntField:Int( obj:jobject,fieldID:jfieldID )
  40. Method GetFloatField:Float( obj:jobject,fieldID:jfieldID )
  41. Method GetDoubleField:Double( obj:jobject,fieldID:jfieldID )
  42. Method GetStringField:String( obj:jobject,fieldID:jfieldID ) Extension="bbJNI::GetStringField"
  43. Method GetObjectField:jobject( obj:jobject,fieldID:jfieldID )
  44. 'static fields...
  45. Method GetStaticFieldID:jfieldID( clazz:jclass,name:CString,sig:CString )
  46. Method GetStaticBooleanField:Bool( obj:jobject,fieldID:jfieldID )
  47. Method GetStaticIntField:Int( obj:jobject,fieldID:jfieldID )
  48. Method GetStaticFloatField:Float( obj:jobject,fieldID:jfieldID )
  49. Method GetStaticDoubleField:Double( obj:jobject,fieldID:jfieldID )
  50. Method GetStaticStringField:String( clazz:jclass,fieldID:jfieldID ) Extension="bbJNI::GetStaticStringField"
  51. Method GetStaticObjectField:jobject( clazz:jclass,fieldID:jfieldID )
  52. 'methods...
  53. '
  54. Method GetMethodID:jmethodID( clazz:jclass,name:CString,sig:CString )
  55. Method CallVoidMethod:Void( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallVoidMethod"
  56. Method CallBooleanMethod:Bool( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallBooleanMethod"
  57. Method CallIntMethod:Int( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallIntMethod"
  58. Method CallFloatMethod:Float( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallFloatMethod"
  59. Method CallDoubleMethod:Double( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallDoubleMethod"
  60. Method CallStringMethod:String( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStringMethod"
  61. Method CallObjectMethod:jobject( obj:jobject,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallObjectMethod"
  62. 'static methods...
  63. '
  64. Method GetStaticMethodID:jmethodID( clazz:jclass,name:CString,sig:CString )
  65. Method CallStaticVoidMethod:Void( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticVoidMethod"
  66. Method CallStaticBooleanMethod:Bool( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticBooleanMethod"
  67. Method CallStaticIntMethod:int( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticIntMethod"
  68. Method CallStaticFloatMethod:Float( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticFloatMethod"
  69. Method CallStaticDoubleMethod:Double( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticDoubleMethod"
  70. Method CallStaticStringMethod:String( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticStringMethod"
  71. Method CallStaticObjectMethod:jobject( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::CallStaticObjectMethod"
  72. 'ctors...
  73. '
  74. Method AllocObject:jobject( clazz:jclass )
  75. Method NewObject:jobject( clazz:jclass,methodID:jmethodID,args:Variant[] ) Extension="bbJNI::NewObject"
  76. Method NewObjectArray:jobjectArray( length:Int,clazz:jclass,init:jobject )
  77. Method SetObjectArrayElement( jarray:jobjectArray,index:Int,value:jobject )
  78. 'refs...
  79. '
  80. Method NewGlobalRef:jobject( obj:jobject )
  81. Method DeleteGlobalRef( obj:jobject )
  82. Method DeleteLocalRef( obj:jobject )
  83. Method IsSameObject:Bool( obj1:jobject,obj2:jobject )
  84. End
  85. #End