diff -r a5a39a295112 -r 8baec10861af idlefw/plugins/mcsplugin/handler/src/mcspluginhandler.cpp --- a/idlefw/plugins/mcsplugin/handler/src/mcspluginhandler.cpp Wed Sep 01 12:22:09 2010 +0100 +++ b/idlefw/plugins/mcsplugin/handler/src/mcspluginhandler.cpp Tue Sep 14 21:55:16 2010 +0300 @@ -30,6 +30,7 @@ #include #include #include +#include // User includes #include "mcsplugincompletedoperation.h" @@ -39,10 +40,13 @@ // Constants _LIT( KMenuTypeShortcut, "menu:shortcut" ); ///< Menu folder type. _LIT( KMenuAttrParamLogs, "logs:dialed" ); +_LIT( KMenuAttrProfiles, "profiles" ); /** Argument value for parameter*/ _LIT( KMenuAttrParam, "param" ); +const TUid KProfilesAppUid = { 0x100058F8 }; + #define KMCSCmailUidValue 0x2001E277 #define KMCSCmailMailboxDefaultViewIdValue 0x1 #define KMCSCmailMailboxViewIdValue 0x2 @@ -248,6 +252,27 @@ { LogsUiCmdStarter::CmdStartL( LogsUiCmdStarterConsts::KDialledView() ); } + else if ( param.Find( KMenuAttrProfiles ) != KErrNotFound ) + { + RApaLsSession apaLsSession; + User::LeaveIfError( apaLsSession.Connect() ); + CleanupClosePushL( apaLsSession ); + + TApaAppInfo appInfo; + TInt retVal = apaLsSession.GetAppInfo( appInfo, KProfilesAppUid ); + + if ( retVal == KErrNone ) + { + CApaCommandLine* cmdLine = CApaCommandLine::NewLC(); + cmdLine->SetExecutableNameL( appInfo.iFullName ); + cmdLine->SetCommandL( EApaCommandRun ); + User::LeaveIfError( apaLsSession.StartApp( *cmdLine ) ); + + CleanupStack::PopAndDestroy( cmdLine ); + } + + CleanupStack::PopAndDestroy( &apaLsSession ); + } CleanupStack::PopAndDestroy( sendUi ); }