@@ -204,6 +204,7 @@ static void deleteClasses(JNIEnv *env)
204204{
205205 (* env )-> DeleteGlobalRef (env , ompi_java .CartParmsClass );
206206 (* env )-> DeleteGlobalRef (env , ompi_java .ShiftParmsClass );
207+ (* env )-> DeleteGlobalRef (env , ompi_java .VersionClass );
207208 (* env )-> DeleteGlobalRef (env , ompi_java .GraphParmsClass );
208209 (* env )-> DeleteGlobalRef (env , ompi_java .DistGraphNeighborsClass );
209210 (* env )-> DeleteGlobalRef (env , ompi_java .StatusClass );
@@ -257,6 +258,12 @@ JNIEXPORT jobject JNICALL Java_mpi_MPI_newDoubleInt(JNIEnv *env, jclass clazz)
257258 return (* env )-> NewObject (env , c , m , iOff , sizeof (int ));
258259}
259260
261+ JNIEXPORT void JNICALL Java_mpi_MPI_initVersion (JNIEnv * env , jclass jthis )
262+ {
263+ ompi_java .VersionClass = findClass (env , "mpi/Version" );
264+ ompi_java .VersionInit = (* env )-> GetMethodID (env , ompi_java .VersionClass , "<init>" , "(II)V" );
265+ }
266+
260267JNIEXPORT jobjectArray JNICALL Java_mpi_MPI_Init_1jni (
261268 JNIEnv * env , jclass clazz , jobjectArray argv )
262269{
@@ -353,6 +360,26 @@ JNIEXPORT void JNICALL Java_mpi_MPI_Finalize_1jni(JNIEnv *env, jclass obj)
353360 deleteClasses (env );
354361}
355362
363+ JNIEXPORT jobject JNICALL Java_mpi_MPI_getVersionJNI (JNIEnv * env , jclass jthis )
364+ {
365+ int version , subversion ;
366+ int rc = MPI_Get_version (& version , & subversion );
367+ ompi_java_exceptionCheck (env , rc );
368+
369+ return (* env )-> NewObject (env , ompi_java .VersionClass ,
370+ ompi_java .VersionInit , version , subversion );
371+ }
372+
373+ JNIEXPORT jstring JNICALL Java_mpi_MPI_getLibVersionJNI (JNIEnv * env , jclass jthis )
374+ {
375+ int length ;
376+ char version [MPI_MAX_LIBRARY_VERSION_STRING ];
377+ int rc = MPI_Get_library_version (version , & length );
378+ ompi_java_exceptionCheck (env , rc );
379+
380+ return (* env )-> NewStringUTF (env , version );
381+ }
382+
356383JNIEXPORT jint JNICALL Java_mpi_MPI_getProcessorName (
357384 JNIEnv * env , jclass obj , jbyteArray buf )
358385{
0 commit comments