diff -r 000000000000 -r 5e5d6b214f4f uiservicetab/vimpstui/inc/cvimpstuiblockview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiservicetab/vimpstui/inc/cvimpstuiblockview.h Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,189 @@ +/* +* 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 "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: Block view declaration + * +*/ + + +#ifndef CVIMPSTUIBLOCKVIEW_H +#define CVIMPSTUIBLOCKVIEW_H + + +// INCLUDES +#include // CBase + +#include "CxSPBaseView.h" +#include "mvimpstcmdobserver.h" +#include "mvimpstengineblockedlistfetcheventobserver.h" + +// FORWARD DECLARATIONS +class CVIMPSTUiBlockViewControl; +class CVIMPSTUIExtensionService; +class MVIMPSTEngine; +class CAknNavigationDecorator; +class MVIMPSTEnginePresenceSubService; +class MVIMPSTCmdHandler; + +// CLASS DECLARATION +/** + * Search view implementation + * @lib vimpstui.lib + * @since S60 v5.0 + */ + // codescanner warnings can be ignored as CxSPBaseView derived from CBsse + +class CVIMPSTUiBlockView :public CxSPBaseView, + public MVIMPSTCmdObserver, + public MVIMPSTEngineBlockedListFetchEventObserver + { + public: // Constructors and destructor + + + /** + * Creates a new CVIMPSTUiSearchView. + * + * @param aMapper Reference to view mapper object + * @param aContactManager Reference to contact manager object + * @param aBlockViewId Block view id + * @param aView Reference to Phonebook2-created view instance + * @param aServiceData Reference to ui extension service + * @param aEngine Reference to engine object + * @return New instance of this class + */ + static CVIMPSTUiBlockView* NewL( MxSPViewMapper& aMapper, + MxSPContactManager& aContactManager, + TUint aBlockViewId, + CPbk2UIExtensionView& aView, + CVIMPSTUIExtensionService& aServiceData, + MVIMPSTEngine& aEngine, + MVIMPSTCmdHandler& aCommandHandler ); + + + + public: // From MPbk2UIExtensionView through CxSPBaseView + + /** + * @see MPbk2UIExtensionView + */ + void DoDeactivate(); + + /** + * @see MPbk2UIExtensionView + */ + void HandleCommandL( TInt aCommand ); + /** + * @see MPbk2UIExtensionView + */ + void DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ); + + /** + * @see MPbk2UIExtensionView + */ + void HandleStatusPaneSizeChange(); + + //From MVIMPSTCmdObserver + + /** + *@see MVIMPSTCmdObserver + */ + void CommandFinishedL( const MVIMPSTCmd& aCommand ); + + /** + *@see MVIMPSTCmdObserver + */ + void HandleCommandEventL( TVIMPSTEnums::TVIMPSTRegistrationState aState, + TInt aServiceError) ; + + //from MVIMPSTEngineBlockedListFetchEventObserver. + /** + *@see MVIMPSTEngineBlockedListFetchEventObserver + */ + void HandleBlockedListFetchCompleteL() ; + private: // From CxSPBaseView + + /** + * @see CxSPBaseView + */ + void DoActivateViewL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + + /** + * This function updates text to navi pane + */ + void UpdateNaviPaneTextL( ); + + void FetchBlockedListFromServerL(); + + private: + + /** + * Standard C++ constructor + * @param aMapper Reference to view mapper object + * @param aContactManager Reference to contact manager object + * @param aBlockViewId Block view id + * @param aView Reference to Phonebook2-created view instance + * @param aServiceData Reference to ui extension service + * @param aEngine Reference to engine object + */ + CVIMPSTUiBlockView( MxSPViewMapper& aMapper, + MxSPContactManager& aContactManager, + TUint aBlockViewId, + CPbk2UIExtensionView& aView, + CVIMPSTUIExtensionService& aServiceData , + MVIMPSTEngine& aEngine, + MVIMPSTCmdHandler& aCommandHandler ); + + /** + * Performs the 2nd phase of construction. + */ + void ConstructL(); + + /** + * Standard C++ destructor. + */ + ~CVIMPSTUiBlockView(); + + private: // Data + + // Own: This view's control container + CVIMPSTUiBlockViewControl* iContainer; + + // Stores view id + TUint iBlockViewId; + + //Doesnt own - reference to engine for this service + MVIMPSTEngine& iEngine; + + // Own: Used for navigation pane text + CAknNavigationDecorator* iNaviDecorator; + + //doesnt own, refernec to extension service + CVIMPSTUIExtensionService& iExtensionService; + + //Not owned; pointer to instance of prsece sub service + MVIMPSTEnginePresenceSubService* iPresenceSubService; + + //Not owned; blocked list array pointer + RPointerArray* iBlockedList; + + //Doesnt own - reference to Command handler for this service + MVIMPSTCmdHandler& iCommandHandler; + }; + +#endif // CVIMPSTUIBLOCKVIEW_H + +// End of File