diff -r 85266cc22c7f -r 35baca0e7a2e javacommons/gcfprotocols/http/src.s60/chttpsessionclient.cpp --- a/javacommons/gcfprotocols/http/src.s60/chttpsessionclient.cpp Fri Jun 11 13:33:44 2010 +0300 +++ b/javacommons/gcfprotocols/http/src.s60/chttpsessionclient.cpp Tue Jul 06 20:36:19 2010 +0300 @@ -22,7 +22,13 @@ #include #include #include "logger.h" + +#ifdef RD_JAVA_S60_RELEASE_9_2_ONWARDS +#include // extended connection preference +#include +#else #include +#endif #include #include @@ -146,10 +152,19 @@ *apnerr = ret; return; } - +#ifdef RD_JAVA_S60_RELEASE_9_2_ONWARDS + TConnPrefList prefList; + TExtendedConnPref prefs; + prefs.SetSnapId(aAPNId); + prefList.AppendL(&prefs); + ret = iConnection.Start(prefList); +#else TCommSnapPref connPref; connPref.SetSnap(aAPNId); ret = iConnection.Start(connPref); +#endif + + LOG(ESOCKET,EInfo,"+HttpSessionClient:: using extended connection prefernce in snap case"); LOG1(ESOCKET,EInfo,"iConnection.Start returned %d",ret); if (ret < 0) { @@ -172,6 +187,7 @@ { if (aType == 3) // IAP Id { + LOG(ESOCKET,EInfo,"+HttpSessionClient:: in iap case"); if (aAPNId != -1) { // Creates connection with selected IAP ID @@ -189,18 +205,35 @@ *apnerr = ret; return; } + +#ifdef RD_JAVA_S60_RELEASE_9_2_ONWARDS + // Create connection preferences + TConnPrefList prefList; + TExtendedConnPref prefs; + prefs.SetIapId(aAPNId); + prefList.AppendL(&prefs); + ret = iConnection.Start(prefList); + LOG(ESOCKET,EInfo,"+HttpSessionClient:: using extended connection prefernce in iap case"); +#else TCommDbConnPref pref; pref.SetIapId(aAPNId); pref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt); ret = iConnection.Start(pref); +#endif + if (ret < 0) { *apnerr = ret; //return; } RHTTPConnectionInfo connInfo = iHttpSession.ConnectionInfo(); + //connInfo.SetPropertyL(iHttpSession.StringPool().StringF( + // HttpFilterCommonStringsExt::EAccessPointID, HttpFilterCommonStringsExt::GetTable()), aAPNId); connInfo.SetPropertyL(iHttpSession.StringPool().StringF( - HttpFilterCommonStringsExt::EAccessPointID, HttpFilterCommonStringsExt::GetTable()), aAPNId); + HTTP::EHttpSocketServ, RHTTPSession::GetTable()), THTTPHdrVal(iSocketServ.Handle())); + TInt connPtr = REINTERPRET_CAST(TInt, &iConnection); + connInfo.SetPropertyL(iHttpSession.StringPool().StringF( + HTTP::EHttpSocketConnection, RHTTPSession::GetTable()), THTTPHdrVal(connPtr)); } // end of if ( aAPNId != -1) } // end of if(aType == 4) else @@ -210,7 +243,7 @@ } // end of else - LOG1(ESOCKET,EInfo,"apnerr = ",*apnerr); + LOG1(ESOCKET,EInfo,"apnerr = %d",*apnerr); // This is special case when that IAP/SNAP is not found // Override the http stack's feaute of using device default @@ -219,9 +252,19 @@ LOG(ESOCKET,EInfo,"ECommDbDialogPrefPrompt set for the http session"); int ret = iSocketServ.Connect(); ret = iConnection.Open(iSocketServ); +#ifdef RD_JAVA_S60_RELEASE_9_2_ONWARDS + TConnPrefList prefList; + TExtendedConnPref prefs; + prefs.SetConnSelectionDialog(ETrue); + prefList.AppendL(&prefs); + ret = iConnection.Start(prefList); + LOG(ESOCKET,EInfo,"+HttpSessionClient:: using extended connection prefernce - error case "); +#else TCommDbConnPref pref; pref.SetDialogPreference(ECommDbDialogPrefPrompt); ret = iConnection.Start(pref); + LOG(ESOCKET,EInfo,"+HttpSessionClient:: using commdb con pref - error case "); +#endif RHTTPConnectionInfo connInfo = iHttpSession.ConnectionInfo(); connInfo.SetPropertyL(iHttpSession.StringPool().StringF( @@ -296,10 +339,25 @@ iConnection.Close(); TInt ret = iConnection.Open(iSocketServ); + //TCommSnapPref connPref; +#ifdef RD_JAVA_S60_RELEASE_9_2_ONWARDS + TConnPrefList prefList; + TExtendedConnPref prefs; + + if (iApnId!=-1) + prefs.SetSnapId(iApnId); + TRAPD(err,prefList.AppendL(&prefs)); + if (err == KErrNone) + ret = iConnection.Start(prefList); + else + ret = iConnection.Start(); +#else TCommSnapPref connPref; if (iApnId!=-1) connPref.SetSnap(iApnId); ret = iConnection.Start(connPref); + +#endif LOG(ESOCKET,EInfo,"+HttpSessionClient::RestartConnection + "); }