javacommons/gcfprotocols/socket/socket/src.s60/apnsettings.cpp
changeset 76 4ad59aaee882
parent 35 85266cc22c7f
child 87 1627c337e51e
--- a/javacommons/gcfprotocols/socket/socket/src.s60/apnsettings.cpp	Thu Sep 02 20:20:40 2010 +0300
+++ b/javacommons/gcfprotocols/socket/socket/src.s60/apnsettings.cpp	Fri Sep 17 08:28:21 2010 +0300
@@ -66,4 +66,29 @@
     return def;
 }
 
-
+void ApnSettings::removeDefaultApn()
+{ 
+    #ifdef RD_JAVA_OPENC_BETA_PATCH
+        setdefaultif(0);
+        ILOG(ESOCKET, "sedefaultif called");
+        ILOG1(ESOCKET, "remove default apn returned %d",setdefaultif(NULL));
+    #endif  
+}
+int ApnSettings::retryConnection(int aErrCode, int aType, int aApn)
+{
+    if ( aErrCode > __EMAXERRNO )
+    {
+        // errno out of range, check for KErrNotReady
+        int errCode = -(aErrCode - __EMAXERRNO);
+        ELOG1(ESOCKET,"ApnSettings:: retryConnection symbian error : %d" , errCode);
+        if( (errCode == KErrNotReady) && (aType == 2) )
+        {
+            // call reset and setDefaultif() again to make a new conn and use  
+            ApnSettings::removeDefaultApn();
+            int ret = ApnSettings::setDefaultApn(aType,aApn);
+            return ret;
+        }
+     }     
+     return -(aErrCode);
+     
+}