--- a/languageinterworkingfw/servicehandler/EABI/liwServiceHandlerU.DEF Tue Aug 31 16:06:08 2010 +0300
+++ b/languageinterworkingfw/servicehandler/EABI/liwServiceHandlerU.DEF Wed Sep 01 12:23:36 2010 +0100
@@ -224,4 +224,5 @@
_ZN11TLiwVariant3SetEx @ 223 NONAME
_ZNK11TLiwVariant3GetERx @ 224 NONAME
_ZNK11TLiwVariant8AsTInt64Ev @ 225 NONAME
+ _ZN18CLiwServiceHandler7AttachLERK13RPointerArrayI16CLiwCriteriaItemER22CRTSecMgrScriptSessioni @ 226 NONAME
--- a/languageinterworkingfw/servicehandler/bwins/liwServiceHandlerU.DEF Tue Aug 31 16:06:08 2010 +0300
+++ b/languageinterworkingfw/servicehandler/bwins/liwServiceHandlerU.DEF Wed Sep 01 12:23:36 2010 +0100
@@ -180,4 +180,5 @@
?AsTInt64@TLiwVariant@@QBE_JXZ @ 179 NONAME ; long long TLiwVariant::AsTInt64(void) const
?Get@TLiwVariant@@QBEHAA_J@Z @ 180 NONAME ; int TLiwVariant::Get(long long &) const
?Set@TLiwVariant@@QAEX_J@Z @ 181 NONAME ; void TLiwVariant::Set(long long)
+ ?AttachL@CLiwServiceHandler@@QAEHABV?$RPointerArray@VCLiwCriteriaItem@@@@AAVCRTSecMgrScriptSession@@H@Z @ 182 NONAME ; int CLiwServiceHandler::AttachL(class RPointerArray<class CLiwCriteriaItem> const &, class CRTSecMgrScriptSession &, int)
--- a/languageinterworkingfw/servicehandler/inc/liwservicehandlerimpl.h Tue Aug 31 16:06:08 2010 +0300
+++ b/languageinterworkingfw/servicehandler/inc/liwservicehandlerimpl.h Wed Sep 01 12:23:36 2010 +0100
@@ -102,6 +102,7 @@
TInt AttachL(const RCriteriaArray& aInterest);
TInt AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession* aSecMgrScriptSession);
+ TInt AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession* aSecMgrScriptSession,TInt aWidgetId);
/**
* @see CLiwServiceHandler::QueryImplementationL()
*/
@@ -411,6 +412,9 @@
// Resource offset for LiwServiceHandler.rsc.
TInt iResourceOffset;
+ // Resource offset for LiwServiceHandler.rsc.
+ TInt iWidgetId;
+
// Owns all the providers currently in memory.
RPointerArray<CLiwServiceIfBase> iProviders;
--- a/languageinterworkingfw/servicehandler/src/liwservicehandler.cpp Tue Aug 31 16:06:08 2010 +0300
+++ b/languageinterworkingfw/servicehandler/src/liwservicehandler.cpp Wed Sep 01 12:23:36 2010 +0100
@@ -101,6 +101,11 @@
return (iImpl->AttachL(aInterest,&aSecMgrScriptSession));
}
+EXPORT_C TInt CLiwServiceHandler::AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession& aSecMgrScriptSession,TInt aWidgetId)
+ {
+ return (iImpl->AttachL(aInterest,&aSecMgrScriptSession,aWidgetId));
+ }
+
EXPORT_C void CLiwServiceHandler::GetInterest(RCriteriaArray& aInterest)
{
iImpl->GetInterest(aInterest);
--- 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)
--- a/serviceapifw_plat/liw_criteria_api/tsrc/src/liwtestcasesblocks.cpp Tue Aug 31 16:06:08 2010 +0300
+++ b/serviceapifw_plat/liw_criteria_api/tsrc/src/liwtestcasesblocks.cpp Wed Sep 01 12:23:36 2010 +0100
@@ -3049,7 +3049,7 @@
interest.AppendL(criteria);
- TInt status;
+ TInt status = 0;
// Attach the MyServiceName provider to the LIW framework.
TRAPD(status1,status = iServiceHandler->AttachL(interest));
@@ -3119,7 +3119,7 @@
criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
interest.AppendL(criteria);
- TInt status ;
+ TInt status = 0;
// Attach the MyServiceName provider to the LIW framework.
TRAPD(status1,status = iServiceHandler->AttachL(interest));
@@ -3183,7 +3183,7 @@
criteria->SetServiceClass(TUid::Uid(KLiwClassBase));
interest.AppendL(criteria);
- TInt status ;
+ TInt status = 0;
// Attach the MyServiceName provider to the LIW framework.
TRAPD(status1,status = iServiceHandler->AttachL(interest));
--- a/serviceapifw_plat/liw_service_handler_api/inc/liwservicehandler.h Tue Aug 31 16:06:08 2010 +0300
+++ b/serviceapifw_plat/liw_service_handler_api/inc/liwservicehandler.h Wed Sep 01 12:23:36 2010 +0100
@@ -433,7 +433,7 @@
IMPORT_C TInt MenuCmdId(TInt aMenuCmdId) const;
IMPORT_C TInt AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession& aSecMgrScriptSession);
-
+ IMPORT_C TInt AttachL(const RCriteriaArray& aInterest,CRTSecMgrScriptSession& aSecMgrScriptSession,TInt aWidgetId);
/**
* Lists available service implementations
*
--- a/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/src/ui_tsecuritymanagerblocks.cpp Tue Aug 31 16:06:08 2010 +0300
+++ b/serviceapifw_plat/rtsecuritymanager_client_api/tsrc/src/ui_tsecuritymanagerblocks.cpp Wed Sep 01 12:23:36 2010 +0100
@@ -267,7 +267,7 @@
TInt cnt = User::CountAllocCells();
// __UHEAP_MARK;
- TInt32 exId;
+ TInt32 exId = 0;
TPtrC sptr;
aItem.GetNextString(sptr);
@@ -998,7 +998,7 @@
TPtrC sptr;
aItem.GetNextString(sptr);
- CRTSecMgrScriptSession* scriptSession;
+ CRTSecMgrScriptSession* scriptSession = NULL;
iSession = CRTSecManager::NewL ();
// iSession2 = CRTSecManager::NewL ();
iTrust = CTrustInfo::NewL ();
@@ -1296,7 +1296,7 @@
TPtrC sptr;
aItem.GetNextString(sptr);
- CRTSecMgrScriptSession* scriptSession;
+ CRTSecMgrScriptSession* scriptSession = NULL;
iSession = CRTSecManager::NewL ();
// iSession2 = CRTSecManager::NewL ();
iTrust = CTrustInfo::NewL ();
@@ -1453,7 +1453,7 @@
TInt cnt = User::CountAllocCells();
// __UHEAP_MARK;
- TInt32 exId;
+ TInt32 exId = 0;
TPtrC sptr;
aItem.GetNextString(sptr);