--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/hgvodui/inc/vcxhgvodsearchimpl.h Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: HG VOD content search related ui implementation*
+*/
+
+
+
+
+#ifndef VCXHGVODSEARCHIMPL_H
+#define VCXHGVODSEARCHIMPL_H
+
+#include <AknProgressDialog.h> //Search progress
+#include "vcxnscontentsearchif.h"
+#include "vcxnscontentsearchobserver.h"
+
+class CVcxNsUiEngine;
+class CAknWaitDialog;
+class CVcxHgVodMainView;
+
+// CLASS DECLARATION
+/**
+ * Content search ui implementation.
+ * This class handles search related functionality
+ * in ui side.
+ * For example search dialogs have been implemented here.
+ *
+ * @code
+ *
+ * @endcode
+ *
+ * @lib vcxhgvodui.lib
+ * @since S60 v5.0
+ */
+NONSHARABLE_CLASS( CVcxHgVodSearchImpl ) : public CBase,
+ public MProgressDialogCallback,
+ public MVcxNsContentSearchObserver
+ {
+
+public:
+
+ /**
+ * Two-phased constructor.
+ * @param aDataProviderIf Reference to UI engine
+ * @return Pointer to newly created instance
+ */
+ static CVcxHgVodSearchImpl* NewL(
+ CVcxNsUiEngine& aDataProviderIf,
+ CVcxHgVodMainView& aView );
+ /**
+ * Two-phased constructor.
+ * @param aDataProviderIf Reference to UI engine
+ * @return Pointer to newly created instance
+ */
+ static CVcxHgVodSearchImpl* NewLC(
+ CVcxNsUiEngine& aDataProviderIf,
+ CVcxHgVodMainView& aView );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CVcxHgVodSearchImpl();
+
+ void RegisterObserver();
+
+ void DeRegisterObserver();
+
+public:
+
+ /**
+ * Show search query for user input.
+ *
+ * @param aShowPrevious If ETrue, stored old search query is copied
+ * to search query and displayed on data query
+ * field as a default value.
+ * If EFalse, data query field is empty.
+ */
+ void ShowSearchQueryL( TBool aShowPrevious );
+
+ /**
+ * Display search wait note
+ */
+ void DisplaySearchWaitNoteL();
+
+ /**
+ * Close search wait note
+ */
+ void CloseSearchWaitNote();
+
+public:
+
+ /**
+ * From MProgressDialogCallback
+ * Called when wait dialog is dismissed.
+ *
+ * @param aButtonId
+ */
+ void DialogDismissedL( TInt aButtonId );
+
+public:
+
+ /**
+ * From MVcxNsContentSearchObserver
+ * Handle search result.
+ * This informs that search has been finished.
+ *
+ * @param aSucceeded Informs the search result.
+ * ETrue if search has been finished successfully.
+ * EFalse if search has failed.
+ */
+ void HandleSearchResultL( TBool aSucceeded );
+
+ /**
+ * From MVcxNsContentSearchObserver
+ * New search started.
+ * This informs that search string has been sent to server and
+ * search prosess has started.
+ *
+ */
+ void SearchStartedL();
+
+ /**
+ * From MVcxNsContentSearchObserver
+ * Start search.
+ * This informs that search can be started.
+ * @param aUseCurrentQuery
+ * ETrue, if IAP has been selected for search
+ * and search can be started again with current query.
+ * EFalse if new search query can be started.
+ * Note: EFalse is always used when search category is opened from
+ * category view and there's no previous search results available.
+ *
+ */
+ void StartSearchL( TBool aUseCurrentQuery );
+
+private:
+
+ /**
+ * Default constructor
+ * @param aDataProviderIf Reference to ui engine interface
+ * @param aView Reference to view
+ */
+ CVcxHgVodSearchImpl(
+ CVcxNsUiEngine& aDataProviderIf,
+ CVcxHgVodMainView& aView );
+
+ /**
+ *
+ * @param aDataProviderIf
+ */
+ void ConstructL( );
+
+private: // data
+
+ /**
+ * Reference to ui engine interface
+ */
+ CVcxNsUiEngine& iUiEngine;
+
+ /**
+ * Reference to view.
+ */
+ CVcxHgVodMainView& iView;
+
+ /**
+ * Current search query.
+ * Own.
+ */
+ HBufC* iCurrentSearchQuery;
+
+ /**
+ * Wait note during video search
+ */
+ CAknWaitDialog* iSearchWaitDialog;
+
+ /**
+ * Pointer to search interface in ui engine.
+ * Not own.
+ */
+ MVcxNsContentSearchIf* iSearchHandler;
+ };
+
+
+#endif // VCXHGVODSEARCHIMPL_H