networkcontrol/ipnetworklayer/src/IPProtoTierManagerSelector.cpp
branchRCL_3
changeset 75 c1029e558ef5
parent 58 8d540f55e491
equal deleted inserted replaced
67:bb2423252ea3 75:c1029e558ef5
   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 
   109 		if (ipprotomcpr->iIapLocked)
       
   110 			User::Leave(KErrPermissionDenied);
   110 
   111 
   111 		TSecureId sid;
   112 		TSecureId sid;
   112 		ASubSessionPlatsecApiExt platsecext(iSelectionPrefs.SubSessionUniqueId());
   113 		ASubSessionPlatsecApiExt platsecext(iSelectionPrefs.SubSessionUniqueId());
   113 		if (platsecext.SecureId(sid) == KErrNone)
   114 		if (platsecext.SecureId(sid) == KErrNone)
   114 			{
   115 			{
   115             if (ipprotomcpr->iIapLocked && sid.iId!=ipprotomcpr->iLockedIapsid)
   116 			CCommsDatIapView* iapView = CCommsDatIapView::NewLC(aIapToFind);
   116                 User::Leave(KErrPermissionDenied);
   117 
   117 
   118 			TUint32 iapsid;
   118             CCommsDatIapView* iapView = CCommsDatIapView::NewLC(aIapToFind);
   119 			iapView->GetIntL(KCDTIdIAPAppSid, iapsid);
   119                 
   120 
   120             TUint32 iapsid;
   121 			if (sid.iId == iapsid && iapsid != 0)
   121             iapView->GetIntL(KCDTIdIAPAppSid, iapsid);
   122 				ipprotomcpr->iIapLocked = ETrue;
   122                     
   123 			CleanupStack::PopAndDestroy(iapView);
   123             if (sid.iId == iapsid && iapsid != 0)
       
   124             {
       
   125                 ipprotomcpr->iIapLocked = ETrue;
       
   126                 ipprotomcpr->iLockedIapsid=iapsid;
       
   127             }
       
   128             CleanupStack::PopAndDestroy(iapView);
       
   129 			}
   124 			}
   130 		}
   125 		}
   131 	provider->IncrementBlockingDestroy();
   126 	provider->IncrementBlockingDestroy();
   132 	return provider;
   127 	return provider;
   133 	}
   128 	}