diff -r 000000000000 -r 96612d01cf9f videofeeds/hgvodui/inc/vcxhgvodsearchimpl.h --- /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 //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