uiservicetab/vimpstui/inc/cvimpstuitabbedview.h
branchRCL_3
changeset 22 3104fc151679
parent 21 2b7283837edb
child 23 9a48e301e94b
equal deleted inserted replaced
21:2b7283837edb 22:3104fc151679
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Tabbed view declaration
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef __CVIMPSTUITABBEDVIEW_H__
       
    20 #define __CVIMPSTUITABBEDVIEW_H__
       
    21 
       
    22 //  INCLUDES
       
    23 #include <e32base.h>            // CBase
       
    24 #include <badesca.h> 
       
    25 
       
    26 #include <AknIconArray.h>
       
    27 #include <akntoolbarobserver.h> // Toolbar
       
    28 
       
    29 #include <downloadedcontenthandler.h>
       
    30 #include <AknServerApp.h>
       
    31 #include <apparc.h>
       
    32 // CBase
       
    33 #include <CxSPBaseView.h>
       
    34 #include <mpbk2uiextensionview2.h>
       
    35 #include "tvimpstenums.h"
       
    36 
       
    37 //command observer
       
    38 #include "mvimpstcmdobserver.h"
       
    39 //auth event observer.
       
    40 #include "mvimpstenginesearchextentioneventobserver.h"
       
    41 
       
    42 #include <AiwCommon.h>
       
    43 //  FORWARD DECLARATIONS
       
    44 class CEikMenuPane;
       
    45 class MVIMPSTUiTabbedViewControl;
       
    46 class CPbk2UIExtensionView;
       
    47 class MVIMPSTCmdHandler;
       
    48 class CVIMPSTUIExtensionService;
       
    49 class MVIMPSTEngine;
       
    50 class MCCAParameter;
       
    51 class MCCAConnection;
       
    52 class MVIMPSTCmd;
       
    53 class CVIMPSTUiBrandData;
       
    54 class CVIMPSTUtilsWaitNote;
       
    55 class CAiwServiceHandler;
       
    56 class CAknToolbar; 
       
    57 class MVPbkStoreContact;
       
    58 class CBrowserLauncher;
       
    59 class MVPbkStoreContact;
       
    60 class MVIMPSTSettingsStore;
       
    61 class CCVIMPSTUiStatusPaneHandler;
       
    62 class CVIMPSTUIMenuExtension;
       
    63 class CVIMPSTUiContactSelection;
       
    64 class TAiwSingleEntrySelectionDataV2;
       
    65 class TAiwMultipleEntrySelectionDataV2;
       
    66 
       
    67 class CCoeAppUi;
       
    68 // CLASS DECLARATION
       
    69 /**
       
    70  * Tabbed view implementation 
       
    71  *  @lib vimpstui.lib
       
    72  *  @since S60 v5.0 
       
    73  */
       
    74  // codescanner warnings can be ignored as  CxSPBaseView derived from CBsse
       
    75  
       
    76 class CVIMPSTUiTabbedView : public CxSPBaseView, // CSI: 51 #
       
    77 							public MVIMPSTCmdObserver,
       
    78 							public MAknToolbarObserver, // Toolbar    
       
    79 						    public MVIMPSTEngineSearchExtentionEventObserver,
       
    80 						    public MDownloadedContentHandler,
       
    81 						    public MAknServerAppExitObserver,
       
    82 						    public MAiwNotifyCallback,
       
    83 						    public MPbk2UIExtensionView2
       
    84 
       
    85 							
       
    86 							  
       
    87 							  
       
    88     {
       
    89     public: // Constructor
       
    90         
       
    91         enum TXmppMenuValues
       
    92                 {
       
    93                 EXmppMenuValuesUseExisting = 0,
       
    94                 EXmppMenuValuesCreateNew = 1
       
    95                 };        
       
    96         
       
    97         enum TMenuSelection
       
    98             {
       
    99             EInvitAcceptCreateNew = 0,
       
   100             EInvitAcceptUpdateExisting = 1,
       
   101             EContactCreateNew,
       
   102             EContactAddFromContacts,
       
   103             ECreateXSPCall
       
   104             };   
       
   105 
       
   106         /**
       
   107          * Creates a new CVIMPSTUiTabbedView.
       
   108          *
       
   109          * @param aMapper Reference to view mapper object
       
   110          * @param aContactManager Reference to contact manager object
       
   111          * @param aTabbedViewId, view i.
       
   112          * @param aServiceId, service id.
       
   113          * @param aView, reference to the view.
       
   114          * @param aId, uid
       
   115          * @param aServiceData, service info.
       
   116          * @param aEngine, reference to engine.
       
   117          * @param aCommandHandler, reference to commandhandler.
       
   118          * @return New instance of this class         
       
   119          */
       
   120         static CVIMPSTUiTabbedView* NewL( MxSPViewMapper& aMapper, 
       
   121 			    MxSPContactManager& aContactManager, 
       
   122 			    TUint aTabbedViewId,
       
   123 			    TUint aServiceId,
       
   124 			    CPbk2UIExtensionView& aView,
       
   125 			    TUid aId,
       
   126 			    CVIMPSTUIExtensionService& aServiceData,
       
   127 			    MVIMPSTEngine& aEngine,
       
   128 			    MVIMPSTCmdHandler& aCommandHandler,
       
   129 			    CVIMPSTUIMenuExtension& aMenuExtension);
       
   130   
       
   131    public: // From MDownloadedContentHandler
       
   132 
       
   133             /**
       
   134             * Handle downloaded content that has been saved to a file, 
       
   135             * and return ETrue if it was handled successfully.
       
   136             * @param aFileName File name with path.
       
   137             * @param aParamList Generic parameter list.
       
   138             * @param aContinue Output parameter: It must be ETrue if the caller wants 
       
   139             *                  Browser not to terminate after the content is handled.
       
   140             * @return ETrue if the implementer has processed the content. If it is 
       
   141             *                  EFalse, BrowserLauncher opens that content in an 
       
   142             *                  appropriate viewer application.
       
   143             */
       
   144             TBool HandleContentL( const TDesC& aFileName,
       
   145                                                     const CAiwGenericParamList& aParamList,
       
   146                                                     TBool& aContinue );
       
   147 
       
   148             /**
       
   149             * Reserved for future use.
       
   150             */
       
   151             TAny* DownloadedContentHandlerReserved1( TAny* aAnyParam );
       
   152    public: // from MApaServerAppExitObserver
       
   153        /**
       
   154        * Handle the exit of a connected server app.
       
   155        * This implementation provides Series 60 default behavior
       
   156        * for handling of the EAknCmdExit exit code. Derived classes
       
   157        * should base-call this implementation if they override this
       
   158        * function.
       
   159        * @param aReason The reason that the server application exited.
       
   160        * This will either be an error code, or the command id that caused
       
   161        * the server app to exit.
       
   162        */
       
   163        void HandleServerAppExit(TInt aReason);
       
   164        
       
   165      
       
   166     public: // From MPbk2UIExtensionView through CxSPBaseView
       
   167         
       
   168         /**
       
   169          * @see MPbk2UIExtensionView
       
   170          */
       
   171         TBool HandleCommandKeyL(
       
   172                 const TKeyEvent& aKeyEvent,
       
   173                 TEventCode aType );
       
   174         
       
   175         /**
       
   176          * @see MPbk2UIExtensionView
       
   177          */
       
   178 		void DoDeactivate();  
       
   179 		
       
   180 		/**
       
   181          * @see MPbk2UIExtensionView
       
   182          */
       
   183         void HandleCommandL( TInt aCommand );
       
   184         
       
   185         /**
       
   186          * @see MPbk2UIExtensionView
       
   187          */
       
   188         void DynInitMenuPaneL( TInt aResourceId,
       
   189                                CEikMenuPane* aMenuPane );
       
   190         
       
   191         /**
       
   192          * @see MPbk2UIExtensionView
       
   193          */
       
   194         void HandleStatusPaneSizeChange();
       
   195         
       
   196         /**
       
   197          * @see MPbk2UIExtensionView
       
   198          */
       
   199         TAny* UIExtensionViewExtension( TUid aExtensionUid );
       
   200         
       
   201         /**
       
   202          * @see MPbk2UIExtensionView2
       
   203          */
       
   204          void HandleForegroundEventL(TBool aForeground);
       
   205         
       
   206         
       
   207     public: // new functions
       
   208         
       
   209          /**
       
   210          * Changes current status message
       
   211          * @param aStatus Status which message is needed.
       
   212          * @param aUpdateToNetwork ETrue update, EFalse do not update.
       
   213          * @return KErrCancel if canceled.
       
   214          */
       
   215         TInt AskStatusMessageL( TVIMPSTEnums::TOnlineStatus aStatus, 
       
   216                 TBool aUpdateToNetwork );
       
   217         
       
   218         /**
       
   219          * Get status old status messages from file.
       
   220          * @param aArray. Array of messages. Don't clear before filling.
       
   221          * @param aStatus Status which message is needed.
       
   222          */
       
   223         void ReadStatusMessagesL( CDesCArray& aArray, TVIMPSTEnums::TOnlineStatus aStatus  );
       
   224 
       
   225         /**
       
   226          * Write status messages to file.
       
   227          * @param aArray. Array of messages to write. Newest in top. Do not write duplicates.
       
   228          * @param aStatus Status which message is needed.               
       
   229          */
       
   230         void WriteStatusMessagesL( MDesCArray& aArray, TVIMPSTEnums::TOnlineStatus aStatus );
       
   231         
       
   232         /** 
       
   233          * Loads status icons for own status.
       
   234          * @returns iconarray,ownership is transfered.
       
   235          **/
       
   236         CAknIconArray* LoadOwnStatusIconsL();
       
   237         
       
   238         /** 
       
   239          * Changes ownstatus
       
   240          **/
       
   241         void ChangeStatusProcessL();
       
   242 
       
   243         /** 
       
   244          * Adds a contact.
       
   245          * @param aUserId id of contact to be added.
       
   246          * @param aResourceId   resource for query.
       
   247          **/
       
   248     	void AddContactL( const TInt aResouceId, const TDesC& aUserId = KNullDesC );
       
   249     	
       
   250      	 /** 
       
   251 	     * Deletes a contact.
       
   252 	     **/	
       
   253     	void DeleteContactL();
       
   254     	
       
   255     	/** 
       
   256          * @retunrs currentitemindex.
       
   257          **/
       
   258         TInt CurrentItemIndex();
       
   259         
       
   260        	/** 
       
   261          * @retunrs current state.
       
   262          **/
       
   263         TVIMPSTEnums::TVIMPSTRegistrationState GetServiceState();
       
   264         
       
   265         
       
   266         
       
   267         /** 
       
   268          * Makes a internet call form send key and toolbar butotn
       
   269          * if applicable.
       
   270          **/
       
   271         void MakeVoipCallL();
       
   272         
       
   273         
       
   274         /**
       
   275          * close conversation from service tab. 
       
   276          **/
       
   277          void CloseConversationL();
       
   278 
       
   279           /*
       
   280          *handles the completion of create new/update existing selection dialog
       
   281          */
       
   282          void HandleContactSelectionCompleteL();
       
   283          
       
   284 
       
   285          
       
   286               
       
   287     public: //Toolbar
       
   288     	/**
       
   289          * From MAknToolbarObserver
       
   290          */
       
   291         void DynInitToolbarL( TInt aResourceId, CAknToolbar* aToolbar );
       
   292         
       
   293         /**
       
   294          * From MAknToolbarObserver
       
   295          */
       
   296         void OfferToolbarEventL( TInt aCommand );
       
   297         
       
   298         /**
       
   299         * Create Fixed Toolbar
       
   300         * Since 5.0
       
   301         */
       
   302         void CreateToolBarL();
       
   303         
       
   304         /**
       
   305         * Handle Fixed Toolbar command updating
       
   306         * Since 5.0
       
   307         */
       
   308         void UpdateToolbarL();
       
   309                
       
   310        
       
   311            
       
   312         /**
       
   313          * Show or hide the toolbar
       
   314          * Since 5.0
       
   315          * @aShow if ETrue, show toolbar, otherwise, Don't show the toolbar.
       
   316          */
       
   317         void ShowHideFixedToolbarL(TBool aShow);
       
   318         
       
   319         /**
       
   320          * Function to launch help
       
   321          */
       
   322         void LaunchHelpL( const TDesC& aContext);
       
   323 
       
   324        	/** 
       
   325          * returns the MVIMPSTSettingsStore pointer.
       
   326          * Its created at the ConstructL of the view, so it stays till view is destructed
       
   327          * 
       
   328          * @return  MVIMPSTSettingsStore pointer : no ownership is transferred
       
   329          **/
       
   330         MVIMPSTSettingsStore* SettingsStore();
       
   331         
       
   332         /**
       
   333          * returns whether the cancel login is supported or not
       
   334          *
       
   335          * @return TBool,  ETrue if cancel login is supported else EFasle
       
   336          */
       
   337         TBool CancelLoginSupportedL();
       
   338 
       
   339        
       
   340 	private: // Functions from MVIMPSTEngineSearchExtentionEventObserver
       
   341 
       
   342 	   /**
       
   343         * @see MVIMPSTEngineSearchExtentionEventObserver
       
   344         */
       
   345 		void HandleSearchResultL(RArray<TVIMPSTSearchData> aSerachData) ;
       
   346 		
       
   347 	   /**
       
   348         * @see MVIMPSTEngineSearchExtentionEventObserver
       
   349         */
       
   350 		void HandleSearchFinishedL(TInt aError);
       
   351 		
       
   352 		
       
   353 		/**
       
   354         * @see MVIMPSTEngineSearchExtentionEventObserver
       
   355         */
       
   356 		void HandleSearchKeysEventL( RArray<TInt>& aEnumKeysArray, RPointerArray<HBufC>& aLebelKeysArray )  ;
       
   357 		
       
   358 
       
   359    	private: // From CxSPBaseView
       
   360    	    
       
   361    	    /** 
       
   362          * @see CxSPBaseView
       
   363          **/ 
       
   364    		void DoActivateViewL( const TVwsViewId& aPrevViewId,
       
   365                           TUid aCustomMessageId,
       
   366                           const TDesC8& aCustomMessage );
       
   367         
       
   368                 
       
   369 
       
   370     private : //From MImCommandObserver
       
   371     	
       
   372         /** 
       
   373          * @see MImCommandObserver
       
   374          **/
       
   375     	void CommandFinishedL(
       
   376                 const MVIMPSTCmd& aCommand );
       
   377         
       
   378     	/** 
       
   379          * @see MImCommandObserver
       
   380          **/
       
   381     	void HandleCommandEventL(TVIMPSTEnums::TVIMPSTRegistrationState aState, TInt aServiceError) ;   
       
   382     	
       
   383         
       
   384         /**
       
   385          * BlockContactL
       
   386          * @param Block if ETrue then call block else call unblock
       
   387          */
       
   388         void  BlockContactL(TBool aBlock = EFalse );
       
   389         
       
   390         /**
       
   391         * Show error note 
       
   392         * @param aError, error type
       
   393         */
       
   394         void ShowErrorNoteL(TInt aError );	
       
   395 
       
   396     private: // Implementation
       
   397         /**
       
   398          * Standard C++ constructor
       
   399          * @param aMapper Reference to view mapper object
       
   400          * @param aContactManager Reference to contact manager object
       
   401          * @param aTabbedViewId, view i.
       
   402          * @param aServiceId, service id.
       
   403          * @param aView, reference to the view.
       
   404          * @param aId, uid
       
   405          * @param aServiceData, service info.
       
   406          * @param aEngine, reference to engine.
       
   407          * @param aCommandHandler, reference to commandhandler.
       
   408          */
       
   409         CVIMPSTUiTabbedView( MxSPViewMapper& aMapper, 
       
   410 			    MxSPContactManager& aContactManager, 
       
   411 			    TUint aTabbedViewId,
       
   412 			    TUint aServiceId,
       
   413 			    CPbk2UIExtensionView& aView,
       
   414 			    TUid aId,
       
   415 			    CVIMPSTUIExtensionService& aServiceData,
       
   416 			    MVIMPSTEngine& aEngine,
       
   417 			    MVIMPSTCmdHandler& aCommandHandler,
       
   418 			    CVIMPSTUIMenuExtension& aMenuExtension);
       
   419 
       
   420         /**
       
   421          * Performs the 2nd phase of construction.
       
   422          */
       
   423         void ConstructL();
       
   424 
       
   425         /**
       
   426          * Standard C++ destructor.
       
   427          */
       
   428         ~CVIMPSTUiTabbedView();
       
   429         
       
   430         
       
   431         /**
       
   432          * Gets the reference to commandhandler.
       
   433          * @returns MVIMPSTCmdHandler&, reference to CommandHandlerL.
       
   434          */
       
   435         MVIMPSTCmdHandler& CommandHandlerL();  
       
   436         
       
   437         /**
       
   438 	    * change own status message
       
   439 	     */ 
       
   440         void ChangeOwnStatusMessageL(); 
       
   441         
       
   442 		/**
       
   443 		* change own avatar 
       
   444 		* @param aFileName - a file name
       
   445 		* @param aMimeType - a mime type
       
   446 		*/ 
       
   447         void ChangeOwnAvatarL(const TDesC& aFileName, const TDesC8& aMimeType );
       
   448         
       
   449         /**
       
   450 	     * search a given string
       
   451 	     */ 
       
   452         void SearchContactsL() ;
       
   453           
       
   454         /**
       
   455 	     * Used to launch search view
       
   456 	     * @param aViewId - id of view to be launched
       
   457 	     */ 
       
   458         void LaunchViewL( TInt aViewId ) ;    
       
   459    	           
       
   460         /**
       
   461          * processes friend request,when user opens friend request item
       
   462          */
       
   463         void ProcessFriendRequestL();
       
   464         /**
       
   465          * do login realted operations, tou, url 
       
   466          */
       
   467         void LoginL();
       
   468         /**
       
   469          * shows URL to register for the First time users.
       
   470          */
       
   471         void ShowURLQueryL();
       
   472         
       
   473         /**
       
   474          * opens broswer
       
   475          * @param TDesC& aUrl - url to be opened
       
   476          */
       
   477         void OpenWebBrowserL( const TDesC& aUrl );
       
   478         
       
   479         /**
       
   480          * shows poplist with Create New account, login with the existing userid.
       
   481          *
       
   482          * @since S60 5.0
       
   483          * @param aMenuChoise, will return the selected poplist item
       
   484          */
       
   485         void ShowUseExistingOrCreateNewMenuL( TInt& aMenuChoise );
       
   486         
       
   487         /**
       
   488                 * shows poplist with Create New account, login with the existing userid.
       
   489                 *
       
   490                 * @since S60 5.0
       
   491                 * @return, will return the selected poplist item
       
   492                 */
       
   493         TInt ShowNewUpdateQueryL();
       
   494         
       
   495         /**
       
   496          * shows user name and password query dialog
       
   497          *
       
   498          * @since S60 5.0
       
   499          * @param aUserName, user name
       
   500          * @param aPassword, password
       
   501          */
       
   502          void ShowLoginDialogL( TDes& aUserName, TDes& aPassword );
       
   503 
       
   504         /** 
       
   505          * Adds a phonebook contact.
       
   506          **/
       
   507         void LaunchPhoneBookAddContactL();
       
   508         
       
   509         /** 
       
   510          * launches selection dialog.
       
   511          **/
       
   512         void LaunchPbkSelectionDlgL();
       
   513         
       
   514         /** 
       
   515          * Adds all selected contact in aContacts.
       
   516          **/
       
   517         void AddContactL(RPointerArray<HBufC> aContacts);
       
   518         
       
   519         
       
   520         /** 
       
   521          * copies selected contact to  phone book.
       
   522          **/
       
   523         void CopyToPhoneBookL(); 
       
   524 
       
   525          /**
       
   526           * shows terms of use and logs in  if userid and password is provided.
       
   527           *
       
   528           * @since S60 5.0
       
   529           * @return TInt, error if any.
       
   530           */
       
   531          TInt ShowTermsofuseL();
       
   532          
       
   533                  
       
   534          
       
   535          /**
       
   536           * returns whether the Change Connection is supported or not
       
   537           *
       
   538           * @return TBool,  ETrue if Change Connection is supported else EFasle
       
   539           */
       
   540          TBool ChangeConnectionSupportedL();
       
   541          
       
   542          /*
       
   543          *Shows the list of blocked contacts.
       
   544          */
       
   545          void ShowBlockedContactListL();
       
   546          
       
   547          /*
       
   548           *Launches the setting view
       
   549          */
       
   550          void LaunchSettingsViewL();
       
   551          
       
   552           /*
       
   553           *helper method for add or link to contacts
       
   554          */
       
   555          void CreateOrLinkToPhoneBookL(TInt aCommand );
       
   556          
       
   557           /*
       
   558           *Launches the setting view
       
   559          */
       
   560          void EditContactL();
       
   561          /*
       
   562           *return true if URL query to be shown at login time,
       
   563           * other wise false.
       
   564           */
       
   565          TBool IsURLQueryToBeShownL();
       
   566          
       
   567          
       
   568           /*
       
   569         * helper method for executing the call
       
   570         */
       
   571         void ExecuteAiwCallL( const TDesC& aSelectedAddress );
       
   572         
       
   573          /*
       
   574         * helper method for checking and setting if user id is changed 
       
   575         */
       
   576         void ReadAndSetOwnUserIdL();
       
   577         /*
       
   578         * launch the phonebook dialog for add from contacts depending on 
       
   579         * whether it is localstore or not 
       
   580         */
       
   581        void LaunchFetchDialogL();
       
   582        
       
   583 				/*
       
   584 				* Launch single contact selection dialog in case of local contacts for 
       
   585 				* add from phonebook
       
   586 				*/       
       
   587         void ExecuteSingleItemFetchL( TAiwSingleEntrySelectionDataV2 aData );
       
   588         
       
   589        /*
       
   590 				* Launch multiple contact selection dialog in case of server contacts for 
       
   591 				* add from phonebook
       
   592 				*/ 
       
   593         void ExecuteMultipleItemFetchL( TAiwMultipleEntrySelectionDataV2 aData );
       
   594         
       
   595         /*
       
   596         * Check and Create the servicehandler if it is NULL
       
   597         */      
       
   598          void ReInitializeServiceHandlerL();
       
   599          
       
   600     public://from MAiwNotifyCallback.
       
   601         TInt HandleNotifyL(
       
   602                     TInt aCmdId,
       
   603                     TInt aEventId,
       
   604                     CAiwGenericParamList& aEventParamList,
       
   605                     const CAiwGenericParamList& aInParamList);
       
   606          
       
   607     private:
       
   608         enum TAssignmentState
       
   609             {
       
   610             EInvalid = 0,
       
   611             EXSPAssign,
       
   612             EDefaultAssign
       
   613             };
       
   614 
       
   615 	private: // Data   
       
   616                      
       
   617         // Stores view id
       
   618         TUint iViewId;  
       
   619         
       
   620         //service id
       
   621         TInt iServiceId;     
       
   622         
       
   623         //Doesnt own - reference to engine for this service
       
   624         MVIMPSTEngine& iEngine;
       
   625         
       
   626         //doesnt own
       
   627 		CVIMPSTUiBrandData* iBrandHandler;
       
   628        
       
   629         // Own: This view's control container
       
   630         MVIMPSTUiTabbedViewControl* iContainer;             
       
   631 
       
   632         // previous state.
       
   633         TVIMPSTEnums::TVIMPSTRegistrationState iPreviousState;
       
   634                         
       
   635         //CCA Param - Owns
       
   636         MCCAParameter* iParameter;
       
   637        
       
   638 		// Own: to connect CCA 
       
   639         //it is member variable because it is needed during the HideInBackground event
       
   640 		MCCAConnection* iConnection;
       
   641 		 
       
   642         //Owns. status message.
       
   643         HBufC* iStatusMessage;
       
   644         
       
   645 		//owns. object of aiwservicehandler.
       
   646 		CAiwServiceHandler *iServiceHandler;
       
   647 		
       
   648        	// not owned, reference to extension service
       
   649        	CVIMPSTUIExtensionService& iExtensionService;
       
   650        	
       
   651        	//Owns command Handler for this view
       
   652         MVIMPSTCmdHandler& iCommandHandler;    
       
   653         
       
   654         //doew not own, reference to menu extension
       
   655         CVIMPSTUIMenuExtension& iMenuExtension;
       
   656               
       
   657        	// owned, wait note.
       
   658         CVIMPSTUtilsWaitNote* iWaitNote;
       
   659         
       
   660         //owned. Pointer to toolbar object.
       
   661         CAknToolbar*       	 		iFixedToolbar;
       
   662             
       
   663         
       
   664         //owns. object of MVPbkStoreContact
       
   665         MVPbkStoreContact* iContact;
       
   666         //Owns: Stores the focused contact ID from iContainer before it gets destroyed
       
   667         HBufC* iFocussedIDHistory;
       
   668         //handle to customize status pane
       
   669         CCVIMPSTUiStatusPaneHandler* iStatusPaneHandler;
       
   670 
       
   671         //Owns Browser launcher
       
   672         CBrowserLauncher* iBrLauncher;
       
   673         
       
   674         //Owns, username
       
   675         HBufC* iUserId;
       
   676      
       
   677 		// owns, retrive settings from cenrep store
       
   678         MVIMPSTSettingsStore* iSettingsStore;
       
   679         //in param list for aiw generic options, owns
       
   680         CAiwGenericParamList* iAiwParamList;
       
   681         // selected data
       
   682         TVPbkSelectedData iSelectedData;
       
   683         // Friend request accept,method index
       
   684         TInt iSelectedAction;
       
   685        // Owns : selected friendrequest id 
       
   686         HBufC* iFriendRequestId;
       
   687         // owns : contact selection 
       
   688         CVIMPSTUiContactSelection* iContactSelection;
       
   689         //to know whether to hide the add contact button on the toolbar
       
   690         TBool iAddContact;
       
   691         // owns : selected result from aiw call query
       
   692         HBufC* iQueryResult;
       
   693         
       
   694         //iIsToolBarHidden, if ETrue: tool bar is already hidded 
       
   695         // no need to call again hidetoolbar.
       
   696         TBool iIsToolBarHidden;
       
   697         // NOT OWNS
       
   698         CCoeAppUi* iAppUi;
       
   699         
       
   700         //Keep track, if iServiceHandler has been reset or not.
       
   701         TBool iIsServiceHandleReSet;
       
   702         
       
   703         TBool iContainerCreationStarted;
       
   704         
       
   705     };
       
   706 
       
   707 #endif // __CVIMPSTUITABBEDVIEW_H__
       
   708 
       
   709 // End of File