I started using the new SessionQualifier feature today (using JNI) and had
failures at first. I tracked it down to the src/java/Conversions.h file,
and the problem was pretty easy to fix. Here is the patch:
diff -u -r1.16 Conversions.h
--- Conversions.h 3 Nov 2004 16:31:54 -0000 1.16
+++ Conversions.h 20 Jan 2005 19:44:02 -0000
@@ -69,16 +69,18 @@
{
JNIEnv * pEnv = ENV::get();
JVMClass type( "Lquickfix/SessionID;" );
- jmethodID method = pEnv->GetMethodID( type, "<init>", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" );
+ jmethodID method = pEnv->GetMethodID( type, "<init>", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"
);
jstring beginString = newString( sessionID.getBeginString().getValue() );
jstring senderCompID = newString( sessionID.getSenderCompID().getValue() );
jstring targetCompID = newString( sessionID.getTargetCompID().getValue() );
- jobject result = pEnv->NewObject( type, method, beginString, senderCompID, targetCompID );
+ jstring qualifier = newString( sessionID.getSessionQualifier() );
+ jobject result = pEnv->NewObject( type, method, beginString, senderCompID, targetCompID, qualifier );
pEnv->DeleteLocalRef( beginString );
pEnv->DeleteLocalRef( senderCompID );
pEnv->DeleteLocalRef( targetCompID );
+ pEnv->DeleteLocalRef( qualifier );
return result;
}
|