searchui/searchapp/srchaiwprovider/src/srchaiwprovider.cpp
changeset 0 f979ecb2b13e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/searchapp/srchaiwprovider/src/srchaiwprovider.cpp	Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:     This class is the InDevice Search base and the menu service provider.
+*
+*/
+
+
+
+
+
+
+// System Includes
+#include <srchaiwprovidermenu.rsg>
+#include <AiwCommon.h>
+#include <AiwMenu.h>
+
+// User Includes
+#include "srchaiwprovider.h"
+#include "srchaiwproviderpanics.h"
+#include "srchaiwproviderdefines.h"
+
+//constants
+_LIT( KIDSAiwProviderResFile, "\\resource\\plugins\\srchaiwprovidermenu.rsc");
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -------------------------------------------------------------------------------------------------
+// Symbian OS 2 phased constructor.
+// -------------------------------------------------------------------------------------------------
+//
+CSrchAiwProvider* CSrchAiwProvider::NewL()
+    {
+	CSrchAiwProvider* self = CSrchAiwProvider::NewLC();
+	CleanupStack::Pop( self );
+	return self;
+    }
+    
+// -------------------------------------------------------------------------------------------------
+// Symbian OS 2 phased constructor.
+// -------------------------------------------------------------------------------------------------
+//  
+CSrchAiwProvider* CSrchAiwProvider::NewLC()
+    {
+	CSrchAiwProvider* self = new( ELeave ) CSrchAiwProvider();
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	return self;
+    }
+    
+// -------------------------------------------------------------------------------------------------
+// Destructor
+// -------------------------------------------------------------------------------------------------
+//     
+CSrchAiwProvider::~CSrchAiwProvider()
+    {
+    delete iSearchLauncher;
+    }
+  
+// -------------------------------------------------------------------------------------------------
+// Called by the Handler framework to initialise provider with
+// necessary information from Handler.
+// -------------------------------------------------------------------------------------------------
+//           
+void CSrchAiwProvider::InitialiseL(MAiwNotifyCallback& /*aFrameworkCallback*/,
+    const RCriteriaArray& /*aInterest*/)
+    {
+    
+    }
+
+// -------------------------------------------------------------------------------------------------
+// Executes generic service commands included in criteria.
+// -------------------------------------------------------------------------------------------------
+//   
+void CSrchAiwProvider::HandleServiceCmdL( const TInt& aCmdId, 
+                                        const CAiwGenericParamList& aInParamList,
+                                        CAiwGenericParamList& /*aOutParamList*/,
+                                        TUint /*aCmdOptions*/,
+                                        const MAiwNotifyCallback* /*aCallback*/ )
+    {
+	switch( aCmdId )
+	    {
+	    case KAiwCmdContentSearch:
+	        {
+	    	iSearchLauncher->SearchL(1, aInParamList);
+	        }
+	    break;
+	    
+	    default:
+	        break;	    
+	    }
+    }
+    
+// -------------------------------------------------------------------------------------------------
+// Initialises menu pane by adding provider specific menu items.
+// -------------------------------------------------------------------------------------------------
+//
+void CSrchAiwProvider::InitializeMenuPaneL( CAiwMenuPane& aMenuPane,
+                                          TInt aIndex,
+                                          TInt /*aCascadeId*/,
+                                          const CAiwGenericParamList& /*aInParamList*/ ) 
+    {
+	TFileName resFile( KIDSAiwProviderResFile );
+    TFileName dllName;
+    Dll::FileName( dllName );
+    TBuf<2> drive = dllName.Left(2);
+    resFile.Insert(0, drive);
+    aMenuPane.AddMenuItemsL(resFile, R_AIWSEARCHPROVIDER_MENU, KAiwCmdContentSearch, aIndex);
+    }
+
+// -------------------------------------------------------------------------------------------------
+// Handle a menu command invoked by the Handler.
+// -------------------------------------------------------------------------------------------------
+//                                          
+void CSrchAiwProvider::HandleMenuCmdL( TInt aMenuCmdId,
+                                     const CAiwGenericParamList& aInParamList,
+                                     CAiwGenericParamList& aOutParamList,
+                                     TUint aCmdOptions,
+                                     const MAiwNotifyCallback* aCallback )
+    {
+    // Route to HandleServiceCmdL
+    HandleServiceCmdL( aMenuCmdId, aInParamList, aOutParamList, aCmdOptions, aCallback );
+    }
+    
+// -------------------------------------------------------------------------------------------------
+// Performs the first phase construction.
+// -------------------------------------------------------------------------------------------------
+//     
+CSrchAiwProvider::CSrchAiwProvider()
+    {
+	
+    }
+
+
+// -------------------------------------------------------------------------------------------------
+// Performs the second phase construction.
+// -------------------------------------------------------------------------------------------------
+//     
+void CSrchAiwProvider::ConstructL()
+    {
+    iSearchLauncher = CSearchServiceLauncher::NewL();
+    }
+
+// End of file