uiservicetab/vimpstui/inc/cvimpstuitabbedview.h
branchRCL_3
changeset 28 3104fc151679
parent 27 2b7283837edb
child 29 9a48e301e94b
--- a/uiservicetab/vimpstui/inc/cvimpstuitabbedview.h	Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,709 +0,0 @@
-/*
-* 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:  Tabbed view declaration
-*
-*/
-
-
-#ifndef __CVIMPSTUITABBEDVIEW_H__
-#define __CVIMPSTUITABBEDVIEW_H__
-
-//  INCLUDES
-#include <e32base.h>            // CBase
-#include <badesca.h> 
-
-#include <AknIconArray.h>
-#include <akntoolbarobserver.h> // Toolbar
-
-#include <downloadedcontenthandler.h>
-#include <AknServerApp.h>
-#include <apparc.h>
-// CBase
-#include <CxSPBaseView.h>
-#include <mpbk2uiextensionview2.h>
-#include "tvimpstenums.h"
-
-//command observer
-#include "mvimpstcmdobserver.h"
-//auth event observer.
-#include "mvimpstenginesearchextentioneventobserver.h"
-
-#include <AiwCommon.h>
-//  FORWARD DECLARATIONS
-class CEikMenuPane;
-class MVIMPSTUiTabbedViewControl;
-class CPbk2UIExtensionView;
-class MVIMPSTCmdHandler;
-class CVIMPSTUIExtensionService;
-class MVIMPSTEngine;
-class MCCAParameter;
-class MCCAConnection;
-class MVIMPSTCmd;
-class CVIMPSTUiBrandData;
-class CVIMPSTUtilsWaitNote;
-class CAiwServiceHandler;
-class CAknToolbar; 
-class MVPbkStoreContact;
-class CBrowserLauncher;
-class MVPbkStoreContact;
-class MVIMPSTSettingsStore;
-class CCVIMPSTUiStatusPaneHandler;
-class CVIMPSTUIMenuExtension;
-class CVIMPSTUiContactSelection;
-class TAiwSingleEntrySelectionDataV2;
-class TAiwMultipleEntrySelectionDataV2;
-
-class CCoeAppUi;
-// CLASS DECLARATION
-/**
- * Tabbed view implementation 
- *  @lib vimpstui.lib
- *  @since S60 v5.0 
- */
- // codescanner warnings can be ignored as  CxSPBaseView derived from CBsse
- 
-class CVIMPSTUiTabbedView : public CxSPBaseView, // CSI: 51 #
-							public MVIMPSTCmdObserver,
-							public MAknToolbarObserver, // Toolbar    
-						    public MVIMPSTEngineSearchExtentionEventObserver,
-						    public MDownloadedContentHandler,
-						    public MAknServerAppExitObserver,
-						    public MAiwNotifyCallback,
-						    public MPbk2UIExtensionView2
-
-							
-							  
-							  
-    {
-    public: // Constructor
-        
-        enum TXmppMenuValues
-                {
-                EXmppMenuValuesUseExisting = 0,
-                EXmppMenuValuesCreateNew = 1
-                };        
-        
-        enum TMenuSelection
-            {
-            EInvitAcceptCreateNew = 0,
-            EInvitAcceptUpdateExisting = 1,
-            EContactCreateNew,
-            EContactAddFromContacts,
-            ECreateXSPCall
-            };   
-
-        /**
-         * Creates a new CVIMPSTUiTabbedView.
-         *
-         * @param aMapper Reference to view mapper object
-         * @param aContactManager Reference to contact manager object
-         * @param aTabbedViewId, view i.
-         * @param aServiceId, service id.
-         * @param aView, reference to the view.
-         * @param aId, uid
-         * @param aServiceData, service info.
-         * @param aEngine, reference to engine.
-         * @param aCommandHandler, reference to commandhandler.
-         * @return New instance of this class         
-         */
-        static CVIMPSTUiTabbedView* NewL( MxSPViewMapper& aMapper, 
-			    MxSPContactManager& aContactManager, 
-			    TUint aTabbedViewId,
-			    TUint aServiceId,
-			    CPbk2UIExtensionView& aView,
-			    TUid aId,
-			    CVIMPSTUIExtensionService& aServiceData,
-			    MVIMPSTEngine& aEngine,
-			    MVIMPSTCmdHandler& aCommandHandler,
-			    CVIMPSTUIMenuExtension& aMenuExtension);
-  
-   public: // From MDownloadedContentHandler
-
-            /**
-            * Handle downloaded content that has been saved to a file, 
-            * and return ETrue if it was handled successfully.
-            * @param aFileName File name with path.
-            * @param aParamList Generic parameter list.
-            * @param aContinue Output parameter: It must be ETrue if the caller wants 
-            *                  Browser not to terminate after the content is handled.
-            * @return ETrue if the implementer has processed the content. If it is 
-            *                  EFalse, BrowserLauncher opens that content in an 
-            *                  appropriate viewer application.
-            */
-            TBool HandleContentL( const TDesC& aFileName,
-                                                    const CAiwGenericParamList& aParamList,
-                                                    TBool& aContinue );
-
-            /**
-            * Reserved for future use.
-            */
-            TAny* DownloadedContentHandlerReserved1( TAny* aAnyParam );
-   public: // from MApaServerAppExitObserver
-       /**
-       * Handle the exit of a connected server app.
-       * This implementation provides Series 60 default behavior
-       * for handling of the EAknCmdExit exit code. Derived classes
-       * should base-call this implementation if they override this
-       * function.
-       * @param aReason The reason that the server application exited.
-       * This will either be an error code, or the command id that caused
-       * the server app to exit.
-       */
-       void HandleServerAppExit(TInt aReason);
-       
-     
-    public: // From MPbk2UIExtensionView through CxSPBaseView
-        
-        /**
-         * @see MPbk2UIExtensionView
-         */
-        TBool HandleCommandKeyL(
-                const TKeyEvent& aKeyEvent,
-                TEventCode aType );
-        
-        /**
-         * @see MPbk2UIExtensionView
-         */
-		void DoDeactivate();  
-		
-		/**
-         * @see MPbk2UIExtensionView
-         */
-        void HandleCommandL( TInt aCommand );
-        
-        /**
-         * @see MPbk2UIExtensionView
-         */
-        void DynInitMenuPaneL( TInt aResourceId,
-                               CEikMenuPane* aMenuPane );
-        
-        /**
-         * @see MPbk2UIExtensionView
-         */
-        void HandleStatusPaneSizeChange();
-        
-        /**
-         * @see MPbk2UIExtensionView
-         */
-        TAny* UIExtensionViewExtension( TUid aExtensionUid );
-        
-        /**
-         * @see MPbk2UIExtensionView2
-         */
-         void HandleForegroundEventL(TBool aForeground);
-        
-        
-    public: // new functions
-        
-         /**
-         * Changes current status message
-         * @param aStatus Status which message is needed.
-         * @param aUpdateToNetwork ETrue update, EFalse do not update.
-         * @return KErrCancel if canceled.
-         */
-        TInt AskStatusMessageL( TVIMPSTEnums::TOnlineStatus aStatus, 
-                TBool aUpdateToNetwork );
-        
-        /**
-         * Get status old status messages from file.
-         * @param aArray. Array of messages. Don't clear before filling.
-         * @param aStatus Status which message is needed.
-         */
-        void ReadStatusMessagesL( CDesCArray& aArray, TVIMPSTEnums::TOnlineStatus aStatus  );
-
-        /**
-         * Write status messages to file.
-         * @param aArray. Array of messages to write. Newest in top. Do not write duplicates.
-         * @param aStatus Status which message is needed.               
-         */
-        void WriteStatusMessagesL( MDesCArray& aArray, TVIMPSTEnums::TOnlineStatus aStatus );
-        
-        /** 
-         * Loads status icons for own status.
-         * @returns iconarray,ownership is transfered.
-         **/
-        CAknIconArray* LoadOwnStatusIconsL();
-        
-        /** 
-         * Changes ownstatus
-         **/
-        void ChangeStatusProcessL();
-
-        /** 
-         * Adds a contact.
-         * @param aUserId id of contact to be added.
-         * @param aResourceId   resource for query.
-         **/
-    	void AddContactL( const TInt aResouceId, const TDesC& aUserId = KNullDesC );
-    	
-     	 /** 
-	     * Deletes a contact.
-	     **/	
-    	void DeleteContactL();
-    	
-    	/** 
-         * @retunrs currentitemindex.
-         **/
-        TInt CurrentItemIndex();
-        
-       	/** 
-         * @retunrs current state.
-         **/
-        TVIMPSTEnums::TVIMPSTRegistrationState GetServiceState();
-        
-        
-        
-        /** 
-         * Makes a internet call form send key and toolbar butotn
-         * if applicable.
-         **/
-        void MakeVoipCallL();
-        
-        
-        /**
-         * close conversation from service tab. 
-         **/
-         void CloseConversationL();
-
-          /*
-         *handles the completion of create new/update existing selection dialog
-         */
-         void HandleContactSelectionCompleteL();
-         
-
-         
-              
-    public: //Toolbar
-    	/**
-         * From MAknToolbarObserver
-         */
-        void DynInitToolbarL( TInt aResourceId, CAknToolbar* aToolbar );
-        
-        /**
-         * From MAknToolbarObserver
-         */
-        void OfferToolbarEventL( TInt aCommand );
-        
-        /**
-        * Create Fixed Toolbar
-        * Since 5.0
-        */
-        void CreateToolBarL();
-        
-        /**
-        * Handle Fixed Toolbar command updating
-        * Since 5.0
-        */
-        void UpdateToolbarL();
-               
-       
-           
-        /**
-         * Show or hide the toolbar
-         * Since 5.0
-         * @aShow if ETrue, show toolbar, otherwise, Don't show the toolbar.
-         */
-        void ShowHideFixedToolbarL(TBool aShow);
-        
-        /**
-         * Function to launch help
-         */
-        void LaunchHelpL( const TDesC& aContext);
-
-       	/** 
-         * returns the MVIMPSTSettingsStore pointer.
-         * Its created at the ConstructL of the view, so it stays till view is destructed
-         * 
-         * @return  MVIMPSTSettingsStore pointer : no ownership is transferred
-         **/
-        MVIMPSTSettingsStore* SettingsStore();
-        
-        /**
-         * returns whether the cancel login is supported or not
-         *
-         * @return TBool,  ETrue if cancel login is supported else EFasle
-         */
-        TBool CancelLoginSupportedL();
-
-       
-	private: // Functions from MVIMPSTEngineSearchExtentionEventObserver
-
-	   /**
-        * @see MVIMPSTEngineSearchExtentionEventObserver
-        */
-		void HandleSearchResultL(RArray<TVIMPSTSearchData> aSerachData) ;
-		
-	   /**
-        * @see MVIMPSTEngineSearchExtentionEventObserver
-        */
-		void HandleSearchFinishedL(TInt aError);
-		
-		
-		/**
-        * @see MVIMPSTEngineSearchExtentionEventObserver
-        */
-		void HandleSearchKeysEventL( RArray<TInt>& aEnumKeysArray, RPointerArray<HBufC>& aLebelKeysArray )  ;
-		
-
-   	private: // From CxSPBaseView
-   	    
-   	    /** 
-         * @see CxSPBaseView
-         **/ 
-   		void DoActivateViewL( const TVwsViewId& aPrevViewId,
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-        
-                
-
-    private : //From MImCommandObserver
-    	
-        /** 
-         * @see MImCommandObserver
-         **/
-    	void CommandFinishedL(
-                const MVIMPSTCmd& aCommand );
-        
-    	/** 
-         * @see MImCommandObserver
-         **/
-    	void HandleCommandEventL(TVIMPSTEnums::TVIMPSTRegistrationState aState, TInt aServiceError) ;   
-    	
-        
-        /**
-         * BlockContactL
-         * @param Block if ETrue then call block else call unblock
-         */
-        void  BlockContactL(TBool aBlock = EFalse );
-        
-        /**
-        * Show error note 
-        * @param aError, error type
-        */
-        void ShowErrorNoteL(TInt aError );	
-
-    private: // Implementation
-        /**
-         * Standard C++ constructor
-         * @param aMapper Reference to view mapper object
-         * @param aContactManager Reference to contact manager object
-         * @param aTabbedViewId, view i.
-         * @param aServiceId, service id.
-         * @param aView, reference to the view.
-         * @param aId, uid
-         * @param aServiceData, service info.
-         * @param aEngine, reference to engine.
-         * @param aCommandHandler, reference to commandhandler.
-         */
-        CVIMPSTUiTabbedView( MxSPViewMapper& aMapper, 
-			    MxSPContactManager& aContactManager, 
-			    TUint aTabbedViewId,
-			    TUint aServiceId,
-			    CPbk2UIExtensionView& aView,
-			    TUid aId,
-			    CVIMPSTUIExtensionService& aServiceData,
-			    MVIMPSTEngine& aEngine,
-			    MVIMPSTCmdHandler& aCommandHandler,
-			    CVIMPSTUIMenuExtension& aMenuExtension);
-
-        /**
-         * Performs the 2nd phase of construction.
-         */
-        void ConstructL();
-
-        /**
-         * Standard C++ destructor.
-         */
-        ~CVIMPSTUiTabbedView();
-        
-        
-        /**
-         * Gets the reference to commandhandler.
-         * @returns MVIMPSTCmdHandler&, reference to CommandHandlerL.
-         */
-        MVIMPSTCmdHandler& CommandHandlerL();  
-        
-        /**
-	    * change own status message
-	     */ 
-        void ChangeOwnStatusMessageL(); 
-        
-		/**
-		* change own avatar 
-		* @param aFileName - a file name
-		* @param aMimeType - a mime type
-		*/ 
-        void ChangeOwnAvatarL(const TDesC& aFileName, const TDesC8& aMimeType );
-        
-        /**
-	     * search a given string
-	     */ 
-        void SearchContactsL() ;
-          
-        /**
-	     * Used to launch search view
-	     * @param aViewId - id of view to be launched
-	     */ 
-        void LaunchViewL( TInt aViewId ) ;    
-   	           
-        /**
-         * processes friend request,when user opens friend request item
-         */
-        void ProcessFriendRequestL();
-        /**
-         * do login realted operations, tou, url 
-         */
-        void LoginL();
-        /**
-         * shows URL to register for the First time users.
-         */
-        void ShowURLQueryL();
-        
-        /**
-         * opens broswer
-         * @param TDesC& aUrl - url to be opened
-         */
-        void OpenWebBrowserL( const TDesC& aUrl );
-        
-        /**
-         * shows poplist with Create New account, login with the existing userid.
-         *
-         * @since S60 5.0
-         * @param aMenuChoise, will return the selected poplist item
-         */
-        void ShowUseExistingOrCreateNewMenuL( TInt& aMenuChoise );
-        
-        /**
-                * shows poplist with Create New account, login with the existing userid.
-                *
-                * @since S60 5.0
-                * @return, will return the selected poplist item
-                */
-        TInt ShowNewUpdateQueryL();
-        
-        /**
-         * shows user name and password query dialog
-         *
-         * @since S60 5.0
-         * @param aUserName, user name
-         * @param aPassword, password
-         */
-         void ShowLoginDialogL( TDes& aUserName, TDes& aPassword );
-
-        /** 
-         * Adds a phonebook contact.
-         **/
-        void LaunchPhoneBookAddContactL();
-        
-        /** 
-         * launches selection dialog.
-         **/
-        void LaunchPbkSelectionDlgL();
-        
-        /** 
-         * Adds all selected contact in aContacts.
-         **/
-        void AddContactL(RPointerArray<HBufC> aContacts);
-        
-        
-        /** 
-         * copies selected contact to  phone book.
-         **/
-        void CopyToPhoneBookL(); 
-
-         /**
-          * shows terms of use and logs in  if userid and password is provided.
-          *
-          * @since S60 5.0
-          * @return TInt, error if any.
-          */
-         TInt ShowTermsofuseL();
-         
-                 
-         
-         /**
-          * returns whether the Change Connection is supported or not
-          *
-          * @return TBool,  ETrue if Change Connection is supported else EFasle
-          */
-         TBool ChangeConnectionSupportedL();
-         
-         /*
-         *Shows the list of blocked contacts.
-         */
-         void ShowBlockedContactListL();
-         
-         /*
-          *Launches the setting view
-         */
-         void LaunchSettingsViewL();
-         
-          /*
-          *helper method for add or link to contacts
-         */
-         void CreateOrLinkToPhoneBookL(TInt aCommand );
-         
-          /*
-          *Launches the setting view
-         */
-         void EditContactL();
-         /*
-          *return true if URL query to be shown at login time,
-          * other wise false.
-          */
-         TBool IsURLQueryToBeShownL();
-         
-         
-          /*
-        * helper method for executing the call
-        */
-        void ExecuteAiwCallL( const TDesC& aSelectedAddress );
-        
-         /*
-        * helper method for checking and setting if user id is changed 
-        */
-        void ReadAndSetOwnUserIdL();
-        /*
-        * launch the phonebook dialog for add from contacts depending on 
-        * whether it is localstore or not 
-        */
-       void LaunchFetchDialogL();
-       
-				/*
-				* Launch single contact selection dialog in case of local contacts for 
-				* add from phonebook
-				*/       
-        void ExecuteSingleItemFetchL( TAiwSingleEntrySelectionDataV2 aData );
-        
-       /*
-				* Launch multiple contact selection dialog in case of server contacts for 
-				* add from phonebook
-				*/ 
-        void ExecuteMultipleItemFetchL( TAiwMultipleEntrySelectionDataV2 aData );
-        
-        /*
-        * Check and Create the servicehandler if it is NULL
-        */      
-         void ReInitializeServiceHandlerL();
-         
-    public://from MAiwNotifyCallback.
-        TInt HandleNotifyL(
-                    TInt aCmdId,
-                    TInt aEventId,
-                    CAiwGenericParamList& aEventParamList,
-                    const CAiwGenericParamList& aInParamList);
-         
-    private:
-        enum TAssignmentState
-            {
-            EInvalid = 0,
-            EXSPAssign,
-            EDefaultAssign
-            };
-
-	private: // Data   
-                     
-        // Stores view id
-        TUint iViewId;  
-        
-        //service id
-        TInt iServiceId;     
-        
-        //Doesnt own - reference to engine for this service
-        MVIMPSTEngine& iEngine;
-        
-        //doesnt own
-		CVIMPSTUiBrandData* iBrandHandler;
-       
-        // Own: This view's control container
-        MVIMPSTUiTabbedViewControl* iContainer;             
-
-        // previous state.
-        TVIMPSTEnums::TVIMPSTRegistrationState iPreviousState;
-                        
-        //CCA Param - Owns
-        MCCAParameter* iParameter;
-       
-		// Own: to connect CCA 
-        //it is member variable because it is needed during the HideInBackground event
-		MCCAConnection* iConnection;
-		 
-        //Owns. status message.
-        HBufC* iStatusMessage;
-        
-		//owns. object of aiwservicehandler.
-		CAiwServiceHandler *iServiceHandler;
-		
-       	// not owned, reference to extension service
-       	CVIMPSTUIExtensionService& iExtensionService;
-       	
-       	//Owns command Handler for this view
-        MVIMPSTCmdHandler& iCommandHandler;    
-        
-        //doew not own, reference to menu extension
-        CVIMPSTUIMenuExtension& iMenuExtension;
-              
-       	// owned, wait note.
-        CVIMPSTUtilsWaitNote* iWaitNote;
-        
-        //owned. Pointer to toolbar object.
-        CAknToolbar*       	 		iFixedToolbar;
-            
-        
-        //owns. object of MVPbkStoreContact
-        MVPbkStoreContact* iContact;
-        //Owns: Stores the focused contact ID from iContainer before it gets destroyed
-        HBufC* iFocussedIDHistory;
-        //handle to customize status pane
-        CCVIMPSTUiStatusPaneHandler* iStatusPaneHandler;
-
-        //Owns Browser launcher
-        CBrowserLauncher* iBrLauncher;
-        
-        //Owns, username
-        HBufC* iUserId;
-     
-		// owns, retrive settings from cenrep store
-        MVIMPSTSettingsStore* iSettingsStore;
-        //in param list for aiw generic options, owns
-        CAiwGenericParamList* iAiwParamList;
-        // selected data
-        TVPbkSelectedData iSelectedData;
-        // Friend request accept,method index
-        TInt iSelectedAction;
-       // Owns : selected friendrequest id 
-        HBufC* iFriendRequestId;
-        // owns : contact selection 
-        CVIMPSTUiContactSelection* iContactSelection;
-        //to know whether to hide the add contact button on the toolbar
-        TBool iAddContact;
-        // owns : selected result from aiw call query
-        HBufC* iQueryResult;
-        
-        //iIsToolBarHidden, if ETrue: tool bar is already hidded 
-        // no need to call again hidetoolbar.
-        TBool iIsToolBarHidden;
-        // NOT OWNS
-        CCoeAppUi* iAppUi;
-        
-        //Keep track, if iServiceHandler has been reset or not.
-        TBool iIsServiceHandleReSet;
-        
-        TBool iContainerCreationStarted;
-        
-    };
-
-#endif // __CVIMPSTUITABBEDVIEW_H__
-
-// End of File