@@ -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