syncmlfw/ds/provisioningadapter/src/NSmlDsProvisioningAdapter.cpp
branchRCL_3
changeset 26 19bba8228ff0
parent 25 b183ec05bd8c
child 27 5cc2995847ea
equal deleted inserted replaced
25:b183ec05bd8c 26:19bba8228ff0
    24 #include <utf.h>
    24 #include <utf.h>
    25 #include <stringresourcereader.h>
    25 #include <stringresourcereader.h>
    26 #include <barsread.h>
    26 #include <barsread.h>
    27 #include <NSmlDSProvisioningAdapter.rsg>
    27 #include <NSmlDSProvisioningAdapter.rsg>
    28 #include <bautils.h>
    28 #include <bautils.h>
       
    29 #include <ApUtils.h>
    29 #include <barsc.h>
    30 #include <barsc.h>
    30 #include <cmconnectionmethoddef.h>
       
    31 #include <cmmanagerext.h>
       
    32 #include <centralrepository.h> //For central Repository
    31 #include <centralrepository.h> //For central Repository
    33 #include <nsmloperatordatacrkeys.h> // KCRUidOperatorDatasyncInternalKeys
    32 #include <NsmlOperatorDataCRKeys.h> // KCRUidOperatorDatasyncInternalKeys
       
    33 
    34 #include <nsmlconstants.h>
    34 #include <nsmlconstants.h>
    35 #include <nsmldebug.h>
    35 #include <nsmldebug.h>
    36 #include <nsmldsconstants.h>
    36 #include <nsmldsconstants.h>
    37 #include <CWPCharacteristic.h>
    37 #include <CWPCharacteristic.h>
    38 #include <CWPParameter.h>
    38 #include <CWPParameter.h>
   265 
   265 
   266         else
   266         else
   267             {
   267             {
   268             uid.Copy(iProfiles[aItem]->iVisitParameter->Data() );
   268             uid.Copy(iProfiles[aItem]->iVisitParameter->Data() );
   269 
   269 
   270             RCmManagerExt  cmmanagerExt;
   270             CCommsDatabase* commDb = CCommsDatabase::NewL();
   271 		    cmmanagerExt.OpenL();
   271             CleanupStack::PushL(commDb);
   272 		    CleanupClosePushL(cmmanagerExt);
   272             CApUtils* aputils = CApUtils::NewLC( *commDb);
   273 		    RCmConnectionMethodExt cm;
   273 
   274 		    cm = cmmanagerExt.ConnectionMethodL( uid());
   274             TRAP( ERROR, apId = aputils->IapIdFromWapIdL( uid() ) );
   275 		    CleanupClosePushL( cm );
   275             CleanupStack::PopAndDestroy(2); //commdb, aputils
   276 
       
   277             TRAP( ERROR, apId = cm.GetIntAttributeL(CMManager::ECmIapId) );
       
   278             CleanupStack::PopAndDestroy(2); //cmmanager,cm
       
   279             }
   276             }
   280 
   277 
   281         //Get default access point in failure of getting AP
   278         //Get default access point in failure of getting AP
   282         if (ERROR != KErrNone || err1 != KErrNone)
   279         if (ERROR != KErrNone || err1 != KErrNone)
   283 			{
   280 			{
   296 	if( iProfiles[aItem]->iHostAddress )
   293 	if( iProfiles[aItem]->iHostAddress )
   297 		{
   294 		{
   298 		// see if address contains also port
   295 		// see if address contains also port
   299 		TBool portFound = EFalse;
   296 		TBool portFound = EFalse;
   300 		TInt startPos(0);
   297 		TInt startPos(0);
       
   298 		TBool isHTTPS = EFalse;
   301 		if(iProfiles[aItem]->iHostAddress->Find(KNSmlDsProvisioningHTTP)==0)
   299 		if(iProfiles[aItem]->iHostAddress->Find(KNSmlDsProvisioningHTTP)==0)
   302 		    {
   300 		    {
   303 		    startPos=KNSmlDsProvisioningHTTP().Length();		    		    
   301 		    startPos=KNSmlDsProvisioningHTTP().Length();		    		    
   304 		    }
   302 		    }
   305 		else if(iProfiles[aItem]->iHostAddress->Find(KNSmlDsProvisioningHTTPS)==0)
   303 		else if(iProfiles[aItem]->iHostAddress->Find(KNSmlDsProvisioningHTTPS)==0)
   306 		    {
   304 		    {
   307 		    startPos=KNSmlDsProvisioningHTTPS().Length();		    		    
   305 		    startPos=KNSmlDsProvisioningHTTPS().Length();	
       
   306 		    isHTTPS = ETrue;
   308 		    }
   307 		    }
   309 		TPtrC uriPtr = iProfiles[aItem]->iHostAddress->Mid(startPos);
   308 		TPtrC uriPtr = iProfiles[aItem]->iHostAddress->Mid(startPos);
   310 		
   309 		
   311 		if(uriPtr.Locate(KNSmlDMColon)!=KErrNotFound)
   310 		if(uriPtr.Locate(KNSmlDMColon)!=KErrNotFound)
   312 		    {
   311 		    {
   333 					}
   332 					}
   334 				CleanupStack::PopAndDestroy(); // uri		  
   333 				CleanupStack::PopAndDestroy(); // uri		  
   335 				}
   334 				}
   336 			else
   335 			else
   337 				{
   336 				{
       
   337 				TBuf<16> portNum;
       
   338 				if (isHTTPS)
       
   339 				    {
       
   340 				    portNum.Copy(KNSmlDsHTTPSDefaultPort());
       
   341 				    }
       
   342 				else
       
   343 				    {
       
   344 				    portNum.Copy(KNSmlDsDefaultPort());
       
   345 				    }
   338 				// use default port
   346 				// use default port
   339 				if( CombineURILC( iProfiles[aItem]->iHostAddress->Des(),
   347 				if( CombineURILC( iProfiles[aItem]->iHostAddress->Des(),
   340 							  KNSmlDsDefaultPort(), uri ) == KErrNone )
   348 				        portNum, uri ) == KErrNone )
   341 					{
   349 					{
   342 					if(iProfiles[aItem]->iHostAddress)
   350 					if(iProfiles[aItem]->iHostAddress)
   343 					{
   351 					{
   344 						delete iProfiles[aItem]->iHostAddress;
   352 						delete iProfiles[aItem]->iHostAddress;
   345 						iProfiles[aItem]->iHostAddress = NULL;
   353 						iProfiles[aItem]->iHostAddress = NULL;