gen_dict.json 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. {
  2. "ManualFuncs" : {
  3. "QRCodeEncoder" : {
  4. "QRCodeEncoder" : {
  5. "j_code" : [
  6. "\n",
  7. "/** Generates QR code from input string.",
  8. "@param encoded_info Input bytes to encode.",
  9. "@param qrcode Generated QR code.",
  10. "*/",
  11. "public void encode(byte[] encoded_info, Mat qrcode) {",
  12. " encode_1(nativeObj, encoded_info, qrcode.nativeObj);",
  13. "}",
  14. "\n"
  15. ],
  16. "jn_code": [
  17. "\n",
  18. "private static native void encode_1(long nativeObj, byte[] encoded_info, long qrcode_nativeObj);",
  19. "\n"
  20. ],
  21. "cpp_code": [
  22. "//",
  23. "// void cv::QRCodeEncoder::encode(String encoded_info, Mat& qrcode)",
  24. "//",
  25. "\n",
  26. "JNIEXPORT void JNICALL Java_org_opencv_objdetect_QRCodeEncoder_encode_11 (JNIEnv*, jclass, jlong, jbyteArray, jlong);",
  27. "\n",
  28. "JNIEXPORT void JNICALL Java_org_opencv_objdetect_QRCodeEncoder_encode_11",
  29. "(JNIEnv* env, jclass , jlong self, jbyteArray encoded_info, jlong qrcode_nativeObj)",
  30. "{",
  31. "",
  32. " static const char method_name[] = \"objdetect::encode_11()\";",
  33. " try {",
  34. " LOGD(\"%s\", method_name);",
  35. " Ptr<cv::QRCodeEncoder>* me = (Ptr<cv::QRCodeEncoder>*) self; //TODO: check for NULL",
  36. " const char* n_encoded_info = reinterpret_cast<char*>(env->GetByteArrayElements(encoded_info, NULL));",
  37. " const jsize n_encoded_info_size = env->GetArrayLength(encoded_info);",
  38. " Mat& qrcode = *((Mat*)qrcode_nativeObj);",
  39. " (*me)->encode( std::string(n_encoded_info, n_encoded_info_size), qrcode );",
  40. " } catch(const std::exception &e) {",
  41. " throwJavaException(env, &e, method_name);",
  42. " } catch (...) {",
  43. " throwJavaException(env, 0, method_name);",
  44. " }",
  45. "}",
  46. "\n"
  47. ]
  48. }
  49. }
  50. },
  51. "type_dict": {
  52. "NativeByteArray": {
  53. "j_type" : "byte[]",
  54. "jn_type": "byte[]",
  55. "jni_type": "jbyteArray",
  56. "jni_name": "n_%(n)s",
  57. "jni_var": "jbyteArray n_%(n)s = env->NewByteArray(static_cast<jsize>(%(n)s.size())); env->SetByteArrayRegion(n_%(n)s, 0, static_cast<jsize>(%(n)s.size()), reinterpret_cast<const jbyte*>(%(n)s.c_str()));",
  58. "cast_from": "std::string"
  59. },
  60. "vector_NativeByteArray": {
  61. "j_type": "List<byte[]>",
  62. "jn_type": "List<byte[]>",
  63. "jni_type": "jobject",
  64. "jni_var": "std::vector< std::string > %(n)s",
  65. "suffix": "Ljava_util_List",
  66. "v_type": "vector_NativeByteArray"
  67. }
  68. }
  69. }