diff -r 947415ec7603 -r a7062f7f0b79 rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrclientapi.cpp --- a/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrclientapi.cpp Fri Jul 03 15:51:30 2009 +0100 +++ b/rtsecuritymanager/rtsecuritymanagerserver/src/rtsecmgrclientapi.cpp Thu Sep 10 12:58:32 2009 +0300 @@ -400,3 +400,31 @@ aMessage.Write (EMsgArgZero, pkg); } } + +void CRTSecMgrSubSession::UpdatePermGrantProviderL(const RMessage2& aMessage) + { + HBufC8* desData = HBufC8::NewLC (KMaxMsgLength); + TPtr8 readPtr(desData->Des ()); + aMessage.ReadL (EMsgArgZero, readPtr); + CRTPermGrantMessage *msg = CRTPermGrantMessage::NewLC(readPtr); + + if ( !iSession->IsScriptSessionOpen(msg->ScriptID(),this)) + { + RProviderArray allowedProviders; + RProviderArray deniedProviders; + allowedProviders.Reset(); + deniedProviders.Reset(); + msg->AllowedProviders(allowedProviders); + msg->DeniedProviders(deniedProviders); + iSecMgrServer->UpdatePermGrantL (msg->ScriptID(),allowedProviders,deniedProviders); + allowedProviders.Close(); + deniedProviders.Close(); + } + else + { + TPckgBuf pkg((TInt)ErrUpdatePermGrantFailed); + aMessage.Write (EMsgArgZero, pkg); + } + CleanupStack::PopAndDestroy(msg); + CleanupStack::PopAndDestroy(desData); + }