diff -r abc41079b313 -r 59b3b4473dc8 javacommons/gcfprotocols/http/src.s60/nativetransaction.cpp --- a/javacommons/gcfprotocols/http/src.s60/nativetransaction.cpp Fri Jul 23 12:27:20 2010 +0300 +++ b/javacommons/gcfprotocols/http/src.s60/nativetransaction.cpp Thu Aug 05 16:07:57 2010 +0300 @@ -19,13 +19,18 @@ #include #include +#ifdef RD_JAVA_S60_RELEASE_10_1_ONWARDS +#include +#else +#include +#endif + #include "com_nokia_mj_impl_http_HttpConnectionNative.h" #include "nativehttptransaction.h" #include "nativehttpsession.h" #include "monitor.h" #include "logger.h" #include "s60commonutils.h" -#include "javauseragent.h" using namespace java::util; @@ -215,14 +220,23 @@ jstring GetUserAgentL(JNIEnv *aJni, jboolean aMidpRuntime) { - LOG(ESOCKET,EInfo,"GetUserAgentL() +"); jstring header = NULL; if (aMidpRuntime == false) { - HBufC* stringBufPtr = JavaUserAgent::GetUserAgentL(); - header = S60CommonUtils::NativeToJavaString(*aJni,stringBufPtr->Des()); - delete stringBufPtr; + CUserAgent* userAgent = CUserAgent::NewL(); + CleanupStack::PushL(userAgent); + + HBufC8* agent8 = userAgent->UserAgentL(); + CleanupStack::PushL(agent8); + HBufC* agent = HBufC::NewMaxLC(agent8->Length()); + agent->Des().Copy(*agent8); + header = S60CommonUtils::NativeToJavaString(*aJni, agent->Des()); + + CleanupStack::PopAndDestroy(agent); + CleanupStack::PopAndDestroy(agent8); + CleanupStack::PopAndDestroy(userAgent); + return header; } @@ -242,9 +256,18 @@ { case KHTTPUserAgentBrowserHeader: { - HBufC* stringBufPtr = (JavaUserAgent::GetUserAgentL()); - header = S60CommonUtils::NativeToJavaString(*aJni, stringBufPtr->Des()); - delete stringBufPtr; + CUserAgent* userAgent = CUserAgent::NewL(); + CleanupStack::PushL(userAgent); + + HBufC8* agent8 = userAgent->UserAgentL(); + CleanupStack::PushL(agent8); + HBufC* agent = HBufC::NewMaxLC(agent8->Length()); + agent->Des().Copy(*agent8); + header = S60CommonUtils::NativeToJavaString(*aJni, agent->Des()); + + CleanupStack::PopAndDestroy(agent); + CleanupStack::PopAndDestroy(agent8); + CleanupStack::PopAndDestroy(userAgent); } break;