--- a/browserui/browser/BrowserAppSrc/BrowserAppViewBase.cpp Mon Mar 30 12:49:49 2009 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserAppViewBase.cpp Fri May 08 08:18:43 2009 +0300
@@ -30,8 +30,8 @@
#include <aknenv.h>
#include <AknSgcc.h>
#include <StringLoader.h>
-
-
+#include "BrowserUtil.h"
+#include <BrowserUiSDKCRKeys.h>
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------
@@ -280,4 +280,40 @@
Cba()->SetCommandSetL( commandSet );
Cba()->DrawNow();
}
+
+// -----------------------------------------------------------------------------
+// CBrowserContentView::LaunchSearchApplicationL
+// -----------------------------------------------------------------------------
+//
+void CBrowserViewBase::LaunchSearchApplicationL( const TDesC& aSearchString )
+ {
+ TInt id = iApiProvider.Preferences().GetIntValue( KBrowserSearchAppUid );
+ TUid searchAppId( TUid::Uid( id ) );
+ TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
+ TApaTask task = taskList.FindApp( searchAppId );
+ HBufC8* searchParam8 = HBufC8::NewLC( aSearchString.Length() + 1);
+ searchParam8->Des().Append( aSearchString );
+ if ( task.Exists() )
+ {
+ User::LeaveIfError( task.SendMessage( TUid::Uid( 0 ), *searchParam8 ) );
+ }
+ else
+ {
+ RApaLsSession appArcSession;
+ TApaAppInfo appInfo;
+ User::LeaveIfError(appArcSession.Connect());
+ CleanupClosePushL( appArcSession );
+ TInt err = appArcSession.GetAppInfo( appInfo, searchAppId );
+ if( err == KErrNone )
+ {
+ CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
+ cmdLine->SetExecutableNameL( appInfo.iFullName );
+ cmdLine->SetTailEndL( *searchParam8 );
+ User::LeaveIfError( appArcSession.StartApp( *cmdLine ));
+ CleanupStack::PopAndDestroy( cmdLine );
+ }
+ CleanupStack::PopAndDestroy( &appArcSession );
+ }
+ CleanupStack::PopAndDestroy( searchParam8 );
+ }
// End of File