equal
deleted
inserted
replaced
2461 TPtrC capStr = capVar.AsDes(); |
2461 TPtrC capStr = capVar.AsDes(); |
2462 |
2462 |
2463 TCapability cap = this->GetServiceCapability(capStr); |
2463 TCapability cap = this->GetServiceCapability(capStr); |
2464 if( (cap>=ECapabilityTCB) && (cap < ECapability_Limit)) |
2464 if( (cap>=ECapabilityTCB) && (cap < ECapability_Limit)) |
2465 secMgrCapList.AppendL(cap); |
2465 secMgrCapList.AppendL(cap); |
|
2466 CleanupStack::Pop(&capVar); |
|
2467 capVar.Reset(); |
|
2468 } |
|
2469 } |
|
2470 |
|
2471 } |
|
2472 } |
|
2473 |
|
2474 void CLiwServiceHandlerImpl::GetProviderResourceFile(TDes& aFilePath,CLiwGenericParamList* pMetaData) |
|
2475 { |
|
2476 _LIT8(KResourceFile,"res"); |
|
2477 |
|
2478 TInt pos = 0; |
|
2479 const TLiwGenericParam* pCapData = pMetaData->FindFirst(pos,KResourceFile); |
|
2480 |
|
2481 if(pCapData) |
|
2482 { |
|
2483 const CLiwList* pCapList = pCapData->Value().AsList(); |
|
2484 if(pCapList) |
|
2485 { |
|
2486 for(TInt idx(0);idx!=pCapList->Count();++idx) |
|
2487 { |
|
2488 TLiwVariant capVar; |
|
2489 capVar.PushL(); |
|
2490 pCapList->AtL(idx, capVar); |
|
2491 aFilePath = capVar.AsDes(); |
2466 CleanupStack::Pop(&capVar); |
2492 CleanupStack::Pop(&capVar); |
2467 capVar.Reset(); |
2493 capVar.Reset(); |
2468 } |
2494 } |
2469 } |
2495 } |
2470 |
2496 |
2820 } //end of for loop |
2846 } //end of for loop |
2821 |
2847 |
2822 if(pChosenImpl) |
2848 if(pChosenImpl) |
2823 { |
2849 { |
2824 RArray<TCapability> provCaps; |
2850 RArray<TCapability> provCaps; |
2825 GetCapabilitiesL(provCaps,pServiceData->GetMetaData()); |
2851 TFileName provResourcePath; |
2826 |
2852 GetCapabilitiesL(provCaps,pServiceData->GetMetaData()); |
|
2853 |
2827 TInt isAllowed(KErrNone); |
2854 TInt isAllowed(KErrNone); |
2828 |
2855 |
2829 if(aScriptSession) |
2856 if(aScriptSession) |
2830 isAllowed = aScriptSession->IsAllowed(provCaps); |
2857 { |
|
2858 if(aScriptSession->PromptOption() == RTPROMPTUI_PROVIDER) |
|
2859 { |
|
2860 GetProviderResourceFile(provResourcePath, pServiceData->GetMetaData()); |
|
2861 isAllowed = aScriptSession->IsAllowed(provCaps, pChosenImpl->ImplementationUid(), provResourcePath); |
|
2862 } |
|
2863 else |
|
2864 isAllowed = aScriptSession->IsAllowed(provCaps); |
|
2865 } |
2831 |
2866 |
2832 if(KErrNone==isAllowed) |
2867 if(KErrNone==isAllowed) |
2833 { |
2868 { |
2834 CLiwServiceIfBase* iface = iEcomMonitor->CreateImplementationL( |
2869 CLiwServiceIfBase* iface = iEcomMonitor->CreateImplementationL( |
2835 pChosenImpl->ImplementationUid()); |
2870 pChosenImpl->ImplementationUid()); |