networkcontrol/ipnetworklayer/src/IPProtoTierManagerSelector.cpp
branchRCL_3
changeset 22 8d540f55e491
parent 21 abbed5a4b42a
equal deleted inserted replaced
21:abbed5a4b42a 22:8d540f55e491
   104    		}
   104    		}
   105 
   105 
   106 	if (!(iSelectionPrefs.Scope()&TSelectionPrefs::ESelectFromExisting))
   106 	if (!(iSelectionPrefs.Scope()&TSelectionPrefs::ESelectFromExisting))
   107 		{
   107 		{
   108 		CIPProtoMetaConnectionProvider *ipprotomcpr = static_cast<CIPProtoMetaConnectionProvider *>(provider);
   108 		CIPProtoMetaConnectionProvider *ipprotomcpr = static_cast<CIPProtoMetaConnectionProvider *>(provider);
   109 		if (ipprotomcpr->iIapLocked)
   109 
   110 			User::Leave(KErrPermissionDenied);
       
   111 
   110 
   112 		TSecureId sid;
   111 		TSecureId sid;
   113 		ASubSessionPlatsecApiExt platsecext(iSelectionPrefs.SubSessionUniqueId());
   112 		ASubSessionPlatsecApiExt platsecext(iSelectionPrefs.SubSessionUniqueId());
   114 		if (platsecext.SecureId(sid) == KErrNone)
   113 		if (platsecext.SecureId(sid) == KErrNone)
   115 			{
   114 			{
   116 			CCommsDatIapView* iapView = CCommsDatIapView::NewLC(aIapToFind);
   115             if (ipprotomcpr->iIapLocked && sid.iId!=ipprotomcpr->iLockedIapsid)
   117 
   116                 User::Leave(KErrPermissionDenied);
   118 			TUint32 iapsid;
   117 
   119 			iapView->GetIntL(KCDTIdIAPAppSid, iapsid);
   118             CCommsDatIapView* iapView = CCommsDatIapView::NewLC(aIapToFind);
   120 
   119                 
   121 			if (sid.iId == iapsid && iapsid != 0)
   120             TUint32 iapsid;
   122 				ipprotomcpr->iIapLocked = ETrue;
   121             iapView->GetIntL(KCDTIdIAPAppSid, iapsid);
   123 			CleanupStack::PopAndDestroy(iapView);
   122                     
       
   123             if (sid.iId == iapsid && iapsid != 0)
       
   124             {
       
   125                 ipprotomcpr->iIapLocked = ETrue;
       
   126                 ipprotomcpr->iLockedIapsid=iapsid;
       
   127             }
       
   128             CleanupStack::PopAndDestroy(iapView);
   124 			}
   129 			}
   125 		}
   130 		}
   126 	provider->IncrementBlockingDestroy();
   131 	provider->IncrementBlockingDestroy();
   127 	return provider;
   132 	return provider;
   128 	}
   133 	}