@@ -208,6 +208,7 @@ static void deleteClasses(JNIEnv *env)
208208{
209209 (* env )-> DeleteGlobalRef (env , ompi_java .CartParmsClass );
210210 (* env )-> DeleteGlobalRef (env , ompi_java .ShiftParmsClass );
211+ (* env )-> DeleteGlobalRef (env , ompi_java .VersionClass );
211212 (* env )-> DeleteGlobalRef (env , ompi_java .GraphParmsClass );
212213 (* env )-> DeleteGlobalRef (env , ompi_java .DistGraphNeighborsClass );
213214 (* env )-> DeleteGlobalRef (env , ompi_java .StatusClass );
@@ -261,6 +262,12 @@ JNIEXPORT jobject JNICALL Java_mpi_MPI_newDoubleInt(JNIEnv *env, jclass clazz)
261262 return (* env )-> NewObject (env , c , m , iOff , sizeof (int ));
262263}
263264
265+ JNIEXPORT void JNICALL Java_mpi_MPI_initVersion (JNIEnv * env , jclass jthis )
266+ {
267+ ompi_java .VersionClass = findClass (env , "mpi/Version" );
268+ ompi_java .VersionInit = (* env )-> GetMethodID (env , ompi_java .VersionClass , "<init>" , "(II)V" );
269+ }
270+
264271JNIEXPORT jobjectArray JNICALL Java_mpi_MPI_Init_1jni (
265272 JNIEnv * env , jclass clazz , jobjectArray argv )
266273{
@@ -357,6 +364,26 @@ JNIEXPORT void JNICALL Java_mpi_MPI_Finalize_1jni(JNIEnv *env, jclass obj)
357364 deleteClasses (env );
358365}
359366
367+ JNIEXPORT jobject JNICALL Java_mpi_MPI_getVersionJNI (JNIEnv * env , jclass jthis )
368+ {
369+ int version , subversion ;
370+ int rc = MPI_Get_version (& version , & subversion );
371+ ompi_java_exceptionCheck (env , rc );
372+
373+ return (* env )-> NewObject (env , ompi_java .VersionClass ,
374+ ompi_java .VersionInit , version , subversion );
375+ }
376+
377+ JNIEXPORT jstring JNICALL Java_mpi_MPI_getLibVersionJNI (JNIEnv * env , jclass jthis )
378+ {
379+ int length ;
380+ char version [MPI_MAX_LIBRARY_VERSION_STRING ];
381+ int rc = MPI_Get_library_version (version , & length );
382+ ompi_java_exceptionCheck (env , rc );
383+
384+ return (* env )-> NewStringUTF (env , version );
385+ }
386+
360387JNIEXPORT jint JNICALL Java_mpi_MPI_getProcessorName (
361388 JNIEnv * env , jclass obj , jbyteArray buf )
362389{
0 commit comments