languageinterworkingfw/servicehandler/src/liwservicehandlerimpl.cpp
branchRCL_3
changeset 54 1fea62d03c27
parent 53 3d94ea3e909b
--- a/languageinterworkingfw/servicehandler/src/liwservicehandlerimpl.cpp	Tue Aug 31 16:06:08 2010 +0300
+++ b/languageinterworkingfw/servicehandler/src/liwservicehandlerimpl.cpp	Wed Sep 01 12:23:36 2010 +0100
@@ -37,7 +37,7 @@
 
 #include "liwxmlhandler.h"
 #include "liwservicedata.h"
-
+#include <e32property.h>
 #include <rtsecmgrscriptsession.h>
 
 // CONSTANTS
@@ -54,6 +54,10 @@
 // The whole range that is reserved to all menu panes. Currently value is 170 000.
 const TInt KMenuPaneCommandRange = (KMaxMenuResources + 1) * KIndividualMenuPaneIdRange; 
 
+const TUid KMyPropertyCat = { 0x10282822 };
+
+enum TMyPropertyKeys { EMyPropertyState = 115,  EMyPropertyFinalState = 116};
+
 _LIT(KLiwResourceFile, "liwServiceHandler.rsc");
 _LIT(KLiwZDrive, "z:");
 _LIT8(KDataSeparator, "||");
@@ -427,6 +431,12 @@
     	return (this->AttachL(aInterest,NULL));
     }
 
+TInt CLiwServiceHandlerImpl::AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession* aSecMgrScriptSession,TInt aWidgetId)
+    {
+        iWidgetId = aWidgetId;
+        return (this->AttachL(aInterest,aSecMgrScriptSession));
+    }
+
 TInt CLiwServiceHandlerImpl::AttachL(const RCriteriaArray& aInterest ,CRTSecMgrScriptSession* aSecMgrScriptSession)
     {
     RCriteriaArray interest, filtered;
@@ -2857,11 +2867,17 @@
 	    	    {
 	    	    if(aScriptSession->PromptOption() == RTPROMPTUI_PROVIDER)
 	    	    	{
-	    	    		GetProviderResourceFile(provResourcePath, pServiceData->GetMetaData());
-	    	        isAllowed = aScriptSession->IsAllowed(provCaps, pChosenImpl->ImplementationUid(), provResourcePath);	
-	    	      }
+	    	    	GetProviderResourceFile(provResourcePath, pServiceData->GetMetaData());
+	    	    	RProperty::Set( KMyPropertyCat, EMyPropertyState , iWidgetId );
+	                isAllowed = aScriptSession->IsAllowed(provCaps, pChosenImpl->ImplementationUid(), provResourcePath);	
+	                RProperty::Set( KMyPropertyCat, EMyPropertyFinalState , iWidgetId );
+	    	    	}
                 else
+                    {
+                    RProperty::Set( KMyPropertyCat, EMyPropertyState , iWidgetId );
                     isAllowed = aScriptSession->IsAllowed(provCaps);
+                    RProperty::Set( KMyPropertyCat, EMyPropertyFinalState , iWidgetId );
+                    }
 	    	    }
 	    		
 	    	if(KErrNone==isAllowed)