javacommons/gcfprotocols/socket/socket/src.s60/apnsettings.cpp
branchRCL_3
changeset 77 7cee158cb8cd
parent 60 6c158198356e
child 87 1627c337e51e
--- a/javacommons/gcfprotocols/socket/socket/src.s60/apnsettings.cpp	Tue Sep 14 21:06:50 2010 +0300
+++ b/javacommons/gcfprotocols/socket/socket/src.s60/apnsettings.cpp	Wed Sep 15 12:05:25 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);
+     
+}