X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=ltt%2Fjni_interface.c;fp=ltt%2Fjni_interface.c;h=255f3227704b669e869190b1c9b531f3e3d5361c;hb=9bf3752a47cedeb96104e465e94ccea90416707f;hp=aac5a21045be5a4d98b087082ee988f675a9d706;hpb=11b7882ed9fe83929d8f008cd8294ac554f5380c;p=lttv.git diff --git a/ltt/jni_interface.c b/ltt/jni_interface.c index aac5a210..255f3227 100644 --- a/ltt/jni_interface.c +++ b/ltt/jni_interface.c @@ -104,6 +104,26 @@ JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_Jni_1C_1Common_ltt_ (*env)->ReleaseStringUTFChars(env, new_string, c_msg); } + +/* Method to obtain a trace version number from its path */ +JNIEXPORT void JNICALL Java_org_eclipse_linuxtools_lttng_jni_factory_JniTraceVersion_ltt_1getTraceVersion(JNIEnv *env, jobject jobj, jstring tracepath) { + + const gchar *c_pathname = (*env)->GetStringUTFChars(env, tracepath, 0); + jint tmpMajorNumber = 0; + jint tmpMinorNumber = 0; + + jclass accessClass = (*env)->GetObjectClass(env, jobj); + jmethodID accessFunction = (*env)->GetMethodID(env, accessClass, "setTraceVersionFromC", "(II)V"); + + struct LttTraceVersion version_number; + + if ( ltt_get_trace_version(c_pathname, &version_number) >= 0) { + tmpMajorNumber = version_number.ltt_major_version; + tmpMinorNumber = version_number.ltt_minor_version; + } + + (*env)->CallVoidMethod(env, jobj, accessFunction, tmpMajorNumber, tmpMinorNumber ); +} /* # #### */