(decl, namespace, class_name, package_name, header=False)
| 882 | l(f'}}') |
| 883 | |
| 884 | def gen_to_jni_create_object_ptr_array(decl, namespace, class_name, package_name, header=False): |
| 885 | struct_name = decl["name"] |
| 886 | |
| 887 | fn = f'jobjectArray C2J_Create{struct_name}PtrArray(JNIEnv* env, TypeInfos* types, const {struct_name}* const* src, uint32_t src_count)' |
| 888 | if header: |
| 889 | l(f'{fn};') |
| 890 | return |
| 891 | |
| 892 | l(f'{fn} {{') |
| 893 | l(f' if (src == 0 || src_count == 0) return 0;') |
| 894 | l(f' jobjectArray arr = env->NewObjectArray(src_count, types->m_{struct_name}JNI.cls, 0);') |
| 895 | l(f' for (uint32_t i = 0; i < src_count; ++i) {{') |
| 896 | l(f' jobject obj = C2J_Create{struct_name}(env, types, src[i]);') |
| 897 | l(f' env->SetObjectArrayElement(arr, i, obj);') |
| 898 | l(f' env->DeleteLocalRef(obj);') |
| 899 | l(f' }}') |
| 900 | l(f' return arr;') |
| 901 | l(f'}}') |
| 902 | |
| 903 | def gen_from_jni_create_object(decl, namespace, class_name, package_name, header=False): |
| 904 | struct_name = decl["name"] |
no test coverage detected