(decl, namespace, class_name, package_name, header=False)
| 863 | l(f'') |
| 864 | |
| 865 | def gen_to_jni_create_object_array(decl, namespace, class_name, package_name, header=False): |
| 866 | struct_name = decl["name"] |
| 867 | |
| 868 | fn = f'jobjectArray C2J_Create{struct_name}Array(JNIEnv* env, TypeInfos* types, const {struct_name}* src, uint32_t src_count)' |
| 869 | if header: |
| 870 | l(f'{fn};') |
| 871 | return |
| 872 | |
| 873 | l(f'{fn} {{') |
| 874 | l(f' if (src == 0 || src_count == 0) return 0;') |
| 875 | l(f' jobjectArray arr = env->NewObjectArray(src_count, types->m_{struct_name}JNI.cls, 0);') |
| 876 | l(f' for (uint32_t i = 0; i < src_count; ++i) {{') |
| 877 | l(f' jobject obj = C2J_Create{struct_name}(env, types, &src[i]);') |
| 878 | l(f' env->SetObjectArrayElement(arr, i, obj);') |
| 879 | l(f' env->DeleteLocalRef(obj);') |
| 880 | l(f' }}') |
| 881 | l(f' return arr;') |
| 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"] |
no test coverage detected