uiservicetab/vimpstui/src/cvimpstuitabbedview.cpp
changeset 15 81eeb8c83ce5
parent 0 5e5d6b214f4f
--- a/uiservicetab/vimpstui/src/cvimpstuitabbedview.cpp	Tue Feb 02 10:12:18 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3839 +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:   Implementation for CVIMPSTUiTabbedView
- *
-*/
-
-
-// INCLUDE FILES
-#include "cvimpstuitabbedview.h"
-
-#include "cvimpstcmdhandler.h"
-#include "mvimpstuitabbedviewcontrol.h"
-#include "mvimpstuitabcontrolfactory.h"
-#include "vimpstcmd.hrh"
-#include "mvimpstcmd.h"
-#include "mvimpstengine.h"
-#include "mvimpstenginesearchmgrextention.h"
-
-#include "vimpstui.hrh"
-#include "vimpstextentionuiuid.h"
-#include "tvimpstconsts.h"
-#include "cvimpstuiextensionservice.h"
-#include "cvimpstuibranddata.h"
-#include "mvimpstprocessarray.h"
-#include "vimpstutilsdialog.h"
-#include "vimpstutilswaitnote.h"
-#include "vimpstcmd.hrh"
-#include "cvimpstuisearchfieldaray.h"
-#include "mvimpstuisearchfield.h"
-#include "cvimpstuisearchquerydialog.h"
-#include "cvimpstuiavatarselectionhandler.h" // avatar selection
-#include "cvimpstuistatuspanehandler.h"
-
-
-#include "mvimpstengineextentionfeatures.h"
-#include "mvimpststoragevpbkstorehandler.h"
-
-// System includes
-#include <akntoolbar.h>             //CAknToolbar
-#include <eikcolib.h>               //CEikAppUiFactory
-
-#include <coecntrl.h>
-#include <eikmenup.h>
-#include <AknGlobalNote.h>
-#include <eikbtgpc.h>
-#include <avkon.rsg>
-#include <aknnotewrappers.h> 
-#include <AknQueryDialog.h> 
-#include <StringLoader.h>
-#include <eikenv.h>
-#include <e32property.h>
-#include <apgtask.h>
-#include <aknmessagequerydialog.h>
-
-// Pbk2
-#include <MPbk2AppUi.h>
-#include <CPbk2UIExtensionView.h>
-#include <MPbk2ViewActivationTransaction.h>
-#include <MPbk2ViewExplorer.h>
-#include <CPbk2ViewState.h>
-#include <MPbk2StartupMonitor.h>
-#include <Pbk2Commands.hrh>
-#include <MVPbkStoreContact.h>
-
-#include <MPbk2ApplicationServices.h>
-#include <MPbk2CommandHandler.h>
-// xSP extension manager
-#include "MxSPViewMapper.h"
-#include "MxSPContactManager.h"
-#include "cvimpststoragemanagerfactory.h"
-#include "mvimpststorageserviceview.h"
-#include "cvimpstuimenuextension.h"
-
-//resource
-#include <ExtensionManagerRes.rsg>
-#include <vimpstuires.rsg>
-
-//CCA
-#include <mccaparameter.h>
-#include <ccafactory.h>
-#include <mccaconnection.h>
-
-#include "vimpstdebugprint.h"
-
-//AIW - VOIP
-#include <aiwdialdataext.h>
-#include <aknPopup.h>
-#include <AiwCommon.hrh>
-#include <AiwServiceHandler.h>
-#include <aiwdialdata.h>
-#include <MVPbkStoreContact.h>
-
-//browser launch
-#include <BrowserLauncher.h>
-#include "cvimpstuitermsofusedialoghandler.h"
-#include <cvimpstsettingsstore.h>
-#include <aknmessagequerydialog.h>
-#include "tvimpstconsts.h"
-// avatar
-#include "mvimpstenginepresencesubservice.h"
-#include "mvimpstenginesubservice.h"
-#include "mvimpstengineimsubservice.h"
-#include "cvimpstuicontactselection.h"
-
-#include    <vimpstui.mbg>
-// help launch
-#include <hlplch.h>
-#include <coehelp.h>
-#include "meco.hlp.hrh"
-
-#include    <AiwGenericParam.h>
-#include    <AiwCommon.hrh>                //KAiwCmdCall
-#include    <AiwContactAssignDataTypes.h>
-#include 	<commonphoneparser.h>
-
-using namespace AiwContactAssign;
-using namespace Phonebook2;
-
-const TInt KBufLen(512);
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::CVIMPSTUiTabbedView
-// --------------------------------------------------------------------------
-//
-CVIMPSTUiTabbedView::CVIMPSTUiTabbedView( 
-MxSPViewMapper& aMapper, 
-MxSPContactManager& aContactManager, 
-TUint aTabbedViewId,
-TUint aServiceId,
-CPbk2UIExtensionView& aView,
-TUid /*aId*/,
-CVIMPSTUIExtensionService& aServiceData,
-MVIMPSTEngine& aEngine,
-MVIMPSTCmdHandler& aCommandHandler,
-CVIMPSTUIMenuExtension& aMenuExtension) :
-CxSPBaseView( aMapper, aContactManager, aView ),
-iViewId( aTabbedViewId ),
-iServiceId(aServiceId),
-iEngine(aEngine),
-iExtensionService( aServiceData ),
-iCommandHandler( aCommandHandler),
-iMenuExtension(aMenuExtension),
-iSelectedAction( KErrNotFound )
-
-            {
-            iFixedToolbar = NULL;
-            iIsToolBarHidden = ETrue;
-            }
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ConstructL
-// --------------------------------------------------------------------------
-//
-inline void CVIMPSTUiTabbedView::ConstructL()
-    {
-    ViewBaseConstructL( KIMCONTACTSEXTNIMPLEMENTATIONUID, iViewId );   
-    
-    iCommandHandler.RegisterEventObserverL(this);
-
-    iPreviousState = TVIMPSTEnums::ESVCENotRegistered; 
-
-    iServiceHandler = CAiwServiceHandler::NewL();    
-
-    iServiceHandler->AttachL( R_IM_APP_INTEREST );
-    iServiceHandler->AttachMenuL( R_SERVTAB_TABBED_VIEW_MENU, 
-            R_IM_APP_INTEREST );   
-
-    iServiceHandler->AttachL( R_AIWASSIGNMENT_INTEREST );    
-   	
-	iServiceHandler->AttachL( R_AIWSELECT_INTEREST );
-
-    iStatusMessage = HBufC::NewL( KStatusTextLength ); 
-
-    iStatusPaneHandler = CCVIMPSTUiStatusPaneHandler::NewL();
-
-    //Get SearchMgr
-    MVIMPSTEngineExtentionFeatures* feature = iEngine.ExtentionFeatures(TVIMPSTEnums::ESearch);
-    if (feature)
-        {
-        MVIMPSTEngineSearchMgrExtention& searchMgr = 
-        MVIMPSTEngineSearchMgrExtention::Cast
-        (*feature);	
-
-        searchMgr.RegisterObserver(this);   	
-        }
-    iSettingsStore = CVIMPSTSettingsStore::NewL();
-    
-	iBrandHandler = CVIMPSTUiBrandData::NewL( iEngine );
-	
-	iAppUi = CCoeEnv::Static()->AppUi();
-	
-	CFbsBitmap *bitmap, *mask;
-	iBrandHandler->GetBrandBitmapsL( &bitmap, &mask);
-	iStatusPaneHandler->SetPictureL( bitmap, mask );
-	
-	iIsServiceHandleReSet = EFalse;
-	
-	iContainerCreationStarted = EFalse;
-    }
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::NewL
-// --------------------------------------------------------------------------
-//
-CVIMPSTUiTabbedView* CVIMPSTUiTabbedView::NewL( MxSPViewMapper& aMapper, 
-        MxSPContactManager& aContactManager, 
-        TUint aTabbedViewId,
-        TUint aServiceId,
-        CPbk2UIExtensionView& aView,
-        TUid aId,
-        CVIMPSTUIExtensionService& aServiceData,
-        MVIMPSTEngine& aEngine,
-        MVIMPSTCmdHandler& aCommandHandler,
-        CVIMPSTUIMenuExtension& aMenuExtension)
-    {
-    CVIMPSTUiTabbedView* self = new(ELeave) CVIMPSTUiTabbedView( aMapper, 
-            aContactManager,
-            aTabbedViewId,
-            aServiceId, 
-            aView, 
-            aId,
-            aServiceData,
-            aEngine,
-            aCommandHandler,
-            aMenuExtension);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::~CVIMPSTUiTabbedView
-// --------------------------------------------------------------------------
-//
-CVIMPSTUiTabbedView::~CVIMPSTUiTabbedView()
-    {
-    delete iContactSelection;
-    delete iFriendRequestId;
-    
-    delete iSelectedData.iPackedLinks;
-    iSelectedData.iXSPList.ResetAndDestroy();
-  
-  	delete iQueryResult;  
-    //Get SearchMgr
-    MVIMPSTEngineExtentionFeatures* feature = iEngine.ExtentionFeatures(TVIMPSTEnums::ESearch);
-    if (feature)
-        {
-        MVIMPSTEngineSearchMgrExtention& searchMgr = 
-        MVIMPSTEngineSearchMgrExtention::Cast
-        (*feature);	
-
-        searchMgr.UnRegisterObserver(this);   	
-        }
-
-    if(iParameter!=NULL)
-        iParameter->Close();    
-    if(iConnection!=NULL)
-        {
-        iConnection->Close();
-        iConnection = NULL;
-        }
-
-    if (iContainer && iAppUi )
-        {
-        iAppUi->RemoveFromStack( iContainer->CoeControl() );
-        delete iContainer;
-        iContainerCreationStarted = EFalse;
-        }
-    delete iBrandHandler;
-    iCommandHandler.UnRegisterEventObserver(this);	
-
-    if ( iFixedToolbar )
-        {
-        iFixedToolbar->SetToolbarObserver( NULL );
-        delete iFixedToolbar;
-        iFixedToolbar = NULL;
-        }
-
-    if (iServiceHandler)
-        {
-        iServiceHandler->Reset();
-        delete iServiceHandler;	
-        iServiceHandler = NULL;
-        }
-
-    delete iContact;
-
-    if(iFocussedIDHistory)
-        {
-        delete iFocussedIDHistory;
-        iFocussedIDHistory = NULL;
-        }
-    delete iBrLauncher; 
-    delete iUserId;
-   
-    if(iSettingsStore)
-        {
-        delete iSettingsStore;
-        iSettingsStore = NULL;
-        }
-    delete iStatusPaneHandler;
-
-    delete iAiwParamList;
-    
-    if(iStatusMessage)
-	    {
-	    delete iStatusMessage; 
-	    }
-
-    }
-
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::DynInitMenuPaneL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane )
-    {    
-    // AIW knows its own submenu hooks, so we can return from 
-    // here if AIW handled this.
-    ReInitializeServiceHandlerL();
-    
-    iMenuExtension.ResetAIWCommandMap();
-    
-    if ( iServiceHandler->HandleSubmenuL( *aMenuPane ) )
-        {
-        return;
-        }
-
-    TBool imService     = iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EIM);
-    TBool voipService   = iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EVoip);
-    TBool presenceService = iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EPresence);
-    TVIMPSTEnums::TVIMPSTRegistrationState serviceTabState = 
-    							iEngine.ServiceState();
-
-    TInt itemIndex = CurrentItemIndex();
-    // fetch the item and process correct type    
-    TVIMPSTEnums::TItem itemType = iCommandHandler.GetProcessInterface().GetType(itemIndex);        
-    TVIMPSTEnums::TOnlineStatus onlinestatus = iCommandHandler.GetProcessInterface().GetOnlineStatusL(itemIndex);        
-
-    switch( aResourceId)
-        {
-        case R_EXTENSION_MANAGER_MENU:
-            { 
-            aMenuPane->AddMenuItemsL(R_SERVTAB_TABBED_VIEW_MENU);
-            aMenuPane->AddMenuItemsL(R_TABBED_VIEW_GENERAL_MENU);
-
-			aMenuPane->SetItemDimmed(ECmdGetBlockedList, ETrue);
-            //based on sevice states decide what all submenu should be shown
-            //and main menu's to be shown
-            switch (serviceTabState)
-                {
-                case TVIMPSTEnums::ESVCENotRegistered:
-                    {                   
-                    aMenuPane->SetItemDimmed(ECmdCreateNewOption, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdMyAvatar, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdChangeStatus, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdLogout, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdChangeConnectioninOnlineState, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdChangeConnectioninWaitingState, ETrue);
-                    break;	
-                    }
-                case TVIMPSTEnums::ESVCERegistered:
-                    { 
-                    if (!presenceService)
-                        {
-                        aMenuPane->SetItemDimmed(ECmdMyAvatar, ETrue);	
-                        aMenuPane->SetItemDimmed(ECmdChangeStatus, ETrue);	
-                        }
-                    else
-                        {
-                        //find whether avatar is supported  
-                         	//Get Presence SubService  			
-					   	MVIMPSTEngineSubService* subService =    	   
-					   	   					(iEngine.SubService(TVIMPSTEnums::EPresence));
-					    if(subService)
-					        {
-					        MVIMPSTEnginePresenceSubService& presence = 
-					        		MVIMPSTEnginePresenceSubService::Cast (*subService);
-					        
-					        aMenuPane->SetItemDimmed(ECmdMyAvatar, !presence.IsAvatarSupported() ); 
-					        }   
-        
-        	           }		           		
-                    aMenuPane->SetItemDimmed(ECmdLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-       		
-		       		if (!ChangeConnectionSupportedL())
-		           		{
-		           		aMenuPane->SetItemDimmed(ECmdChangeConnectioninOnlineState, ETrue);
-		           		}
-		           		
-		       		aMenuPane->SetItemDimmed(ECmdChangeConnectioninWaitingState, ETrue);
-                    if(iEngine.IsBlockSupportedL())
-                        {
-						aMenuPane->SetItemDimmed(ECmdGetBlockedList, EFalse);
-                        }
-                    break;	
-                    }
-                case TVIMPSTEnums::ESVCENetworkConnecting:
-                    {                  
-                    aMenuPane->SetItemDimmed(ECmdChangeStatus, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCreateNewOption, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdMyAvatar, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdLogout, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdSettings, ETrue);	           		
-		       		aMenuPane->SetItemDimmed(ECmdChangeConnectioninOnlineState, ETrue);   
-		       		aMenuPane->SetItemDimmed(ECmdChangeConnectioninWaitingState, ETrue);        		
-                    if( !CancelLoginSupportedL())
-                        {
-                        aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-                        }
-                    break;	
-                    }
-                case TVIMPSTEnums::ESVCEWaitingForNetwork:
-                case TVIMPSTEnums::ESVCEUpdatingContacts:
-                    {
-                    aMenuPane->SetItemDimmed(ECmdChangeStatus, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCreateNewOption, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdMyAvatar, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-		       		aMenuPane->SetItemDimmed(ECmdChangeConnectioninOnlineState, ETrue);	           		
-		       		if (!ChangeConnectionSupportedL())
-		           		{
-		           		aMenuPane->SetItemDimmed(ECmdChangeConnectioninWaitingState, ETrue);
-		           		}
-                    break;	
-                    }
-                case TVIMPSTEnums::ESVCENetworkDisConnecting:
-                    {                   
-                    aMenuPane->SetItemDimmed(ECmdChangeStatus, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCreateNewOption, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdMyAvatar, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdSettings, ETrue);	
-                    aMenuPane->SetItemDimmed(ECmdLogout, ETrue);
-		       		aMenuPane->SetItemDimmed(ECmdChangeConnectioninWaitingState, ETrue);
-		       		aMenuPane->SetItemDimmed(ECmdChangeConnectioninOnlineState, ETrue);	           		
-                    break;	
-                    }
-                default:
-                    {
-                    break;	
-                    }
-                }
-            // common to all 
-            aMenuPane->SetItemDimmed(ECmdContactAddAsFriend, ETrue);
-            aMenuPane->SetItemDimmed(KAiwCmdCall, ETrue);
-            aMenuPane->SetItemDimmed(ECmdCloseConversation, ETrue);
-            aMenuPane->SetItemDimmed(ECmdContactDetails, ETrue);
-            aMenuPane->SetItemDimmed(ECmdOpenFriendRequest, ETrue);
-            aMenuPane->SetItemDimmed(ECmdContactEdit, ETrue);
-            aMenuPane->SetItemDimmed(ECmdAIWAddToContact, ETrue); 
-            aMenuPane->SetItemDimmed(ECmdAIWLinkToContact, ETrue);
-            aMenuPane->SetItemDimmed(ECmdBlock, ETrue);
-            aMenuPane->SetItemDimmed(ECmdUnBlock, ETrue);
-            aMenuPane->SetItemDimmed(ECmdContactDelete, ETrue);
-            //based on items in focus decide what main menu items needs to be shown
-            switch(itemType)
-                {	            	
-                case TVIMPSTEnums::EOwnStatusItem:
-                case TVIMPSTEnums::EInvalid:     // this case comes when no matched found for findpane characters
-                    {
-                    break;	
-                    }
-                case TVIMPSTEnums::EContactItem:
-                    {      
-                    //conversation related menu   
-                    MVIMPSTStorageServiceView* storage = 
-                    CVIMPSTStorageManagerFactory::ContactListInterfaceL(iServiceId);
-                    TBool localstore = EFalse;
-                    if (storage)
-                        {
-                        localstore = storage->IsLocalStore();
-                        }
-                    if (TVIMPSTEnums::ESVCERegistered == serviceTabState)
-                        {
-                        TPtrC selectedItem = iCommandHandler.GetProcessInterface().
-                        GetItemUserId(itemIndex);
-                        if( selectedItem != KNullDesC )
-                            {
-                            if (imService)
-                                {
-                                if ( iCommandHandler.GetProcessInterface().IsConversationExist( itemIndex ) )
-                                    {
-                                    aMenuPane->SetItemDimmed(ECmdCloseConversation, EFalse);	
-                                    }
-                                }
-                            }
-                        if(voipService)
-                            {
-                            TInt index;
-                            aMenuPane->MenuItemExists(KAiwCmdCall, index);
-                            aMenuPane->SetItemDimmed(KAiwCmdCall, EFalse);
-
-                            CAiwDialDataExt* dialDataExt = CAiwDialDataExt::NewL();
-                            CleanupStack::PushL( dialDataExt );
-                            dialDataExt->SetServiceId( iServiceId );
-                            ReInitializeServiceHandlerL();
-                            CAiwGenericParamList& paramList = iServiceHandler->InParamListL();
-                            dialDataExt->FillInParamListL( paramList );                          
-                            TAiwVariant variant;
-                            TAiwGenericParam param ( EGenericParamSIPAddress, variant );
-                            paramList.AppendL( param );
-                            iServiceHandler->InitializeMenuPaneL( *aMenuPane, 
-                                    R_SERVTAB_TABBED_VIEW_MENU,
-                                    // Must not overlap with the other menu ids!
-                                    ECmdAIWRangeStart,
-                                    paramList );
-
-                            CleanupStack::PopAndDestroy( dialDataExt );	
-
-                            CEikMenuPaneItem::SData& data = aMenuPane->ItemDataByIndexL(index);
-                            //add to AIW command map of the menuextension manager
-                            iMenuExtension.AddToAIWCommandMap(KAiwCmdCall,data.iCommandId);
-                            }                            
-
-                        aMenuPane->SetItemDimmed(ECmdContactDetails, EFalse);  
-                        
-                            if (localstore)
-                                {
-                                //ContactEdit is enabled only for localstore
-                                aMenuPane->SetItemDimmed(ECmdContactEdit, EFalse);
-                                }
-                            if(iEngine.IsBlockSupportedL())
-                                {
-                                TVIMPSTEnums::TOnlineStatus status = iCommandHandler.GetProcessInterface().GetOnlineStatusL(itemIndex); 
-                                if(TVIMPSTEnums::EBlocked == status )
-                                    {
-                                    aMenuPane->SetItemDimmed(ECmdUnBlock, EFalse);
-                                    }
-                                else if( selectedItem .Length() )
-                                    {
-                                    aMenuPane->SetItemDimmed(ECmdBlock, EFalse);
-                                    }
-                                }
-                            aMenuPane->SetItemDimmed(ECmdContactDelete, EFalse);    
-                            
-                      
-                        if (!localstore)
-                            {
-                            aMenuPane->SetItemDimmed(ECmdAIWAddToContact, EFalse);  
-                            aMenuPane->SetItemDimmed(ECmdAIWLinkToContact, EFalse);
-                            }
-                        }
-                    else if (TVIMPSTEnums::ESVCENotRegistered == serviceTabState)
-                        {
-                        if(!presenceService)
-                            {
-                            if (localstore)
-                                {
-                                //ContactEdit is enabled only for localstore
-                                aMenuPane->SetItemDimmed(ECmdContactEdit, EFalse);
-                                }                            
-                            }
-                        }
-                    
-					break;	
-                    }
-                case TVIMPSTEnums::EUnknonContactItem :
-                    {
-                    aMenuPane->SetItemDimmed(ECmdContactAddAsFriend, EFalse);
-                    aMenuPane->SetItemDimmed(ECmdContactDetails, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdOpenFriendRequest, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdContactEdit, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdAIWAddToContact, ETrue); 
-                    aMenuPane->SetItemDimmed(ECmdAIWLinkToContact, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdBlock, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdUnBlock, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdContactDelete, ETrue);
-                    if( iEngine.IsBlockSupportedL() )
-                        {
-                        aMenuPane->SetItemDimmed(ECmdBlock, EFalse);
-                        }
-                    if (imService)
-                        {                            
-                        if (iCommandHandler.GetProcessInterface().IsConversationExist( itemIndex ))
-                            {
-                            aMenuPane->SetItemDimmed(ECmdCloseConversation, EFalse);    
-                            }
-                        }
-                    if(voipService)
-                        {
-						TInt index;
-                        aMenuPane->MenuItemExists(KAiwCmdCall, index);
-								
-                        aMenuPane->SetItemDimmed(KAiwCmdCall, EFalse);
-
-                        CAiwDialDataExt* dialDataExt = CAiwDialDataExt::NewL();
-                        CleanupStack::PushL( dialDataExt );
-                        dialDataExt->SetServiceId( iServiceId );
-                        ReInitializeServiceHandlerL();
-                        CAiwGenericParamList& paramList = iServiceHandler->InParamListL();
-                        dialDataExt->FillInParamListL( paramList );                          
-                        TAiwVariant variant;
-                        TAiwGenericParam param ( EGenericParamSIPAddress, variant );
-                        paramList.AppendL( param );
-                        iServiceHandler->InitializeMenuPaneL( *aMenuPane, 
-                                R_SERVTAB_TABBED_VIEW_MENU,
-                                // Must not overlap with the other menu ids!
-                                ECmdAIWRangeStart,
-                                paramList );
-                        CleanupStack::PopAndDestroy( dialDataExt ); 
-						
-						CEikMenuPaneItem::SData& data = aMenuPane->ItemDataByIndexL(index);
-					    //add to AIW command map of the menuextension manager
-                        iMenuExtension.AddToAIWCommandMap(KAiwCmdCall,data.iCommandId);
- 
-                        }  
-                    break;
-                    }
-                case TVIMPSTEnums::EFriendRequestItem:
-                    {
-                    aMenuPane->SetItemDimmed(ECmdContactDetails, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdContactEdit, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdAIWAddToContact, ETrue); 
-                    aMenuPane->SetItemDimmed(ECmdAIWLinkToContact, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdBlock, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdUnBlock, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdContactDelete, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdOpenFriendRequest, EFalse);
-                    if(iEngine.IsBlockSupportedL())
-                        {
-                        aMenuPane->SetItemDimmed(ECmdBlock, EFalse);
-                        }
-                    break;  
-                    }
-                default:
-                    {
-                    break;	
-                    }
-                }
-            // append the servicetab options(R_TABBED_VIEW_OPTIONS_MENU) and tabbed 
-            // viem(R_SERVTAB_TABBED_VIEW_MENU) menu items and the the service
-            // specific options and then settings,help and exit.(R_TABBED_VIEW_GENERAL_MENU)
-            iMenuExtension.OfferMenuPaneToPlugins(ECmdCancelLogin,*aMenuPane,iServiceId);
-
-            break;	
-            }
-
-        case R_SERVTAB_CREATENEW_OPTION_SUBMENU:
-            {
-
-            aMenuPane->SetItemDimmed(ECmdAddContact, ETrue);
-            aMenuPane->SetItemDimmed(ECmdAddFromPhoneBook, ETrue);
-            aMenuPane->SetItemDimmed(ECmdSearch, ETrue);					           		
-
-            if (TVIMPSTEnums::ESVCERegistered == serviceTabState)            	
-                {
-                aMenuPane->SetItemDimmed(ECmdAddContact, EFalse);
-                aMenuPane->SetItemDimmed(ECmdAddFromPhoneBook, EFalse);
-
-                //make search request using search manager in engine   	
-                MVIMPSTEngineExtentionFeatures* feature = 
-                iEngine.ExtentionFeatures(TVIMPSTEnums::ESearch);
-
-                if (feature)
-                    {
-                    if ( TVIMPSTEnums::ESupported == feature->IsSupported() )
-                        {
-                        aMenuPane->SetItemDimmed(ECmdSearch, EFalse);//show if search is supported. 
-                        }
-                    }
-                }
-            break;	
-            }
-
-        case R_SERVTAB_CHANGEAVATAR_SUBMENU: 
-            {            	
-            if ((TVIMPSTEnums::ESVCERegistered != serviceTabState) ||
-                    (!presenceService))
-                {
-                aMenuPane->SetItemDimmed(ECmdAvatarGallery, ETrue);	
-                aMenuPane->SetItemDimmed(ECmdAvatarNewPhoto, ETrue);	
-                aMenuPane->SetItemDimmed(ECmdDefaultAvatar, ETrue);	
-                }            
-            break;	
-            }
-
-        case R_TABBED_VIEW_GENERAL_MENU:
-            {
-            switch (serviceTabState)
-                {
-                case TVIMPSTEnums::ESVCENotRegistered:
-                    {
-                    aMenuPane->SetItemDimmed(ECmdLogout, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-					aMenuPane->SetItemDimmed(ECmdGetBlockedList, ETrue);
-                    break;	
-                    }
-                case TVIMPSTEnums::ESVCERegistered:
-                    {
-                    aMenuPane->SetItemDimmed(ECmdLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-                    break;	
-                    }
-                case TVIMPSTEnums::ESVCENetworkConnecting:
-                    {
-                    aMenuPane->SetItemDimmed(ECmdLogin, ETrue);
-					aMenuPane->SetItemDimmed(ECmdGetBlockedList, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdLogout, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdSettings, ETrue);	           		
-                    if( !CancelLoginSupportedL())
-                        {
-                        aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-                        }
-                    break;	
-                    }
-                case TVIMPSTEnums::ESVCEWaitingForNetwork:
-                case TVIMPSTEnums::ESVCEUpdatingContacts:
-                    {
-                    aMenuPane->SetItemDimmed(ECmdLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-					aMenuPane->SetItemDimmed(ECmdGetBlockedList, ETrue);
-                    break;	
-                    }
-                case TVIMPSTEnums::ESVCENetworkDisConnecting:
-                    {
-                    aMenuPane->SetItemDimmed(ECmdLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdCancelLogin, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdSettings, ETrue);
-					aMenuPane->SetItemDimmed(ECmdGetBlockedList, ETrue);
-                    aMenuPane->SetItemDimmed(ECmdLogout, ETrue);
-                    break;	
-                    }
-                default:
-                    {
-                    break;	
-                    }
-
-
-                }
-            break;	
-            }
-        }                
-
-    }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleCommandL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::HandleCommandL(TInt aCommand)
-    {
-    //offer to extensions first, then to aiw.
-    if(iMenuExtension.OfferHandleCommandToPlugins(aCommand))
-        {
-        //command is executed, hence return.
-        return;
-        }
-    ReInitializeServiceHandlerL();
-    TInt serviceCommandId =iServiceHandler->ServiceCmdByMenuCmd(aCommand);
-
-    if ( iContainer && serviceCommandId == KAiwCmdCall )
-        {
-       	MakeVoipCallL();
-        return;
-        }	
-    
-    if( iContainer )
-        {
-        iContainer->SetClrFindPaneFlag(ETrue);
-        }
-    
-    switch (aCommand)
-        {
-        case ECmdLogin:
-            {						
-            LoginL();			
-            break;
-            }
-        case ECmdSearch:
-            {
-            SearchContactsL();						
-            break;
-            }
-        case ECmdAddFromPhoneBook:
-            {
-           
-            LaunchFetchDialogL();						
-            break;
-            }
-        case EAknCmdHelp:
-            {
-            TBool imSupported = iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EIM);
-            TBool voipSupported = iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EVoip);
-            if ( imSupported )
-                { 
-                if (  voipSupported  )
-                    { // both Im and VOIP are enabled 
-                    LaunchHelpL( KSERVTAB_HLP_MAIN_VIEW_VOIPIM );
-                    }
-                else
-                    {// only IM is enabled
-                    LaunchHelpL( KSERVTAB_HLP_MAIN_VIEW_IM );
-                    }
-                }
-            else if ( voipSupported )
-                { // only VOIP is enabled
-                LaunchHelpL( KSERVTAB_HLP_MAIN_VIEW_VOIP );
-                }   
-            
-            break;
-            }
-        case EAknCmdExit:
-        case EAknSoftkeyExit:
-            { 
-            //exit from phone book.
-            Pbk2AppUi()->HandleCommandL( EAknSoftkeyExit );
-
-            break;
-            }
-        case ECmdSettings:
-            {
-             LaunchSettingsViewL();
-             break;
-            }		
-
-        case ECmdLogout:
-            {                        
-            // this is for actual network logout          
-            iCommandHandler.HandleCommandL(ELogoutService, this, &iServiceId);
-            break;
-            } 
-
-        case ECmdContactDetails:        
-            {
-            TInt index = KErrNotFound;                        
-            if (iContainer)
-                {				
-                index = iContainer->CurrentItemIndex(); 
-                }
-            if(KErrNotFound != index)
-                {
-                TLaunchCCAData data;
-                data.iIndex = index;
-                iConnection = TCCAFactory::NewConnectionL();
-                data.iConnection = iConnection;
-                iCommandHandler.HandleCommandL(ELaunchCCA, this, &data );
-                }
-            break;
-            }
-        case ECmdOpenConversation:
-            {
-            if( iContainer )
-                {
-                iContainer->SendMessageL();
-                }
-
-            break;
-            }
-
-        case ECmdAddContact:
-            {
-            AddContactL( R_IM_ADD_CONTACT_MANUAL_QUERY );
-            break;
-            }
-
-        case ECmdContactEdit:
-            { 
-            EditContactL();           
-            break;
-            }
-        case ECmdContactDelete:        
-            {
-            if( iContainer )
-                {
-                iContainer->SetClrFindPaneFlag(EFalse);
-                }
-            DeleteContactL();
-            break;
-            }
-        case ECmdChangeStatus:
-            {
-            ChangeStatusProcessL();
-            break;
-            } 
-        case ECmdCancelLogin:
-            {
-            iCommandHandler.HandleCommandL( ECancelLogin , this , NULL );
-            break;
-            }                     
-
-        case ECmdOpenFriendRequest:
-            {
-            ProcessFriendRequestL();
-            break;
-            }
-
-        case ECmdAvatarGallery:
-        case ECmdAvatarNewPhoto:     
-            {
-            CAvatarSelectionHandler* avatarHandler = CAvatarSelectionHandler::NewLC();
-            HBufC* avatarFile = avatarHandler->HandleAvatarSelectionL( aCommand );
-            if( avatarFile ) // if user selected the image 
-                {
-                CleanupStack::PushL( avatarFile ); 
-                if(iWaitNote)
-	                {
-	                delete iWaitNote;
-	                iWaitNote = NULL;	
-	                }
-                iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( R_QTN_SERVTAB_CHANGE_AVATAR_CHANGING, EFalse , ETrue );
-                ChangeOwnAvatarL( *avatarFile , avatarHandler->MimeTypeL() );
-                CleanupStack::PopAndDestroy(); //avatarFile
-                }
-	        CleanupStack::PopAndDestroy(); // avatarHandler
-            break;
-            }
-       case ECmdDefaultAvatar:
-            {
-            ChangeOwnAvatarL( KNullDesC , KNullDesC8 );
-            break;
-            }        
-
-        case ECmdCloseConversation:
-            {
-            CloseConversationL();
-            break;
-            }
-    	case ECmdChangeConnectioninWaitingState:
-		case ECmdChangeConnectioninOnlineState:
-			{
-			iEngine.ChangeConnectionL();
-			break;	
-			}
-		case ECmdBlock:        
-            {
-            if( iContainer )
-                {
-                iContainer->SetClrFindPaneFlag(EFalse);
-                }
-            BlockContactL(ETrue);
-            break;
-            }
-		case ECmdUnBlock:        
-            {
-            if( iContainer )
-                {
-                iContainer->SetClrFindPaneFlag(EFalse);
-                }
-            BlockContactL();
-            break;
-            }
-        case ECmdGetBlockedList:
-	        {
-			ShowBlockedContactListL();
-			break;
-	        }
-        case ECmdAIWAddToContact:
-       	case ECmdAIWLinkToContact:
-        	{
-            CreateOrLinkToPhoneBookL(aCommand);
-           	break;	
-        	}
-       	case ECmdContactAddAsFriend:
-       	    {
-       	    TInt index = KErrNotFound;                        
-       	    if (iContainer)
-       	        {               
-       	        index = iContainer->CurrentItemIndex(); 
-       	        }
-       	    MVIMPSTProcessArray& arrayprocess = iCommandHandler.GetProcessInterface();
-       	    TVIMPSTEnums::TItem itemType = arrayprocess.GetType( index );
-       	    if( itemType ==  TVIMPSTEnums::EUnknonContactItem ) 
-       	        {
-       	        TPtrC userId = arrayprocess.GetItemUserId( index );
-       	        AddContactL( R_IM_ADD_CONTACT_MANUAL_QUERY , userId );
-       	        }
-       	    break;
-       	    }
-			       	case EAknCmdHideInBackground:
-       	    {
-       	    //in case of EAknCmdHideInBackground phonebook be in 
-       	    //background and all the child application should close
-
-       	    if(iConnection)//  close connection to close cca
-       	        {
-       	        iConnection->Close();
-       	        iConnection = NULL;
-       	        }
-       	    if (iServiceHandler)//reset selectionhandler so that it closes all the phonebook forms if open
-       	        {
-       	        iServiceHandler->Reset();
-       	        iIsServiceHandleReSet = ETrue;
-       	        }
-       	    
-            Pbk2AppUi()->HandleCommandL( aCommand );
-
-       	    break;
-       	    }
-        default:
-            {
-            Pbk2AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::DoActivateViewL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::DoActivateViewL( const TVwsViewId& aPrevViewId,
-        TUid /*aCustomMessageId*/,
-        const TDesC8& aCustomMessage)
-    {	
-    // When ST is launched from widget or universal indicator plugin
-    // user clicks twice continuously, then DoActivateL is called
-    // twice, as iContainer is NULL since construction is not complete
-    // then it creates two controls (containers), hence to avoid this
-    // situation, we are checking if construction of iContainer has 
-    // started, then we ignore DoActivateL second time.  
-    MPbk2ViewActivationTransaction* viewActivationTransaction =
-    Pbk2AppUi()->Pbk2ViewExplorer()->HandleViewActivationLC(
-            iView.Id(),
-            aPrevViewId,
-            &iEngine.ServiceName(),
-            NULL,
-            EUpdateAll );
-
-    // Notifies startup monitor of view activation
-    if( Pbk2AppUi()->Pbk2StartupMonitor() )
-        {
-        Pbk2AppUi()->Pbk2StartupMonitor()->
-        NotifyViewActivationL( iView.Id() );
-        }
-    
-    iView.Cba()->SetCommandSetL( R_IM_CONTACTS_TABBED_VIEW_SOFTKEYS );
-	
-	ReadAndSetOwnUserIdL();
-
-    if (!iContainer&& !iContainerCreationStarted)
-        {
-        iContainerCreationStarted = ETrue;
-        iContainer = MVIMPSTUiTabbedViewControlFactory::NewTabControlL(*this,
-                &iView,iCommandHandler, iServiceId,
-                *iBrandHandler, iEngine);
-        // take the control pointer
-        CCoeControl* cCoeControl = iContainer->CoeControl();
-        iAppUi->AddToStackL( iView, cCoeControl );
-        cCoeControl->SetMopParent( &iView );        
-        cCoeControl->SetRect( iView.ClientRect() ); 
-        cCoeControl->ActivateL();
-        } 
-     iStatusPaneHandler->SetTextL( iEngine.ServiceName() );
-    // Commit application-wide state changes
-    viewActivationTransaction->Commit();
-    CleanupStack::PopAndDestroy(); //viewActivationTransaction    
-    
-    //CreateToolBarL();
-    
-    if(TVIMPSTEnums::ESVCERegistered  == iEngine.ServiceState())
-        {
-        if(iIsToolBarHidden)
-            {
-            ShowHideFixedToolbarL(ETrue);
-            }
-        }
-    else
-        {
-        if(!iIsToolBarHidden)
-            {
-            ShowHideFixedToolbarL(EFalse);
-            }
-        }
-    
-    if(iContainer && iFocussedIDHistory )
-        {
-        iContainer->SetFocussedId( iFocussedIDHistory->Des() );
-        } 
-    
-    /*
-     * aCustomMessage has following format if it is coming from Service Widget
-     * when you click on widget 
-     * we need to unpack data in similar format 
-     * version number --> stream.WriteInt8L(1);
-     * EEnd --> stream.WriteInt8L( 0 );
-     * Service Id --> stream.WriteInt32L( iServiceId );
-     * 
-     * If function call is coming from other than service widget then 
-     * aCustomMessage will not have data in above format
-     */
-    
-    if(aCustomMessage.Length())
-        {        
-        RDesReadStream stream( aCustomMessage);
-        stream.PushL();
-        TInt serviceId = KErrNotFound;
-        TRAP_IGNORE( const TUint versionNumber = stream.ReadUint8L(); //equal to 1
-        TInt type = stream.ReadInt8L(); // equal to eend
-        serviceId = stream.ReadInt32L(); );
-        CleanupStack::PopAndDestroy();//stream
-        if( serviceId ==  iServiceId  )
-            {
-            // this case will get excuted only when there is 
-            // fresh login from service widget for first time only
-            // uid has been taken for autologin 
-            // if the service id is matches to aCustomMessage 
-            // it is auto login ,called from service widget
-            // start the login procedure            
-            LoginL();            
-            }       
-        }
-    UpdateToolbarL();	
-    }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::DoDeactivate
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::DoDeactivate()
-    {
-
-    if(iFixedToolbar)
-        {
-        iIsToolBarHidden = ETrue;
-        delete iFixedToolbar;
-        iFixedToolbar = NULL;
-        }   
-    
-    if (iContainer)
-        {   
-        delete iFocussedIDHistory;
-    	iFocussedIDHistory = NULL;
-        TRAP_IGNORE( iFocussedIDHistory = iContainer->GetFocussedId().AllocL() );
-        iAppUi->RemoveFromStack( iContainer->CoeControl() );
-        delete iContainer;
-        iContainer = NULL;
-        iContainerCreationStarted = EFalse;
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleForegroundEventL
-// --------------------------------------------------------------------------
-// 
-TAny* CVIMPSTUiTabbedView::UIExtensionViewExtension(
-                TUid aExtensionUid )
-    {
-    if (aExtensionUid == KMPbk2UIExtensionView2Uid)
-        {
-        return static_cast<MPbk2UIExtensionView2*>(this);
-        }
-    return NULL;
-    }
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleForegroundEventL
-// --------------------------------------------------------------------------
-//
- 
- void CVIMPSTUiTabbedView::HandleForegroundEventL(TBool aForeground)
-	 {
-	 if( aForeground && TVIMPSTEnums::ESVCENotRegistered == iEngine.ServiceState() )
-		 {
-		 // user might has changed the setting read the new and refresh the view
-		 // user can change setting in offline only
-		 ReadAndSetOwnUserIdL();	
-		 }
-	 }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleCommandKeyL
-// --------------------------------------------------------------------------
-//
-TBool CVIMPSTUiTabbedView::HandleCommandKeyL(const TKeyEvent& aKeyEvent, TEventCode /*aType*/)
-    {
-    TBool result = EFalse;
-    switch (aKeyEvent.iCode)
-        {        
-        default:
-            {
-            break;
-            }
-        }
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleStatusPaneSizeChange
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::HandleStatusPaneSizeChange()
-    {
-    // Resize the container to fill the client rectangle
-    if (iContainer)
-        {
-        iContainer->CoeControl()->SetRect( iView.ClientRect() );         
-        }
-    }    
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::CommandHandlerL
-// --------------------------------------------------------------------------
-//
-MVIMPSTCmdHandler& CVIMPSTUiTabbedView::CommandHandlerL()
-    {    
-    return iCommandHandler;
-    }
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::CommandFinishedL
-// --------------------------------------------------------------------------
-//
-
-void CVIMPSTUiTabbedView::CommandFinishedL(
-        const MVIMPSTCmd& aCommand )
-    {
-
-    //handle the observer for commands issues thro HandleCommandL()
-
-    switch (aCommand.CommandId())
-        {
-        case ELoginService:
-            {
-            //login command is complete
-            //use aCommand.Result() to get the data     
-            //Ownership is not given to the caller            
-            break;
-            }
-        case ELogoutService:
-            {
-            //logout command is complete
-            //use aCommand.Result() to get the data 
-            //Ownership is not given to the caller               
-            break;
-            } 
-        case ECmdProcessAcceptedContactNew: // accept create new 
-        case ECmdProcessAcceptedContactExist: // update existing
-        case ECmdProcessSelectedContactNew: 
-        case ECmdProcessSelectedContactExist:// add from phonebook
-        case EAddContact:
-            {
-            //addcontact command is complete
-            //use aCommand.Result() to get the data 
-            //Ownership is not given to the caller
-            //some error occured.
-            if (iWaitNote)
-                {
-                delete iWaitNote;
-                iWaitNote = NULL;   
-                }
-            if(aCommand.Result() != KErrNone) 
-                {
-                ShowErrorNoteL( aCommand.Result() );
-                }
-            break;
-            } 
-        case EDeleteContact:
-            {
-            //addcontact command is complete
-            //use aCommand.Result() to get the data 
-            //Ownership is not given to the caller  
-            //some error occured.
-            if (iWaitNote)
-                {
-                delete iWaitNote;
-                iWaitNote = NULL;   
-                }
-            if(aCommand.Result() != KErrNone) 
-                {
-                HBufC* prompt = NULL;
-                prompt = StringLoader::LoadLC( R_IM_ERROR_SERVICE_ERR  );
-                TInt ret( VIMPSTUtilsDialog::DisplayErrorNoteL( *prompt ) );
-                CleanupStack::PopAndDestroy(prompt);
-                }
-            break;
-            } 
-        case EChangeOwnStatus: 
-            {
-            TInt error = aCommand.Result();
-            if( KErrNone == error )
-                {
-                // show confirmation note
-                HBufC* text = CEikonEnv::Static()->AllocReadResourceLC( R_QTN_CHAT_CHANGE_STATUS_CHANGED );
-                CAknConfirmationNote* dlg = new( ELeave )CAknConfirmationNote();
-                dlg->ExecuteLD( *text );
-                CleanupStack::PopAndDestroy( text );
-                //get the status from the engine and update in the ui.
-                if(iContainer)
-                    {
-                    iContainer->HandleItemAdditionL();
-                    }
-
-                }
-            else if( KErrCancel == error )
-                {
-                // user cancelled, status was not updated
-                HBufC* text = NULL;
-                text = StringLoader::LoadLC( R_QTN_IM_CHANGE_STATUS_NOT_CHANGED );
-                VIMPSTUtilsDialog::DisplayNoteDialogL( *text  );
-                CleanupStack::PopAndDestroy(); //onlineText
-                }
-            else
-                {
-                // change status failed
-                HBufC* failed = StringLoader::LoadLC( R_QTN_CHAT_CHANGE_STATUS_FAILED );
-                VIMPSTUtilsDialog::DisplayErrorNoteL( *failed );
-                CleanupStack::PopAndDestroy( failed );
-                }
-            break;
-            }
-        case EChangeOwnMessage:
-            {
-            TInt error = aCommand.Result();
-            if( KErrNone == error )
-                {
-                // show note qtn_chat_change_message_changing
-                HBufC* prompt = NULL;
-                prompt = StringLoader::LoadLC( R_QTN_CHAT_CHANGE_MESSAGE_CHANGED );
-                VIMPSTUtilsDialog::DisplayNoteDialogL( *prompt);
-                CleanupStack::PopAndDestroy(prompt);
-                }
-            else if( KErrCancel == error)
-                {
-                HBufC* prompt = NULL;
-                prompt = StringLoader::LoadLC( R_QTN_IM_CHANGE_STATUS_NOT_CHANGED );
-                VIMPSTUtilsDialog::DisplayNoteDialogL( *prompt);
-                CleanupStack::PopAndDestroy(prompt);
-                }
-            else
-                {
-                HBufC* prompt = NULL;
-                prompt = StringLoader::LoadLC( R_QTN_CHAT_CHANGE_MESSAGE_FAILED );
-                VIMPSTUtilsDialog::DisplayNoteDialogL(*prompt );
-                CleanupStack::PopAndDestroy(prompt);
-                }
-
-            break;
-            }
-        case ESearch:
-            {
-            // Search command is complete
-            //use aCommand.Result() to get the data 
-            if(iWaitNote)
-                {
-                delete iWaitNote;
-                iWaitNote = NULL;	
-                }
-            if(aCommand.Result() != KErrNone) 
-                {
-                HBufC* prompt = NULL;
-                prompt = StringLoader::LoadLC(R_QTN_CHAT_ERROR_NOT_SUP_FUNCTIONS );
-                VIMPSTUtilsDialog::DisplayErrorNoteL( *prompt ) ;
-                CleanupStack::PopAndDestroy(prompt);
-                LaunchViewL(iExtensionService.TabbedViewId());
-                } 
-            }
-        case EFriendRejected:
-        case EFriendAccpeted:
-            {
-            if(iWaitNote)
-          	     {
-          	     delete iWaitNote;
-          	     iWaitNote = NULL;   
-          	     }
-		    if( ( aCommand.Result() != KErrNone ) && ( aCommand.CommandId() == EFriendAccpeted  ) ) 
-                {
-                HBufC* prompt = StringLoader::LoadLC( R_QTN_SERVTAB_SAVING_CONTACT_FAILED );
-                VIMPSTUtilsDialog::DisplayErrorNoteL( *prompt ) ;
-                CleanupStack::PopAndDestroy(prompt);
-                } 
-            break;
-            }
-        case EChangeOwnAvtar:
-            {
-            if(aCommand.Result() == KErrNone)  // successfull show confirmation note
-                {
-                if(iWaitNote)
-                    {
-                    delete iWaitNote;
-                    iWaitNote = NULL;   
-                    }
-                } 
-            else  // show error note
-                {
-                HBufC* prompt  = StringLoader::LoadLC( R_QTN_SERVTAB_ERROR_UPDATE_AVATAR );
-                VIMPSTUtilsDialog::DisplayErrorNoteL( *prompt ) ;
-                CleanupStack::PopAndDestroy(prompt);
-                }
-            break;
-            }
-        case ECmdBlockContact:
-           {
-           //blockcontact command is complete
-           //use aCommand.Result() to get the data 
-           //Ownership is not given to the caller  
-           //some error occured.
-           if(iWaitNote)
-               {
-               delete iWaitNote;
-               iWaitNote = NULL;   
-               }
-           if(aCommand.Result() != KErrNone) 
-               {
-               HBufC* prompt = NULL;
-               prompt = StringLoader::LoadLC( R_QTN_CHAT_BLOCKING_FAILED  );
-               TInt ret( VIMPSTUtilsDialog::DisplayErrorNoteL( *prompt ) );
-               CleanupStack::PopAndDestroy(prompt);
-               }
-           break;
-           } 
-        case ECmdUnBlockContact:
-           {
-           if(iWaitNote)
-               {
-               delete iWaitNote;
-               iWaitNote = NULL;   
-               }
-           //unblockcontact command is complete
-           //use aCommand.Result() to get the data 
-           //Ownership is not given to the caller  
-           //some error occured.
-           if(aCommand.Result() != KErrNone) 
-               {
-               HBufC* prompt = NULL;
-               prompt = StringLoader::LoadLC( R_QTN_CHAT_UNBLOCKING_FAILED  );
-               TInt ret( VIMPSTUtilsDialog::DisplayErrorNoteL( *prompt ) );
-               CleanupStack::PopAndDestroy(prompt);
-               }
-           break;
-           } 
-        default:
-            { 
-            //should never be here.           
-            break;
-            }
-        }
-    }
-    
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ShowErrorNoteL
-// --------------------------------------------------------------------------
-void CVIMPSTUiTabbedView::ShowErrorNoteL(TInt aError )
-	{
-	HBufC* textResource = NULL;
-	switch( aError)
-		{
-		case EErrExistInBlockList:
-			{
-			textResource = StringLoader::LoadLC( R_QTN_SERVTAB_ADD_FRIEND_BLOCKED);
-			break;	
-			}
-		case KErrAlreadyExists :
-		case EErrExistInContactList:
-			{
-			textResource = StringLoader::LoadLC( R_QTN_SERTAB_CONTACT_ALREADY_EXISTS_ERROR_NOTE);
-			break;	
-			}
-		default :
-			{
-			textResource = StringLoader::LoadLC( R_QTN_SERVTAB_SAVING_CONTACT_FAILED );
-			break;	
-			}
-		}
-	if( textResource )
-		{
-		CAknInformationNote* note = new ( ELeave ) CAknInformationNote;
-		note->ExecuteLD( *textResource );
-		CleanupStack::PopAndDestroy( textResource );
-		}
-	}
-    
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleCommandEventL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::HandleCommandEventL(TVIMPSTEnums::TVIMPSTRegistrationState aState, TInt /*aServiceError*/) 
-    {    
-    switch (aState)	
-        {
-        case TVIMPSTEnums::ESVCERegistered:
-            {
-            // this is to make sure that it always has the user id
-            // some services they do not have the user id in offline case
-            // like skype ,get the user if service is logged in
-            if( !iUserId || iUserId->Length() == 0 )
-	            {
-	            // read if user id is empty only
-	            ReadAndSetOwnUserIdL();	
-	            }
-            TInt isSuccessfulLogin = 0;
-            iSettingsStore->GetL(iServiceId, EServiceSuccessfullLogin, isSuccessfulLogin);
-            if(!isSuccessfulLogin)
-                {
-                isSuccessfulLogin = 1;
-                iSettingsStore->SetL(iServiceId, EServiceSuccessfullLogin, isSuccessfulLogin);
-                }
-            if(iIsToolBarHidden)
-                {
-                ShowHideFixedToolbarL(ETrue);
-                }
-            break;
-            }
-        case TVIMPSTEnums::ESVCENotRegistered:
-            {
-             // might user has choosen some diff user id while login
-            // set to store and engine etc
-            ReadAndSetOwnUserIdL();
-        	
-		 	// no need to hide the tool bar here as its already called while in the 
-		 	// disconnecting state.
-		 	// assume in some cornere scenario, where network is lost, and the ui does not 
-		 	// get a callback for disconnecting state then we need to call hidetoolbar in this case.
-		 	// hence the flag iIsToolBarHidden will set it when ever the tool bar is hidden 
-		 	if(!iIsToolBarHidden)
-		 	    {
-		 	    ShowHideFixedToolbarL(EFalse);
-		 	    }
-            break;	
-            }
-        case TVIMPSTEnums::ESVCENetworkConnecting:
-            {
-            // might user has choosen some diff user id while login
-            // set to store and engine etc
-            ReadAndSetOwnUserIdL();
-            break;
-            }
-        case TVIMPSTEnums::ESVCEWaitingForNetwork:
-            {
-            break;
-            }
-        case TVIMPSTEnums::ESVCENetworkDisConnecting:
-            {
-            if(!iIsToolBarHidden)
-                {
-                ShowHideFixedToolbarL(EFalse);
-                }
-            break;
-            }
-        case TVIMPSTEnums::ESVCEUpdatingContacts:
-            {
-            // might user has choosen some diff user id while login
-            // set to store and engine etc 
-            // this is to make sure that it always has the user id
-            // some services they do not have the user id in offline case
-            // like skype ,get the user if service is logged in
-            if( !iUserId || iUserId->Length() == 0 )
-	            {
-	            // read if user id is empty only
-	            ReadAndSetOwnUserIdL();	
-	            }
-            break;
-            }	
-        default:
-            {
-            //should never be here.
-            break;
-            }
-
-        }
-    if(iContainer)
-        {
-        iContainer->HandleItemAdditionL();        
-        }
-
-    }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::CurrentItemIndex
-// --------------------------------------------------------------------------
-//
-TInt CVIMPSTUiTabbedView:: CurrentItemIndex()
-    {
-    TInt index = KErrNone;
-    iContainer?(index = iContainer->CurrentItemIndex()):(index = KErrNotFound);
-    return index;
-    }
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ReadAndSetOwnUserIdL()
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::ReadAndSetOwnUserIdL()
-    {
-    if( iUserId )
-		{
-		delete iUserId;	
-		iUserId = NULL;
-		}
- 	iUserId = iEngine.GetOwnUserIdFromCChOrStorageL();
- 	iEngine.SetOwnUserIdIfChangedL( *iUserId );
-    }
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::AddContactL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::AddContactL( const TInt aResouceId, const TDesC& aUserId )
-    {
-    MVIMPSTStorageServiceView* storage = CVIMPSTStorageManagerFactory::ContactListInterfaceL(iServiceId);    
-    if (storage)
-        {
-        if (!storage->IsLocalStore())
-            {
-            HBufC* userid = HBufC::NewL(KUsernameMaxLength);
-    		CleanupStack::PushL( userid );
-    		TPtr useridPtr( userid->Des() );
-			
-            useridPtr.Copy( aUserId.Left( KUsernameMaxLength ) );
-            TInt result = 0;
-            if( useridPtr == KNullDesC )
-                {
-                CAknTextQueryDialog* dlg = CAknTextQueryDialog::NewL( useridPtr, CAknQueryDialog::ENoTone );
-                dlg->SetPredictiveTextInputPermitted( ETrue ); // T9
-                result = dlg->ExecuteLD( aResouceId );
-                }
-            if( ( result == EAknSoftkeyOk ) || ( result == EAknSoftkeyYes )  || ( useridPtr != KNullDesC ) )
-                {
-                TPtrC ownUserId = storage->OwnContactL().UserId();
-                if(useridPtr.Compare( ownUserId ) == 0) //Do not add own data item to contact list
-                    {
-                    //show note "Own Data Item cannot be added"
-                    HBufC* failed = StringLoader::LoadLC( R_QTN_SERVTAB_ERROR_ADDOWN );
-                    VIMPSTUtilsDialog::DisplayErrorNoteL( *failed );
-                    CleanupStack::PopAndDestroy( failed );
-                    }
-                else
-                    {
-                    CVIMPSTUtilsWaitNote* note = CVIMPSTUtilsWaitNote::ShowWaitNoteLC( R_QTN_SERVTAB_SAVING_CONTACT ,ETrue);
-                    iCommandHandler.HandleCommandL(EAddContact, this, userid ); 
-                    CleanupStack::PopAndDestroy( note );
-                    }
-             	}
-		    CleanupStack::PopAndDestroy(userid);
-            }
-    else // server store
-               
-        {
-                ////////////////////////////////////////////
-                ReInitializeServiceHandlerL();
-                TUint assignFlags = 0;
-                //for unknown item createnew/update existing querry is shown
-                // check whether the selected contact is unknown
-                if( iCommandHandler.GetProcessInterface().GetType(iContainer->CurrentItemIndex()) ==  TVIMPSTEnums::EUnknonContactItem ) 
-                    {
-                    iSelectedAction = ShowNewUpdateQueryL();
-                    if(CVIMPSTUiTabbedView::EInvitAcceptCreateNew == iSelectedAction )//create new 
-                        {
-                        assignFlags |= ECreateNewContact;
-                        iSelectedAction = EContactCreateNew;
-                        }
-                    else if(CVIMPSTUiTabbedView::EInvitAcceptUpdateExisting == iSelectedAction ) // update existing
-                        {
-                        iSelectedAction = EContactAddFromContacts;
-                        }
-                    else // selected cancle option
-                        {
-                        return;
-                        }
-                    }
-                else // not unknown contact
-                    {
-                    iSelectedAction = EContactCreateNew;
-                    assignFlags |= ECreateNewContact;
-                    }
-                //show the phonebook dialog for create new/update existing option
-    if(iAiwParamList)
-        {
-    delete iAiwParamList;
-    iAiwParamList = NULL;
-                }        
-            iAiwParamList = CAiwGenericParamList::NewL();
-            iAiwParamList->AppendL(
-                    TAiwGenericParam(
-                            EGenericParamContactAssignData,
-                            TAiwVariant(TAiwSingleContactAssignDataV1Pckg(
-                                    TAiwSingleContactAssignDataV1().SetFlags( assignFlags )))));
-            
-            if( aUserId.Length() > 0 )
-                {
-                // add user id in impp field
-                TBuf<KBufLen> xspId; //xsp max length
-                xspId.Append(iEngine.ServiceName());
-                xspId.Append(KColon);
-                xspId.Append(aUserId);
-
-                iAiwParamList->AppendL(
-                        TAiwGenericParam(
-                                EGenericParamXSpId,
-                                TAiwVariant(xspId) ) );
-                }
-            iServiceHandler->ExecuteServiceCmdL(
-                    KAiwCmdAssign,
-                    *iAiwParamList,
-                    iServiceHandler->OutParamListL(),
-                    0,
-                    this);
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::CreateOrLinkToPhoneBookL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::CreateOrLinkToPhoneBookL(TInt aCommand )
-	{
-	TInt index = CurrentItemIndex();
-	if( index <= 0 )
-		{
-		return;
-		}
-	TUint assignFlags = 0;
-    if(ECmdAIWAddToContact == aCommand )//create new option
-        {
-        assignFlags |= ECreateNewContact;
-        }
-	TPtrC itemUserId = iCommandHandler.GetProcessInterface().GetItemUserId(index) ;
-	if(iAiwParamList)
-		{
-		delete iAiwParamList;
-		iAiwParamList = NULL;
-		}   
-	iAiwParamList = CAiwGenericParamList::NewL();
-	iAiwParamList->AppendL(
-	TAiwGenericParam(
-	EGenericParamContactAssignData,
-	TAiwVariant(TAiwSingleContactAssignDataV1Pckg(
-	TAiwSingleContactAssignDataV1().SetFlags( assignFlags )))));
-
-	TBuf<KBufLen> xspid;
-	xspid.Append(iEngine.ServiceName());
-	xspid.Append(KColon);
-	xspid.Append(itemUserId);
-	ReInitializeServiceHandlerL();
-	iAiwParamList->AppendL(
-						TAiwGenericParam(
-						EGenericParamXSpId,
-						TAiwVariant(xspid))  );
-
-	iServiceHandler->ExecuteServiceCmdL( KAiwCmdAssign,
-					                     *iAiwParamList,
-					                     iServiceHandler->OutParamListL(),
-					                     0,
-					                     this);
-	}
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::EditContactL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::EditContactL()
-    {
-    MVIMPSTStorageServiceView* storage = CVIMPSTStorageManagerFactory::ContactListInterfaceL(iServiceId);    
-    if (storage)
-        {        
-        if( storage->IsLocalStore())
-            {
-            iSelectedAction = KErrNotFound;
-            TInt index = CurrentItemIndex();
-        	MVPbkContactLink* contactLink = iCommandHandler.GetProcessInterface().ContactLink(index);        	
-        	//show the phonebook dialog for edit existing data
-            if(iAiwParamList)
-                {
-                delete iAiwParamList;
-                iAiwParamList = NULL;
-                }        
-            iAiwParamList = CAiwGenericParamList::NewL();
-			iAiwParamList->AppendL(
-                    TAiwGenericParam(
-                            EGenericParamContactAssignData,
-                            TAiwVariant(TAiwSingleContactAssignDataV1Pckg(
-                                    TAiwSingleContactAssignDataV1().SetFlags( EskipInfoNotes )))));
-
-			HBufC8* packedLinks = contactLink->PackLC();
-		    iAiwParamList->AppendL(
-                    TAiwGenericParam(
-                            EGenericParamContactLinkArray,
-                            TAiwVariant(*packedLinks) ) );
-		    ReInitializeServiceHandlerL();
-
-            iServiceHandler->ExecuteServiceCmdL(
-                    KAiwCmdAssign,
-                    *iAiwParamList,
-                    iServiceHandler->OutParamListL(),
-                    0,
-                    this);
-		    CleanupStack::PopAndDestroy(); // packedLinks
-            }
-       }
-    }
-
-
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::AddContactL
-// --------------------------------------------------------------------------
-void CVIMPSTUiTabbedView::AddContactL(RPointerArray<HBufC> aContacts)
-    {
-    TInt count = aContacts.Count();
-
-    switch( count )
-        {
-        case 0://no xsp found.
-            {
-            //launch add manually dialog.
-            AddContactL( R_IM_ADD_CONTACT_MANUAL_QUERY );//to do replace with some thing else.
-            break;
-            }
-        case 1://1 xsp foud.
-            {
-            //add new contact.
-            HBufC* xspId = aContacts[0];
-            AddContactL( R_IM_ADD_CONTACT_MANUAL_QUERY, *xspId );
-            break;
-            }
-        default :// > 1 xsp found.
-            {
-            //show single selection dialog
-            TInt selectionIndex = 0;
-            CDesCArray* xspIds = new( ELeave )CDesCArrayFlat( count );
-            CleanupStack::PushL( xspIds );
-
-            //add all xsp(s) from aContacts to xspIds.
-            for( TInt i = 0 ; i < count ; i++ )
-                {
-                xspIds->AppendL( *aContacts[i] );
-                }
-
-            HBufC* titleText = StringLoader::LoadLC( R_QTN_SERVTAB_SELECT_USER );
-
-            TInt ret = VIMPSTUtilsDialog::DisplayListQueryDialogL( &selectionIndex,
-                    xspIds,
-                    R_IM_LIST_SELECT_STATUS_MESSAGE_DLG,
-                    *titleText,
-                    KNullDesC,
-                    ETrue );
-            CleanupStack::PopAndDestroy( titleText );
-
-
-            if ( ret == EAknSoftkeyOk || ret == EAknSoftkeyDone || ret == EAknSoftkeySelect )
-                {
-                TPtrC selectedXspid = (*xspIds)[selectionIndex];
-                AddContactL( R_IM_ADD_CONTACT_MANUAL_QUERY, selectedXspid );
-                }
-            CleanupStack::PopAndDestroy(xspIds);
-            break;
-            }
-        }    
-    }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::CopyToPhoneBookL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::CopyToPhoneBookL()
-    {
-    TInt index = CurrentItemIndex();
-
-    TPtrC name( KNullDesC );
-    if( index <= 0 )
-        {
-        // return if item not found
-        return; 
-        }
-
-    TPtrC seletctedItem = iCommandHandler.GetProcessInterface().GetItemUserId(index) ;
-
-    MVIMPSTStorageServiceView* storage = CVIMPSTStorageManagerFactory::ContactListInterfaceL(iServiceId) ;
-    if(storage)
-        {
-        MVIMPSTStorageContact* contact = storage->FindContactByUserId(seletctedItem);
-        if(contact)
-            {
-            CVIMPSTUtilsWaitNote* note = CVIMPSTUtilsWaitNote::ShowWaitNoteLC( R_QTN_SERVTAB_SAVING_CONTACT ,ETrue);
-            iCommandHandler.HandleCommandL(EAddToPbk, this, contact );
-            CleanupStack::PopAndDestroy(note);
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::DeleteContactL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView:: DeleteContactL()
-    {
-    TInt index = CurrentItemIndex();
-    HBufC* deletePrompt = NULL;
-    TPtrC name( KNullDesC );
-
-    if(iContainer)
-        {
-        iContainer->CheckAndSetLastItemFlag();
-        }
-    if( index <= 0 )
-        {
-        // return if item not found
-        return;	
-        }
-
-    TPtrC seletctedItem = iCommandHandler.GetProcessInterface().GetItemUserId(index) ;
-    name.Set( seletctedItem );
-
-    deletePrompt = StringLoader::LoadLC( R_QTN_SERVTAB_DELETE_CONTACT, name, CCoeEnv::Static() );
-    TInt ret( VIMPSTUtilsDialog::DisplayQueryDialogL(R_GENERIC_YES_NO_CONFIRMATION_QUERY, *deletePrompt ) );
-    CleanupStack::PopAndDestroy( deletePrompt );
-
-    MVPbkContactLink* contactLink = iCommandHandler.GetProcessInterface().ContactLink(index);
-
-    if( ( ret == EAknSoftkeyOk ) || ( ret == EAknSoftkeyYes ) )
-        {
-        if(iWaitNote)
-            {
-            delete iWaitNote;
-            iWaitNote = NULL;
-            }
-        iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( R_QTN_CHAT_DELETING_CONTACT ,ETrue);
-        iCommandHandler.HandleCommandL(EDeleteContact, this, &contactLink );
-        }
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ChangeStatusProcessL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::ChangeStatusProcessL()
-    {
-    if( iEngine.ServiceState() )
-        {
-        // Check variation
-        TInt showAppearOffline = 1;
-        TInt showAway = 1 ;   
-        TInt showBusy = 1;
-
-        TInt awayIndex( 0 );
-        TInt busyIndex( 0 );
-        TInt appOfflineIndex( 0 );
-
-        // first icon is online
-        // calculate indexes for other icons
-        if ( showAway)
-            {
-            awayIndex++;
-            busyIndex++;
-            appOfflineIndex++;
-            }
-        else
-            {
-            awayIndex = -1;
-            }
-
-        if ( showBusy )
-            {
-            busyIndex++;
-            appOfflineIndex++;
-            }
-        else
-            {
-            busyIndex = -1;
-            }
-
-        if ( showAppearOffline )
-            {
-            appOfflineIndex++;
-            }
-        else
-            {
-            appOfflineIndex = -1;
-            }
-
-        TInt status( 0 );
-        CAknListQueryDialog* dlg = new ( ELeave )
-        CAknListQueryDialog( &status );
-        dlg->PrepareLC( R_IM_STATUS_CHANGE_DLG );
-
-        // Format the texts
-        // Create a array for texts
-        CDesCArray* listItemsArray =
-        new ( ELeave ) CDesCArrayFlat( KAmountOfOwnStatusStates );
-        CleanupStack::PushL( listItemsArray );
-
-        // Online
-        HBufC* onlineText = NULL;
-        onlineText = StringLoader::LoadLC( R_QTN_CHAT_CHANGE_OWN_ONLINE );
-
-        HBufC* itemTxtOnline =
-        HBufC::NewLC( KTabFormatLenght + onlineText->Length() );
-        TPtr itemTxtPtrOnline( itemTxtOnline->Des() );
-
-        itemTxtPtrOnline.Format( KTabFormat, KOnlineIconIndex );
-        itemTxtPtrOnline.Append( *onlineText );
-        listItemsArray->AppendL( itemTxtPtrOnline );
-        CleanupStack::PopAndDestroy( itemTxtOnline );
-        CleanupStack::PopAndDestroy( onlineText );
-
-        // Away
-        if ( showAway )
-            {
-            HBufC* awayText = NULL;
-            awayText = StringLoader::LoadLC( R_QTN_CHAT_CHANGE_OWN_AWAY );
-
-            HBufC* itemTxtAway = HBufC::NewLC(
-                    KTabFormatLenght + awayText->Length() );
-            TPtr itemTxtPtrAway( itemTxtAway->Des() );
-
-            itemTxtPtrAway.Format( KTabFormat, awayIndex );
-            itemTxtPtrAway.Append( *awayText );
-            listItemsArray->AppendL( itemTxtPtrAway );
-            CleanupStack::PopAndDestroy( itemTxtAway );
-            CleanupStack::PopAndDestroy( awayText );
-            }
-
-        // Busy
-        if ( showBusy )
-            {
-            HBufC* busyText = NULL;
-            busyText = StringLoader::LoadLC( R_QTN_SERVTAB_CHANGE_OWN_DND );
-
-            HBufC* itemTextBusy = HBufC::NewLC(
-                    KTabFormatLenght + busyText->Length() );
-            TPtr itemTxtPtrBusy( itemTextBusy->Des() );
-
-            itemTxtPtrBusy.Format( KTabFormat, busyIndex );
-            itemTxtPtrBusy.Append( *busyText );
-            listItemsArray->AppendL( itemTxtPtrBusy );
-            CleanupStack::PopAndDestroy( itemTextBusy );
-            CleanupStack::PopAndDestroy( busyText );
-            }
-        // Appear offline
-        if ( showAppearOffline )
-            {
-            HBufC* offlineText = NULL;
-            offlineText = StringLoader::LoadLC( R_QTN_CHAT_CHANGE_OWN_APPEAR_OFFLINE );
-
-            HBufC* itemTextOffline = HBufC::NewLC(
-                    KTabFormatLenght + offlineText->Length() );
-            TPtr itemTxtPtrOffline( itemTextOffline->Des() );
-
-            itemTxtPtrOffline.Format( KTabFormat, appOfflineIndex );
-            itemTxtPtrOffline.Append( *offlineText );
-            listItemsArray->AppendL( itemTxtPtrOffline );
-            CleanupStack::PopAndDestroy( itemTextOffline );
-            CleanupStack::PopAndDestroy( offlineText );
-            }
-
-        // Set the array
-        dlg->SetOwnershipType( ELbmOwnsItemArray );
-        CleanupStack::Pop( listItemsArray );
-        dlg->SetItemTextArray( listItemsArray );
-
-        // Add icons
-        CArrayPtr< CGulIcon >* icons = LoadOwnStatusIconsL();
-
-
-        dlg->SetIconArrayL( icons ); // transfers ownership
-        // TODO::get own status
-
-        // get dialog's listbox
-        CEikListBox* listBox = dlg->ListBox();
-
-        //listBox->SetCurrentItemIndex( 0 );
-
-        TInt result = dlg->RunLD();
-
-        //structure to pack status and status text.
-        TStatusAndStatusText statusAndSatatustext;
-
-        TInt error( KErrNone );
-        if ( ( result == EAknSoftkeyOk ) ||
-                ( result == EAknSoftkeySelect ) )
-            {
-            if ( status == 0 )                    
-                {
-                TInt autoStatusMsgEnabledForOnline = 1; /*IMUtils::IntResourceValueL( RSC_CHAT_VARIATION_ONLINE_AUTO );*/
-                if( autoStatusMsgEnabledForOnline )
-                    {
-                    error = AskStatusMessageL( TVIMPSTEnums::EOnline, EFalse );
-                    } 
-                if( error == KErrNone )
-                    {
-                    statusAndSatatustext.iStatus  = TVIMPSTEnums::EOnline;
-                    statusAndSatatustext.iStatusText.Copy(iStatusMessage->Des());
-                    CVIMPSTUtilsWaitNote* note = CVIMPSTUtilsWaitNote::ShowWaitNoteLC( R_QTN_CHAT_CHANGE_STATUS_CHANGING );
-                    error = iCommandHandler.HandleCommandL(EChangeOwnStatus, this, &statusAndSatatustext);
-                    CleanupStack::PopAndDestroy( note );
-                    }
-                }
-            else if ( status == awayIndex ) // Away 
-                { 
-                // can't get here unless Away is enabled  
-                TInt autoStatusMsgEnabledForAway = 1;
-                //IMUtils::IntResourceValueL( RSC_CHAT_VARIATION_AWAY_AUTO );
-                if( autoStatusMsgEnabledForAway )
-                    {                
-                    error = AskStatusMessageL( TVIMPSTEnums::EAway, EFalse );
-                    }
-                if( error == KErrNone )
-                    {
-                    statusAndSatatustext.iStatus  = TVIMPSTEnums::EAway;
-                    statusAndSatatustext.iStatusText.Copy(iStatusMessage->Des());
-                    CVIMPSTUtilsWaitNote* note = CVIMPSTUtilsWaitNote::ShowWaitNoteLC( R_QTN_CHAT_CHANGE_STATUS_CHANGING );
-                    error = iCommandHandler.HandleCommandL(EChangeOwnStatus, this, &statusAndSatatustext);
-                    CleanupStack::PopAndDestroy( note );
-                    }
-                }
-
-            else if ( status == busyIndex ) // Busy 
-                {
-                // can't get here unless Busy is enabled
-                TInt autoStatusMsgEnabledForBusy = 1;
-                //IMUtils::IntResourceValueL( RSC_CHAT_VARIATION_BUSY_AUTO  );
-                if( autoStatusMsgEnabledForBusy )
-                    {
-                    error = AskStatusMessageL( TVIMPSTEnums::EBusy, EFalse );
-                    }
-                if( error == KErrNone )
-                    {
-                    statusAndSatatustext.iStatus  = TVIMPSTEnums::EBusy;
-                    statusAndSatatustext.iStatusText.Copy(iStatusMessage->Des());
-                    CVIMPSTUtilsWaitNote* note = CVIMPSTUtilsWaitNote::ShowWaitNoteLC( R_QTN_CHAT_CHANGE_STATUS_CHANGING );
-                    error = iCommandHandler.HandleCommandL(EChangeOwnStatus, this, &statusAndSatatustext);
-                    CleanupStack::PopAndDestroy( note );
-
-                    }
-                }
-            else if ( status == appOfflineIndex ) //appearOffline
-                {
-
-                statusAndSatatustext.iStatus  = TVIMPSTEnums::EInvisible;
-                statusAndSatatustext.iStatusText.Copy(iStatusMessage->Des());
-                CVIMPSTUtilsWaitNote* note = CVIMPSTUtilsWaitNote::ShowWaitNoteLC( R_QTN_CHAT_CHANGE_STATUS_CHANGING );
-                error = iCommandHandler.HandleCommandL(EChangeOwnStatus, this, &statusAndSatatustext);
-                CleanupStack::PopAndDestroy( note );
-                }
-            else
-                {
-                HBufC* text = NULL;
-                text = StringLoader::LoadLC( R_QTN_IM_CHANGE_STATUS_NOT_CHANGED );
-                VIMPSTUtilsDialog::DisplayNoteDialogL( *text );
-                CleanupStack::PopAndDestroy( text );
-                }
-            //iUISessionManager->SetStatusPaneIconsL();
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::LoadOwnStatusIconsL
-// ---------------------------------------------------------
-//
-CAknIconArray* CVIMPSTUiTabbedView::LoadOwnStatusIconsL()
-    {
-
-    CAknIconArray* icons = iBrandHandler->LoadOwnStatusIconsLC();
-    CleanupStack::Pop( icons );
-    return icons;
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::AskStatusMessageL()
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CVIMPSTUiTabbedView::AskStatusMessageL( TVIMPSTEnums::TOnlineStatus aStatus,
-        TBool aUpdateToNetwork )
-    {
-    CDesCArray* statusMessages = new( ELeave )CDesCArrayFlat(4);
-    CleanupStack::PushL( statusMessages );
-
-    HBufC* firstLine = StringLoader::LoadLC( R_QTN_CHAT_CHANGE_NEW_MESSAGE );
-    statusMessages->AppendL( *firstLine );
-    CleanupStack::PopAndDestroy( firstLine );
-
-    // Read status messages
-    ReadStatusMessagesL( *statusMessages, aStatus );
-
-    // show the query
-    TInt selectionIndex( statusMessages->Count() > 1 ? 1 : 0 );
-
-    // Force to continue if selection query is not shown
-    TInt ret = EAknSoftkeyOk;
-
-    if( selectionIndex == 1 )
-        {
-        // There were previous status messages, show selection query
-        HBufC* titleText = StringLoader::LoadLC( R_QTN_CHAT_CHANGE_SELECT_MESSAGE );
-        ret = VIMPSTUtilsDialog::DisplayListQueryDialogL( &selectionIndex, statusMessages,
-                R_IM_LIST_SELECT_STATUS_MESSAGE_DLG,
-                *titleText, KNullDesC, ETrue );
-        CleanupStack::PopAndDestroy( titleText );
-        }
-
-    if ( !( ret == EAknSoftkeyOk || ret == EAknSoftkeyDone || ret == EAknSoftkeySelect ) )
-        {
-        CleanupStack::PopAndDestroy( statusMessages );
-        return KErrCancel;
-        }
-
-    TPtr statusTxt( iStatusMessage->Des() );
-    statusTxt.Zero();
-
-    if( selectionIndex != 0 )
-        {
-        statusTxt.Copy( ( *statusMessages) [ selectionIndex ] );
-        }
-
-    TInt result = VIMPSTUtilsDialog::DisplayTextQueryDialogL(
-            statusTxt ,
-            R_QTN_CHAT_CHANGE_STATUS_MESSAGE,
-            R_IM_ENTER_STATUS_MESSAGE_QUERY,
-            ETrue, // T9
-            ETrue // LSK always visible
-    );
-
-    if ( (result == EAknSoftkeyOk || result == EAknSoftkeyDone )&&(iEngine.ServiceState()))
-        {
-
-        // Delete first line.
-        statusMessages->Delete( 0 );
-        statusMessages->InsertL( 0, statusTxt );
-        WriteStatusMessagesL( *statusMessages, aStatus );            
-        if( aUpdateToNetwork ) 
-            {
-            CVIMPSTUtilsWaitNote* note = CVIMPSTUtilsWaitNote::ShowWaitNoteLC( R_QTN_CHAT_CHANGE_MESSAGE_CHANGING );
-            //structure to pack status and status text.
-            TStatusAndStatusText statusAndSatatustext;
-            statusAndSatatustext.iStatus  = aStatus;
-            statusAndSatatustext.iStatusText.Copy( statusTxt );
-            iCommandHandler.HandleCommandL(EChangeOwnMessage, this, &statusAndSatatustext);
-            CleanupStack::PopAndDestroy( note );
-            }
-        }
-    else
-        {
-        CleanupStack::PopAndDestroy();//statusMessages
-        return KErrCancel;
-        }
-    CleanupStack::PopAndDestroy(); //statusMessages
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ReadStatusMessagesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::ReadStatusMessagesL( CDesCArray& aArray, TVIMPSTEnums::TOnlineStatus aStatus)
-    {
-    RBuf buffer;
-    buffer.CreateL( RProperty::KMaxPropertySize );
-    CleanupClosePushL( buffer );
-            TInt err(KErrNone);
-            switch ( aStatus )
-                {
-                case TVIMPSTEnums::EOnline:
-                    {
-                    err = iSettingsStore->GetL( iServiceId, EServiceOwnStatusMessagesOnline, buffer ); 
-                    break;
-                    }
-                case TVIMPSTEnums::EBusy:
-                    {
-                    err = iSettingsStore->GetL( iServiceId, EServiceOwnStatusMessagesBusy, buffer ); 
-                    break;
-                    }
-                case TVIMPSTEnums::EAway:
-                    {
-                    err = iSettingsStore->GetL( iServiceId, EServiceOwnStatusMessagesAway, buffer ); 
-                    break;
-                    }
-                }
-    TBuf< KStatusMessageHeaderLength > header;
-
-    TInt countOfMessages( 0 );
-    TInt offset( 1 ); // First character is for header length
-    TInt headerLength( 0 );
-    if( err == KErrNone && buffer.Length() )
-        {
-        TLex lexer( buffer.Left( 1 ) );
-        err = lexer.Val( headerLength );
-        }
-    else
-        {
-        err = KErrEof;
-        }
-    while( err == KErrNone && countOfMessages < KMaxStatusMessageCount )
-        {
-        TPtrC ptr( buffer.Mid( offset ) );
-        if( ptr.Length() > headerLength )
-            {
-            header.Copy( ptr.Left( headerLength ) );
-            header.Trim();
-            TLex lexer( header );
-            offset += headerLength;
-            TInt messageLength( 0 );
-            err = lexer.Val( messageLength );
-            if( err == KErrNone )
-                {
-                ptr.Set( buffer.Mid( offset ) );
-                if( ptr.Length() >= messageLength )
-                    {
-                    if (messageLength)
-                        {
-                        aArray.AppendL( ptr.Left( messageLength ) );
-                        ++countOfMessages; // this should be increased only for not null messages.
-                        }
-                    offset += messageLength;
-                    }
-                else
-                    {
-                    err = KErrEof;
-                    }
-                }
-            }
-        else
-            {
-            err = KErrEof;
-            }
-        }
-    CleanupStack::PopAndDestroy(); //buffer
-    }
-
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::WriteStatusMessagesL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-
-void CVIMPSTUiTabbedView::WriteStatusMessagesL( MDesCArray& aArray, TVIMPSTEnums::TOnlineStatus aStatus )
-    {
-
-    TPtrC firstLine = aArray.MdcaPoint( 0 );
-    TInt countOfMessages( 0 );
-    TInt arrayCount( aArray.MdcaCount() );
-    TInt index( 0 );
-
-    RBuf buffer;
-    buffer.CreateL( RProperty::KMaxPropertySize );
-    CleanupClosePushL( buffer );
-
-    TBuf< KStatusMessageHeaderLength > header;
-    // Read the array and append the buffer
-    while( index < arrayCount && countOfMessages < KMaxStatusMessageCount )
-        {
-        if( index == 0 )
-            {
-            header.Format( KStatusMessageHeaderLengthFormat,
-                    KStatusMessageHeaderLength );
-            buffer.Append( header );
-            }
-        TPtrC message = aArray.MdcaPoint( index );
-        if( index == 0 || message.CompareF( firstLine ) != 0 )
-            {
-            header.Format( KStatusMessageHeaderFormat, message.Length() );
-            buffer.Append( header );
-            buffer.Append( message );
-            //skipping increase of countOfMessages is to get one more status message if it is null.
-            if( message.Length() ) // null status message
-                {
-                ++countOfMessages;
-                }
-            }
-        ++index;
-                }
-            switch ( aStatus )
-                {
-                case TVIMPSTEnums::EOnline:
-                    {
-                    iSettingsStore->SetL( iServiceId, EServiceOwnStatusMessagesOnline, buffer ); 
-                    break;
-                    }
-                case TVIMPSTEnums::EBusy:
-                    {
-                    iSettingsStore->SetL( iServiceId, EServiceOwnStatusMessagesBusy, buffer ); 
-                    break;
-                    }
-                case TVIMPSTEnums::EAway:
-                    {
-                    iSettingsStore->SetL( iServiceId, EServiceOwnStatusMessagesAway, buffer ); 
-                    break;
-                    }
-                }
-    CleanupStack::PopAndDestroy(); // buffer
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ChangeOwnStatusMessageL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::ChangeOwnStatusMessageL()
-    {
-    TVIMPSTEnums::TOnlineStatus status = iCommandHandler.GetProcessInterface().GetOnlineStatusL( 0 ); //0 for own status item
-    // ETrue meaning network change required
-    AskStatusMessageL(status, ETrue);
-    }
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ChangeOwnAvatarL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::ChangeOwnAvatarL(const TDesC& aFileName, const TDesC8& aMimeType )
-	{
-	MVIMPSTProcessArray& arrayprocess = iCommandHandler.GetProcessInterface();
-	TAvatarData avatarData;
-	avatarData.iStatus = arrayprocess.GetOnlineStatusL(0);
-	avatarData.iStatusText.Copy( arrayprocess.StatusTextL(0) );
-	avatarData.iFileName.Set(aFileName);
-	avatarData.iMimeType.Set(aMimeType);
-	iCommandHandler.HandleCommandL(EChangeOwnAvtar, this, &avatarData);   
-	}
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::GetServiceState
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TVIMPSTEnums::TVIMPSTRegistrationState CVIMPSTUiTabbedView::GetServiceState()
-    {
-    return iEngine.ServiceState();
-    }
-
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::SearchContactsL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView:: SearchContactsL()
-	{
-	CVIMPSTUiSearchFieldArray& fieldArray = iExtensionService.GetSearchFieldArray(); 
-
-	if( !fieldArray.Count() )
-		{
-		return;	
-		}
-	
-	if(!iIsToolBarHidden)
-	    {
-	    ShowHideFixedToolbarL(EFalse);
-	    }
-
-	if (iContainer)
-		{
-		iContainer->DeactivateFindPaneL();
-		}
-
-	fieldArray.ResetFieldData();
-	fieldArray.SetSearchType( EIMBasicSearch );
-	//Launch the search view with search dialog
-	LaunchViewL( iExtensionService.SearchViewId() );
-	            
-	}
-
-// ---------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::LaunchViewL()
-// ---------------------------------------------------------------------------
-// 
-void CVIMPSTUiTabbedView::LaunchViewL( TInt aViewId )
-    {
-
-    CPbk2ViewState* state = CPbk2ViewState::NewLC( );
-
-    TInt searchViewId;
-    TInt err = iMapper.GetNewView( 
-            KIMCONTACTSEXTNIMPLEMENTATIONUID, 
-            aViewId, 
-            searchViewId );
-    User::LeaveIfError( err );                        
-    Phonebook2::Pbk2AppUi()->Pbk2ViewExplorer()->ActivatePhonebook2ViewL
-    (TUid::Uid(searchViewId), state);
-
-    CleanupStack::PopAndDestroy( state );
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::CreateToolBarL
-// ---------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::CreateToolBarL()
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        TInt resourceId = 0;
-        if(iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EIM) && 
-                !iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EVoip))
-            {
-            resourceId = R_IM_APP_TOOLBAR;
-            }
-        else if(iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EVoip) && 
-                !iEngine.IsSubServiceSupportedL(TVIMPSTEnums::EIM))
-            {
-            resourceId = R_VOIP_APP_TOOLBAR;
-            }
-        else           
-            {
-            resourceId = R_IM_VOIP_APP_TOOLBAR;
-            }
-        if ( resourceId != 0 && !iFixedToolbar )
-            {              
-            CAknToolbar* temp = iFixedToolbar;
-
-            iFixedToolbar = CAknToolbar::NewL( resourceId );
-            iFixedToolbar->SetToolbarObserver( this ); 
-            iFixedToolbar->SetCloseOnAllCommands( EFalse );
-            CEikAppUiFactory* appUiFactory = 
-            static_cast<CEikAppUiFactory*>(CEikonEnv::Static()->AppUiFactory() );                  
-            appUiFactory->SetViewFixedToolbar( iFixedToolbar );
-
-            iFixedToolbar->SetToolbarVisibility( EFalse, EFalse );
-            delete temp;
-            temp = NULL;
-            }
-        }
-    else
-        {
-        delete iFixedToolbar;
-        iFixedToolbar = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::UpdateToolbarL
-// ---------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::UpdateToolbarL()
-    {
-    if ( AknLayoutUtils::PenEnabled() && iFixedToolbar && iContainer )    
-        {
-        TInt currentItemIndex = iContainer->CurrentItemIndex();        
-        TVIMPSTEnums::TItem itemType = iCommandHandler.GetProcessInterface().GetType(currentItemIndex);         
-        TVIMPSTEnums::TOnlineStatus onlinestatus = iCommandHandler.GetProcessInterface().GetOnlineStatusL(currentItemIndex);        
-        TBool imEnabled = iEngine.IsSubServiceEnabled(TVIMPSTEnums::EIM);
-        TBool voipEnabled = iEngine.IsSubServiceEnabled(TVIMPSTEnums::EVoip);
-        TPtrC selectedItem = iCommandHandler.GetProcessInterface().GetItemUserId(currentItemIndex);
-        
-        if(voipEnabled && imEnabled)
-            {                
-            if( TVIMPSTEnums::EOwnStatusItem == itemType ||
-                    TVIMPSTEnums::EFriendRequestItem == itemType ||
-                    KErrNotFound == currentItemIndex )
-                {
-                iFixedToolbar->SetItemDimmed( ECmdToolbarVoipCall, ETrue, EFalse );
-                iFixedToolbar->SetItemDimmed( ECmdToolbarChat, ETrue, EFalse );
-                iFixedToolbar->SetItemDimmed( ECmdToolbarDetails, ETrue, EFalse );
-                }
-            else if( TVIMPSTEnums::EUnknonContactItem == itemType  )
-                {  
-                iFixedToolbar->SetItemDimmed(ECmdToolbarVoipCall, EFalse, EFalse); 
-                iFixedToolbar->SetItemDimmed(ECmdToolbarChat, EFalse, EFalse); 
-                iFixedToolbar->SetItemDimmed(ECmdToolbarDetails, ETrue, EFalse);                 
-                }
-            else if( TVIMPSTEnums::EContactItem == itemType )
-                {  
-                if( selectedItem != KNullDesC  &&  TVIMPSTEnums::EServiceOut != onlinestatus )
-                    {
-                  
-                    iFixedToolbar->SetItemDimmed(ECmdToolbarChat, EFalse, EFalse);
-                    }
-                else
-                    {
-                    iFixedToolbar->SetItemDimmed(ECmdToolbarChat, ETrue, EFalse);
-                    }
-                iFixedToolbar->SetItemDimmed(ECmdToolbarDetails, EFalse, EFalse); 
-                iFixedToolbar->SetItemDimmed(ECmdToolbarVoipCall, EFalse, EFalse); 
-                }  
-            else
-                {  
-                iFixedToolbar->SetItemDimmed(ECmdToolbarVoipCall, ETrue, EFalse); 
-                iFixedToolbar->SetItemDimmed(ECmdToolbarChat, ETrue, EFalse);
-                iFixedToolbar->SetItemDimmed(ECmdToolbarDetails, EFalse, EFalse);                 
-                }  
-            }
-        else if(imEnabled && !voipEnabled)
-            {                   
-            if( TVIMPSTEnums::EOwnStatusItem == itemType ||
-                    TVIMPSTEnums::EFriendRequestItem == itemType ||
-                    KErrNotFound == currentItemIndex)
-                {
-                iFixedToolbar->SetItemDimmed( ECmdToolbarChat, ETrue, EFalse );
-                iFixedToolbar->SetItemDimmed( ECmdToolbarDetails, ETrue, EFalse );               
-                }
-            else if( TVIMPSTEnums::EUnknonContactItem == itemType  )
-                {  
-                iFixedToolbar->SetItemDimmed(ECmdToolbarChat, EFalse, EFalse); 
-                iFixedToolbar->SetItemDimmed(ECmdToolbarDetails, ETrue, EFalse);                 
-                }
-            else if( TVIMPSTEnums::EContactItem == itemType )
-                {
-                iFixedToolbar->SetItemDimmed( ECmdToolbarDetails, EFalse, EFalse );
-                if( selectedItem != KNullDesC && TVIMPSTEnums::EServiceOut != onlinestatus )
-                    {
-                    iFixedToolbar->SetItemDimmed(ECmdToolbarChat, EFalse, EFalse);
-                    }
-                else
-                    {
-                    iFixedToolbar->SetItemDimmed(ECmdToolbarChat, ETrue, EFalse);
-                    }
-                }   
-            }
-        else if( voipEnabled && !imEnabled )
-            {               
-            if( (TVIMPSTEnums::EOwnStatusItem == itemType ||
-                    TVIMPSTEnums::EFriendRequestItem == itemType ||
-                    KErrNotFound == currentItemIndex) && !iAddContact )
-                {
-                iFixedToolbar->SetItemDimmed( ECmdToolbarNewContact, EFalse, EFalse );
-                iFixedToolbar->SetItemDimmed( ECmdToolbarVoipCall, ETrue, EFalse );
-                iFixedToolbar->SetItemDimmed( ECmdToolbarDetails, ETrue, EFalse );               
-                }   
-            else if( TVIMPSTEnums::EUnknonContactItem == itemType  )
-                {  
-                iFixedToolbar->SetItemDimmed( ECmdToolbarNewContact, EFalse, EFalse );
-                iFixedToolbar->SetItemDimmed(ECmdToolbarVoipCall, EFalse, EFalse );
-                iFixedToolbar->SetItemDimmed(ECmdToolbarDetails, ETrue, EFalse);                 
-                }
-            else if( TVIMPSTEnums::EContactItem == itemType )
-                {
-                iFixedToolbar->SetItemDimmed( ECmdToolbarNewContact, EFalse, EFalse );
-                iFixedToolbar->SetItemDimmed( ECmdToolbarDetails, EFalse, EFalse );
-                iFixedToolbar->SetItemDimmed(ECmdToolbarVoipCall, EFalse, EFalse);  
-                } 
-            }
-        else
-            {               
-            if( (TVIMPSTEnums::EOwnStatusItem == itemType ||
-                    TVIMPSTEnums::EFriendRequestItem == itemType ||
-                    KErrNotFound == currentItemIndex) && !iAddContact )
-                {
-                iFixedToolbar->SetItemDimmed( ECmdToolbarNewContact, EFalse, EFalse );
-                } 
-            else if( TVIMPSTEnums::EUnknonContactItem == itemType  )
-                {  
-                iFixedToolbar->SetItemDimmed( ECmdToolbarNewContact, EFalse, EFalse);
-                }
-            else
-                {
-                iFixedToolbar->SetItemDimmed( ECmdToolbarNewContact, EFalse, EFalse );
-                iFixedToolbar->SetItemDimmed( ECmdToolbarDetails, EFalse, EFalse );
-                }
-            }
-        iFixedToolbar->DrawNow();
-        }
-    }
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::DynInitToolbarL
-// ---------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::DynInitToolbarL( TInt /*aResourceId*/, CAknToolbar* /*aToolbar*/ )
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        UpdateToolbarL();
-        }
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::OfferToolbarEventL
-// ---------------------------------------------------------
-//        
-void CVIMPSTUiTabbedView::OfferToolbarEventL( TInt aCommand )
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        switch( aCommand )
-            {
-            case ECmdToolbarVoipCall:
-                {
-                MakeVoipCallL();
-                break;
-                }
-            case ECmdToolbarChat:
-                {
-                HandleCommandL( ECmdOpenConversation );
-                break;
-                }
-            case ECmdToolbarDetails:
-                {
-                HandleCommandL( ECmdContactDetails );//EChatLaunchCCA
-
-                break;
-                }
-            case ECmdToolbarNewContact:
-                {
-                HandleCommandL ( ECmdAddContact );
-                break;
-                }
-            }  
-        }
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::ShowHideFixedToolbarL
-// ---------------------------------------------------------
-//     
-void CVIMPSTUiTabbedView::ShowHideFixedToolbarL(TBool aShow)
-    { 
-    if ( iFixedToolbar && iContainer )
-        {    	
-        iFixedToolbar->HideItemsAndDrawOnlyBackground( !aShow );
-        if(aShow)
-            {
-            iFixedToolbar->SetToolbarVisibility( aShow, !aShow);
-            }
-        iContainer->CoeControl()->SetRect( iView.ClientRect() );
-        iContainer->CoeControl()->DrawDeferred();
-        iIsToolBarHidden = !aShow;
-        }
-
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::ProcessFriendRequestL
-// ---------------------------------------------------------
-// 
-void CVIMPSTUiTabbedView::ProcessFriendRequestL()
-    {
-    TInt index = CurrentItemIndex();    
-    if( index <= 0 )
-        {
-        // return if item not found
-        return; 
-        }
-    MVIMPSTProcessArray& arrayprocess = iCommandHandler.GetProcessInterface();
-    if( iFriendRequestId )
-	    {
-	    delete iFriendRequestId;
-	    iFriendRequestId = NULL;	
-	    }
-    iFriendRequestId = arrayprocess.GetItemUserId(index).AllocL() ;
-
-    if( !iFriendRequestId )
-        {
-        return;
-        }
-
-    HBufC* queryTxt = StringLoader::LoadLC( R_SERVTAB_FRIEND_REQUEST_CONF, *iFriendRequestId );
-
-    //ask the query and send the response back to the server.
-    TInt response = VIMPSTUtilsDialog::DisplayQueryDialogL(R_SERVTAB_GENERIC_ACCEPT_DECLINE_CONFIRMATION_QUERY,*queryTxt);
-    CleanupStack::PopAndDestroy(queryTxt);
-
-    if((EAknSoftkeyYes == response)||(EAknSoftkeyOk == response ) )
-        {
-        
-        MVIMPSTStorageServiceView* storage = CVIMPSTStorageManagerFactory::ContactListInterfaceL( iEngine.ServiceId() ) ;
-        if( storage && storage->IsLocalStore() )//if local store popup create new/update existing dialog 
-           {
-            iSelectedAction = ShowNewUpdateQueryL();
-            TUint assignFlags = 0;
-            if(CVIMPSTUiTabbedView::EInvitAcceptCreateNew == iSelectedAction )//create new option
-                {
-                assignFlags |= ECreateNewContact;
-                }
-            else if(CVIMPSTUiTabbedView::EInvitAcceptUpdateExisting == iSelectedAction ) //if update existing is selected
-                {
-                assignFlags = 0;
-                }
-            else                                //if the selection dialog is cancelled then just do nothing
-                {
-                return;
-                }
-            //show the phonebook dialog for create new/update existing option
-            if(iAiwParamList)
-                {
-                delete iAiwParamList;
-                iAiwParamList = NULL;
-                }        
-            iAiwParamList = CAiwGenericParamList::NewL();
-
-            iAiwParamList->AppendL(
-                    TAiwGenericParam(
-                            EGenericParamContactAssignData,
-                            TAiwVariant(TAiwSingleContactAssignDataV1Pckg(
-                                    TAiwSingleContactAssignDataV1().SetFlags( assignFlags )))));
-
-            TBuf<KBufLen> xspId; //xsp max length
-            xspId.Append(iEngine.ServiceName());
-            xspId.Append(KColon);
-            xspId.Append(*iFriendRequestId);
-
-            iAiwParamList->AppendL(
-                    TAiwGenericParam(
-                            EGenericParamXSpId,
-                            TAiwVariant(xspId))
-            );
-            ReInitializeServiceHandlerL();
-            iServiceHandler->ExecuteServiceCmdL(
-                    KAiwCmdAssign,
-                    *iAiwParamList,
-                    iServiceHandler->OutParamListL(),
-                    0,
-                    this);
-            // remove of friend request is done in HnadleNotify aiw call back
-            // to handle the cancel of selection dialog
-            }
-        else // in case of server store
-            {
-            if( iWaitNote )
-		        {
-		        delete iWaitNote;
-		        iWaitNote = NULL;
-		        }
-        	iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( R_QTN_SERVTAB_SAVING_CONTACT, ETrue, EFalse );
-            iCommandHandler.HandleCommandL(EFriendAccpeted, this, iFriendRequestId);
-            }
-
-        }
-    //response value comes as zero if user rejects the request
-    else if( EAknSoftkeyCancel == response || 0 == response) // rejected the request
-        {
-        if(iWaitNote)
-            {
-            delete iWaitNote;
-            iWaitNote = NULL;	
-            }
-        iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( R_QTN_SERVTAB_DECLINING_INVITE, ETrue , EFalse );;
-        iCommandHandler.HandleCommandL(EFriendRejected, this, iFriendRequestId );
-        }
-   
-
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleSearchResultL()
-// ---------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::HandleSearchResultL(RArray<TVIMPSTSearchData> /*aSearchData*/ )
-    {
-    // no implemetation
-    }
-
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleSearchFinishedL()
-// ---------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::HandleSearchFinishedL(TInt /*aError*/)
-    {
-    // no implemetation
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiSearchView::HandleSearchKeysEventL()
-// ---------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::HandleSearchKeysEventL( RArray<TInt>& aEnumKeysArray, RPointerArray<HBufC>& aLebelKeysArray )
-    {
-    iExtensionService.SetSearchFieldsDataL(aEnumKeysArray, aLebelKeysArray );
-    }
-
-// ---------------------------------------------------------
-// CVIMPSTUiSearchView::ShowURLQueryL()
-// ---------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::ShowURLQueryL( )
-    {    
-    // Open browser with the specified URL
-    RBuf buffer;
-    buffer.CreateL( RProperty::KMaxPropertySize );
-    CleanupClosePushL( buffer );
-    iSettingsStore->GetL(iServiceId, EServiceURLLink, buffer);      
-    HBufC16* url = HBufC::NewL(buffer.Length());
-    url = buffer.Alloc();
-    OpenWebBrowserL( *url );           
-    CleanupStack::PopAndDestroy( ); //buffer   
-    }
-
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::OpenWebBrowserL
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::OpenWebBrowserL( const TDesC& aUrl )
-    {
-    if( !iBrLauncher )
-        {
-        iBrLauncher = CBrowserLauncher::NewL();             
-        }
-    //Asynchronous operation to launch the browser with aUrl
-    iBrLauncher->LaunchBrowserEmbeddedL( aUrl,this,this );    
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::LoginL
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::LoginL()
-    {
-    TBool IsPasswordSet = iEngine.IsPasswordAvailableL();
-
-    if(iUserId)
-        {
-        delete iUserId;
-        iUserId = NULL;
-        }
-   
-    iUserId = iEngine.GetOwnUserIdFromCChOrStorageL();
-    
-    
-    TBool urlNeedtoShow = IsURLQueryToBeShownL();
-    //first login : userid is not initialized and password is not set.
-    TBool doLogin = ETrue;
-    if( urlNeedtoShow &&  (!IsPasswordSet) && (iUserId->Length() == 0))
-        {       
-        TInt menuChoise( KErrCancel );
-        ShowUseExistingOrCreateNewMenuL( menuChoise );
-        switch(menuChoise )
-            {
-            case CVIMPSTUiTabbedView::EXmppMenuValuesCreateNew:
-                {
-                doLogin = EFalse;
-                ShowURLQueryL();
-                break;
-                }
-            case CVIMPSTUiTabbedView::EXmppMenuValuesUseExisting:
-                {
-                // login must be called
-                doLogin = ETrue;
-                break;
-                }
-            default: // user has cancelled the createnew and i have acccount query
-                doLogin = EFalse;
-                break;             
-			}
-        }
-     if( doLogin )
-        {
-        TInt error = ShowTermsofuseL();
-        if(KErrNone == error)
-            {
-            if( urlNeedtoShow  )
-                {
-                // Url query has been shown and accep by user
-                iSettingsStore->SetL(iServiceId, EURLRegistrationOff, ETrue);
-                }
-            iCommandHandler.HandleCommandL(ELoginService, this, &iServiceId); 
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::IsURLQueryToBeShownL
-// -----------------------------------------------------------------------------
-//
-TBool CVIMPSTUiTabbedView::IsURLQueryToBeShownL()
-    {
-    TBool urlQueryShown = EFalse;
-    
-    RBuf buffer;
-    buffer.CreateL( RProperty::KMaxPropertySize );
-    CleanupClosePushL( buffer );
-    iSettingsStore->GetL(iServiceId, EServiceURLLink, buffer); 
-    
-    //get the url from the cenrep.
-    TInt isURLQueryDisabled = EFalse;
-    iSettingsStore->GetL(iServiceId, EURLRegistrationOff, isURLQueryDisabled);
-    
-    if(buffer.Length() && !isURLQueryDisabled)
-        {
-        urlQueryShown = ETrue;
-        }
-    CleanupStack::PopAndDestroy(); //buffer
-    return urlQueryShown;
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ShowUseExistingOrCreateNewMenuL
-// return values <0 -> error
-//               0 -> use existing
-//               1 -> create new
-// ---------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::ShowUseExistingOrCreateNewMenuL( TInt& aMenuChoise )
-    {
-    TInt rvalue( KErrGeneral );
-
-    CAknSinglePopupMenuStyleListBox* accountList =
-    new ( ELeave ) CAknSinglePopupMenuStyleListBox;
-    CleanupStack::PushL( accountList );
-
-    CAknPopupList* popupList =
-    CAknPopupList::NewL( accountList, R_AVKON_SOFTKEYS_OK_BACK );
-    CleanupStack::PushL( popupList );
-
-    accountList->ConstructL(  popupList, EAknListBoxMenuList);
-
-    // construct listbox item array
-    CDesCArray *itemList = new (ELeave) CDesCArrayFlat( 2 );
-    CleanupStack::PushL( itemList );
-    TBuf<KMaxListItemLength> item;
-
-    // First listbox item
-    HBufC* text1 = StringLoader::LoadLC( R_QTN_USE_EXISTING );
-    itemList->AppendL( *text1 );
-    CleanupStack::PopAndDestroy( text1 );
-
-    // Second listbox item
-    HBufC* text2 = StringLoader::LoadLC( R_QTN_CREATE_NEW );
-    itemList->AppendL( *text2 );
-    CleanupStack::PopAndDestroy( text2 );
-
-    // Set items and ownership
-    accountList->Model()->SetItemTextArray( itemList );
-    accountList->Model()->SetOwnershipType( ELbmOwnsItemArray );
-    CleanupStack::Pop( itemList );
-
-    HBufC* title = StringLoader::LoadLC( R_QTN_SELECT_ACTION );
-    popupList->SetTitleL( *title );
-    CleanupStack::PopAndDestroy( title );
-
-    TInt popupOk = popupList->ExecuteLD();
-
-    if ( popupOk )
-        {
-        rvalue = accountList->CurrentItemIndex();
-        }
-    else
-        {
-        rvalue = KErrCancel;
-        }
-
-    CleanupStack::Pop( popupList );
-    CleanupStack::PopAndDestroy( accountList );
-
-    aMenuChoise = rvalue;
-    }
-// ---------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ShowNewUpdateQueryL
-// return values <0 -> error
-//               0 ->create new
-//               1 -> update existing
-// ---------------------------------------------------------------------------
-//
-TInt CVIMPSTUiTabbedView::ShowNewUpdateQueryL()
-    {
-    TInt retValue( KErrCancel );
-
-    CAknSinglePopupMenuStyleListBox* selectionList =
-                new ( ELeave ) CAknSinglePopupMenuStyleListBox;
-    CleanupStack::PushL( selectionList );
-
-    CAknPopupList* popupList = CAknPopupList::NewL( 
-                                             selectionList,
-                                             R_AVKON_SOFTKEYS_SELECT_CANCEL );
-    CleanupStack::PushL( popupList );
-
-    selectionList->ConstructL(  popupList, EAknListBoxMenuList );
-
-    // construct listbox item array
-    CDesCArray *itemList = new (ELeave) CDesCArrayFlat( 2 );
-    CleanupStack::PushL( itemList );
-    
-    // First listbox item
-    HBufC* newItem = StringLoader::LoadLC( R_QTN_CREATE_NEW_CONTACT  );
-    itemList->AppendL( *newItem );
-    CleanupStack::PopAndDestroy( newItem );
-    
-    // Second listbox item
-    HBufC* updateItem = StringLoader::LoadLC( R_QTN_UPDATE_EXISTING  );
-    itemList->AppendL( *updateItem );
-    CleanupStack::PopAndDestroy( updateItem );
-
-    // Set items and ownership
-    selectionList->Model()->SetItemTextArray( itemList );
-    selectionList->Model()->SetOwnershipType( ELbmOwnsItemArray );
-    CleanupStack::Pop( itemList ); // ownership is transfered to selectionList
-
-    HBufC* title = StringLoader::LoadLC( R_QTN_SELECT_ACTION );
-    popupList->SetTitleL( *title );
-    CleanupStack::PopAndDestroy( title );
-
-    TInt response = popupList->ExecuteLD();
-
-    if ( response )
-        {
-        retValue = selectionList->CurrentItemIndex();
-        }
-    CleanupStack::Pop( popupList ); // onership given to selectionList
-    CleanupStack::PopAndDestroy( selectionList ); // selectionList
-
-    return retValue;
-    }
-// CVIMPSTUiTabbedView::ShowLoginDialogL
-// ---------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::ShowLoginDialogL( TDes& aUserName, TDes& aPassword )
-    {
-    HBufC* userName = HBufC::NewLC( KUsernameMaxLength );
-    HBufC* passWord = HBufC::NewLC( KPasswordMaxLength );
-
-    TPtr ptrUserName = userName->Des(); 
-    TPtr ptrPassWord = passWord->Des();
-
-    if( aUserName.Length()== 0 )
-        {
-        CAknMultiLineDataQueryDialog* dlg = CAknMultiLineDataQueryDialog::NewL( ptrUserName,
-                ptrPassWord );
-        if ( dlg->ExecuteLD( R_LOGIN_DIALOG ) )
-            {
-            aUserName.Copy( ptrUserName.LeftTPtr( aUserName.MaxLength() ) );
-            aPassword.Copy( ptrPassWord.LeftTPtr( aPassword.MaxLength() ) );
-            }
-        else
-            {
-            User::Leave( KErrCancel );
-            }
-        }
-    else
-        {
-        CAknMultiLineDataQueryDialog* dlg = CAknMultiLineDataQueryDialog::NewL( aUserName,
-                aPassword );
-        if ( dlg->ExecuteLD( R_LOGIN_DIALOG ) )
-            {
-            aUserName.Copy( aUserName.LeftTPtr( aUserName.MaxLength() ) );
-            aPassword.Copy( aPassword.LeftTPtr( aPassword.MaxLength() ) );
-            }
-        else
-            {
-            User::Leave( KErrCancel );
-            }
-        }
-    CleanupStack::PopAndDestroy( passWord );
-    CleanupStack::PopAndDestroy( userName );
-    }
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::HandleContentL
-// Handles the content coming from the embedded browser.
-// Returns EFalse: content will be passed on to framework
-// ----------------------------------------------------
-//
-TBool CVIMPSTUiTabbedView::HandleContentL( 
-        const TDesC& /*aFileName*/, 
-        const CAiwGenericParamList& /*aParamList*/, 
-        TBool& aContinue )
-    {
-    // Close browser after downloading content
-    aContinue = EFalse;
-    return EFalse;
-    }
-
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::DownloadedContentHandlerReserved1
-// ( Reserved for future use )
-// ----------------------------------------------------
-//
-TAny* CVIMPSTUiTabbedView::DownloadedContentHandlerReserved1( TAny* /*aAnyParam*/ )
-    {
-    // Empty implementation.
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::CloseConversation
-// ---------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::CloseConversationL()
-    {
-    TInt index = CurrentItemIndex();    
-    if( index <= 0 )
-        {
-        // return if item not found
-        return; 
-        }
-    MVIMPSTProcessArray& arrayprocess = iCommandHandler.GetProcessInterface();
-    TPtrC itemId = arrayprocess.GetItemUserId(index);
-
-    if(itemId.Length() == 0)
-        {
-        return;
-        }
-
-    HBufC* queryTxt = StringLoader::LoadLC( R_QTN_SERVTAB_CLOSE_CONV, itemId );
-
-    //ask the query and send the response back to the server.
-    TInt response = VIMPSTUtilsDialog::DisplayQueryDialogL(R_GENERIC_YES_NO_CONFIRMATION_QUERY,*queryTxt);
-    CleanupStack::PopAndDestroy(queryTxt);
-
-    if( (EAknSoftkeyYes == response)||(EAknSoftkeyOk == response ) )
-        {
-        iCommandHandler.HandleCommandL(ECloseConversation, this, &itemId ); 
-        } 
-
-    }
-
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::HandleServerAppExit
-// ( Reserved for future use )
-// ----------------------------------------------------
-//
-void CVIMPSTUiTabbedView::HandleServerAppExit( TInt /*aReason*/ )
-    {
-    TInt error = KErrNone;
-    TRAPD(leaveErr,error = ShowTermsofuseL());
-    if(KErrNone == error && KErrNone == leaveErr)
-        {
-        TRAP_IGNORE(iCommandHandler.HandleCommandL(ELoginService, this, &iServiceId)); 
-        }
-    }
-    
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::ShowTermsofuseL
-// ( Reserved for future use )
-// ----------------------------------------------------
-//
-TInt CVIMPSTUiTabbedView::ShowTermsofuseL()
-    {
-    TInt retVal = KErrNone;
-    // get the  ETOUDlgOff if its set don't show TOU dialog else show TOU 
-    TInt termsOfUseDisabled = KErrNone;
-    iSettingsStore->GetL(iServiceId, ETOUDlgOff, termsOfUseDisabled);
-    if( !termsOfUseDisabled)
-        {
-        HBufC* termsOfUsetext = iBrandHandler->GetToUStringL();
-        if( termsOfUsetext )
-	        {
-	        CleanupStack::PushL(termsOfUsetext);
-	        retVal = CVIMPSTUiTermsOfUseDialogHandler::HandleTermsOfUseDialogLD(
-                   												*iSettingsStore,
-                   												 *iUserId, 
-                   												 iServiceId, 
-                   												 termsOfUsetext ); // termsOfUsetext ownership is transfered	
-	        CleanupStack::Pop(); // termsOfUsetext ownership is transfered
-	        }
-        }
-    return retVal;
-    }
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::MakeVoipCallL
-// ( Reserved for future use )
-// ----------------------------------------------------
-//
-void CVIMPSTUiTabbedView::MakeVoipCallL()
-    {
-    // making voip call will take in three steps
-    // pop up the selection dialog
-    // select adress
-    // create a call
-    TInt index = CurrentItemIndex();  
-    //Index should always be greater than zero
-    //Negative index means item not found.
-    if(index <= 0 )
-        {
-        return;
-        }
-    MVIMPSTProcessArray& processArray = iCommandHandler.GetProcessInterface();
-    TVIMPSTEnums::TItem itemType = processArray.GetType( index ) ;
-    
-    if( itemType == TVIMPSTEnums::EContactItem )
-        {
-        iSelectedAction = CVIMPSTUiTabbedView::ECreateXSPCall;
-        TUint fetchFlags = 0;
-        TAiwSingleItemSelectionDataV3 data;
-        data.SetFlags(fetchFlags);
-        data.SetCommAddressSelectType(EAiwCommVOIPCall);
-        ReInitializeServiceHandlerL();
-        CAiwGenericParamList& inParamList = iServiceHandler->InParamListL();
-        // Set service data
-        inParamList.AppendL(TAiwGenericParam(EGenericParamContactSelectionData,
-                TAiwVariant(TAiwSingleItemSelectionDataV3Pckg(data))));
-
-        HBufC8* pack = processArray.ContactLink(index )->PackLC();
-        // Set contactlink
-        inParamList.AppendL(TAiwGenericParam(EGenericParamContactLinkArray,
-                TAiwVariant(*pack)));
-
-        iServiceHandler->ExecuteServiceCmdL(KAiwCmdSelect, inParamList,
-                iServiceHandler->OutParamListL(), 0, this);
-        CleanupStack::PopAndDestroy( pack );
-        }
-    else if( itemType == TVIMPSTEnums::EUnknonContactItem )
-        {
-        TPtrC unknownId = processArray.GetItemUserId( index );
-        ExecuteAiwCallL( unknownId );
-        }
-    }
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::ExecuteAiwCallL
-// ---------------------------------------------------------
-void CVIMPSTUiTabbedView::ExecuteAiwCallL( const TDesC& aSelectedAddress )
-	{
-	//aSelectedAdress will be an xsp id of format "ServiceName:UserId"
-	//here we need to truncate the servicename and pass only the UserId
-    //Find if aSelectedAdress of type "ServiceName:UserId"
-	//if true, then remove the service part
-    TInt phoneNumberStart = aSelectedAddress.Locate(':');
-    HBufC* numBuf = NULL;
-    
-    if ( KErrNotFound != phoneNumberStart )
-        {
-        phoneNumberStart++; //To get rid of ':'
-        numBuf = aSelectedAddress.Right( 
-                                aSelectedAddress.Length() - phoneNumberStart 
-                                ).AllocLC();
-        }
-    else
-        {
-        numBuf = aSelectedAddress.AllocLC();
-        }
-    
-    TPtr numDesc( numBuf->Des ());
-	CommonPhoneParser::ParsePhoneNumber ( numDesc,
-			CommonPhoneParser::EPhoneClientNumber); 
-
-	CAiwDialDataExt* dialDataExt = CAiwDialDataExt::NewLC();
-	dialDataExt->SetPhoneNumberL ( numBuf->Des ());
-    dialDataExt->SetServiceId(iServiceId);
-    dialDataExt->SetCallType( CAiwDialData::EAIWVoiP);
-
-	dialDataExt->SetWindowGroup ( CCoeEnv::Static()->RootWin().Identifier() );
-	ReInitializeServiceHandlerL();
-	CAiwGenericParamList& paramList = iServiceHandler->InParamListL();
-	dialDataExt->FillInParamListL ( paramList);
-	iServiceHandler->ExecuteServiceCmdL ( KAiwCmdCall, 
-										 paramList,
-										 iServiceHandler->OutParamListL(), 
-										 0, 
-										 NULL);
-	CleanupStack::PopAndDestroy(dialDataExt);
-	CleanupStack::PopAndDestroy(numBuf);
-	}
-
-// ---------------------------------------------------------
-// CVIMPSTUiTabbedView::LaunchHelpL()
-// Function launches help application using the HlpLauncher.
-// @params: Reference to a descriptor, serves as context.
-// ---------------------------------------------------------
-//
-
-void CVIMPSTUiTabbedView::LaunchHelpL( const TDesC& aContext )
-    {
-    CArrayFix< TCoeHelpContext >* cntx = new( ELeave ) CArrayFixFlat< TCoeHelpContext >( KHelpContextSize );
-    CleanupStack::PushL( cntx );
-
-    TUid KHelpUid = { KHELPUID };
-    cntx->AppendL( TCoeHelpContext( KHelpUid, aContext ) );
-    CleanupStack::Pop( cntx );
-
-    //and launch help - takes ownership of context array
-    HlpLauncher::LaunchHelpApplicationL( CEikonEnv::Static()->WsSession(), cntx );    
-    }
-
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::SettingsStore()
-// ----------------------------------------------------
-//
-MVIMPSTSettingsStore* CVIMPSTUiTabbedView::SettingsStore()
-    {
-    return iSettingsStore;
-    }
-
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::CancelLoginSupportedL()
-// ----------------------------------------------------
-//
-TBool CVIMPSTUiTabbedView::CancelLoginSupportedL()
-    {
-    TInt cancelNotSupported(KErrNone);
-    TBool returnValue = ETrue;
-    // read from the cenrep settings 
-    TInt err = iSettingsStore->GetL(iServiceId, EServiceCancelLoginNotSupported,cancelNotSupported);
-    // if any error  OR  cancelNotSupported = 1 then 
-    if ( err || cancelNotSupported )
-        {
-        returnValue =  EFalse; // SOME Error or cancel is not supported : return EFalse
-        }
-    return returnValue; // cancel is supported : return ETrue
-    }
-
-
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::ChangeConnectionSupportedL()
-// ----------------------------------------------------
-//
-TBool CVIMPSTUiTabbedView::ChangeConnectionSupportedL()
-    {
-    TInt changeConnectionSupported(KErrNone);
-    TBool returnValue = ETrue;
-    // read from the cenrep settings 
-    TInt err = iSettingsStore->GetL(iServiceId, EServiceChangeConnectionNotSupported,changeConnectionSupported);
-    // if any error  OR  cancelNotSupported = 1 then 
-    if ( err || changeConnectionSupported )
-        {
-        returnValue =  EFalse; // SOME Error or cancel is not supported : return EFalse
-        }
-    return returnValue; // cancel is supported : return ETrue
-    }
-
-// ----------------------------------------------------
-// CVIMPSTUiTabbedView::HandleNotifyL()
-// ----------------------------------------------------
-//
-TInt CVIMPSTUiTabbedView::HandleNotifyL(
-        TInt aCmdId,
-        TInt aEventId,
-        CAiwGenericParamList& aEventParamList,
-        const CAiwGenericParamList& /* aInParamList */)
-	{
-	TInt result = 0;
-		if( (aCmdId == KAiwCmdSelect) && (aEventId == KAiwEventCompleted && iSelectedAction == ECreateXSPCall ))
-			{
-			if( iQueryResult )
-				{
-				delete iQueryResult;
-				iQueryResult = NULL;	
-				}
-			TInt index = 1; // Get field data from index 1
-			const TAiwGenericParam* param =
-			aEventParamList.FindFirst(index, EGenericParamContactFieldData);
-			if (KErrNotFound != index)
-				{
-				TInt length = param->Value().AsDes().Length();
-				iQueryResult = HBufC::NewL(length);
-				iQueryResult->Des().Append( param->Value().AsDes() );
-				// Data must be found!
-				if (0 >= iQueryResult->Length())
-					{
-					User::Leave(KErrGeneral);
-					}
-				if( !iContactSelection )
-					{
-					iContactSelection = CVIMPSTUiContactSelection::NewL(*this);	//register for the contactselection
-					}
-				iContactSelection->IssueRequest(); 	
-				}
-			else
-				{
-				User::Leave(KErrNotFound);
-				}
-			result = ETrue;
-			}
-		
-		else if (aCmdId == KAiwCmdAssign || aCmdId == KAiwCmdSelect )
-		{
-		if (aEventId == KAiwEventCompleted )
-			{
-			if( iSelectedAction == CVIMPSTUiTabbedView::EInvitAcceptUpdateExisting || 
-				iSelectedAction == CVIMPSTUiTabbedView::EInvitAcceptCreateNew || 
-				iSelectedAction == CVIMPSTUiTabbedView::EContactCreateNew ||
-				iSelectedAction == CVIMPSTUiTabbedView::EContactAddFromContacts )
-				{
-				// action has been completed ,
-				// this will be excuted only if invitation accepted using update existing contact
-				TInt paramIndex = 0;
-				const TAiwGenericParam* contactParam = aEventParamList.FindFirst(
-				paramIndex, EGenericParamContactLinkArray );//get the contact link
-				TPtrC8 packLink = contactParam->Value().AsData();
-				delete iSelectedData.iPackedLinks;
-				iSelectedData.iPackedLinks = NULL; 
-				if( packLink.Length() )
-						{
-						iSelectedData.iPackedLinks = packLink.AllocL();
-						if( !iContactSelection )
-							{
-							iContactSelection = CVIMPSTUiContactSelection::NewL(*this);	//register for the contactselection
-							}
-						iContactSelection->IssueRequest(); 	
-						}
-				}
-			result = ETrue;
-			}
-		else if (aEventId == KAiwEventQueryExit)
-		    {
-		    // Send an exit command in order to close CCA and Phonebook2        
-		    CAknAppUi* appUi = static_cast<CAknAppUi*>( CCoeEnv::Static()->AppUi() );
-
-		    if ( appUi )
-		        {
-		        appUi->ProcessCommandL( EAknCmdExit );
-		        }
-		    result = ETrue;
-		    }
-		else if(aEventId == KAiwEventOutParamCheck)
-		    {
-		        result = ETrue;
-		    }
-		}
-    if(aEventId == KAiwEventCanceled)
-		{
-		result = ETrue;
-		}
-	return result;
-	}
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::BlockContactL
-// --------------------------------------------------------------------------
-//
-void CVIMPSTUiTabbedView::BlockContactL(TBool aBlock /* = EFalse */)
-    {
-    TInt index = CurrentItemIndex();
-    if(iContainer)
-        {
-        iContainer->CheckAndSetLastItemFlag();
-        }
-    if( index <= 0 )
-        {
-        // return if item not found
-        // 0 for own item which can not be blocked
-        return; 
-        }   
-         if(iWaitNote)
-             {
-             delete iWaitNote;
-             iWaitNote = NULL;
-             }
-
-    MVIMPSTProcessArray& arrayprocess = iCommandHandler.GetProcessInterface();
-    HBufC* contactId =  arrayprocess.GetItemUserId(index).AllocLC();
-
-    if( contactId->Length() )
-        {
-        if(aBlock )
-            {
-            // load, format and show confirmation note
-            HBufC* prompt = StringLoader::LoadLC( R_QTN_SERVTAB_BLOCKING, *contactId );
-            iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( *prompt, ETrue, EFalse );
-          //  iCommandHandler.HandleCommandL(ECmdBlockContact, this, &(contactId) );
-            iCommandHandler.HandleCommandL(ECmdBlockContact, this, contactId );
-            CleanupStack::PopAndDestroy();// prompt
-            
-        	if(iContainer)
-                {
-                
-		iContainer->HandleAvatarDeleteL(*contactId);
-                }
-            }
-        else 
-            {
-            HBufC* unBprompt = StringLoader::LoadLC( R_QTN_CHAT_UNBLOCKING, *contactId );
-            // load, format and show confirmation note
-            iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( *unBprompt, ETrue, EFalse );
-            iCommandHandler.HandleCommandL(ECmdUnBlockContact, this, contactId );
-            CleanupStack::PopAndDestroy();// unBprompt
-            }
-        }
-    CleanupStack::PopAndDestroy(); //contactId
-    } 
-    
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ShowBlockedContactListL
-// --------------------------------------------------------------------------
-void CVIMPSTUiTabbedView::ShowBlockedContactListL()
-	{
-	if(!iIsToolBarHidden)
-	    {
-	    ShowHideFixedToolbarL(EFalse);
-	    }
-
-	if (iContainer)
-		{
-		iContainer->DeactivateFindPaneL();
-		}
-
-	//Launch the search view with search dialog
-	LaunchViewL( iExtensionService.BlockViewId() );
-	}
-	
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::HandleContactSelectionCompleteL
-// --------------------------------------------------------------------------
-void CVIMPSTUiTabbedView::HandleContactSelectionCompleteL()
-	{
-	 CHAT_DP_FUNC_ENTER("CVIMPSTUiTabbedView::HandleContactSelectionCompleteL");
-	 if( iWaitNote )
-	        {
-	        delete iWaitNote;
-	        iWaitNote = NULL;
-	        }
-     if( iSelectedAction == CVIMPSTUiTabbedView::EInvitAcceptUpdateExisting || iSelectedAction == CVIMPSTUiTabbedView::EInvitAcceptCreateNew)
-        {
-        iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( R_QTN_SERVTAB_SAVING_CONTACT, ETrue, EFalse );
-
-        if ( iSelectedData.iPackedLinks )                     //add the selected contact to the service tab
-            {
-            CHAT_DP_FUNC_DP("CVIMPSTUiTabbedView","process contact");
-            if( iSelectedAction == CVIMPSTUiTabbedView::EInvitAcceptCreateNew )
-                   {
-                 iCommandHandler.HandleCommandL( ECmdProcessAcceptedContactNew, this, (TAny*)&iSelectedData );
-                   }
-            else
-                   {
-                 iCommandHandler.HandleCommandL( ECmdProcessAcceptedContactExist, this, (TAny*)&iSelectedData );
-                   }
-            delete iSelectedData.iPackedLinks;  
-            iSelectedData.iPackedLinks = NULL;           
-            } 
-        iSelectedData.iXSPList.ResetAndDestroy();
-       
-        //invitation has been accepted using update existing contact
-        // updation is successful
-        // send accepted request to command/engine/server   
-        CHAT_DP_FUNC_DP("HandleSessionContextEventL","frnrequest accepted");
-        iCommandHandler.HandleCommandL(EFriendAccpeted, this, iFriendRequestId );
-        }
-     else if(  iSelectedAction == CVIMPSTUiTabbedView::EContactCreateNew ||  iSelectedAction == CVIMPSTUiTabbedView::EContactAddFromContacts)
-         {
-         MVIMPSTStorageServiceView* storage = CVIMPSTStorageManagerFactory::ContactListInterfaceL( iEngine.ServiceId() ) ;
-         TBool localStore = EFalse;
-         if( storage )
-             {
-             localStore = storage->IsLocalStore();
-             }
-         if( localStore )//for server store wait note is shown by AddContactL function
-             {
-             if(iWaitNote)
-                 {
-                 delete iWaitNote;
-                 iWaitNote = NULL;
-                 }
-             iWaitNote = CVIMPSTUtilsWaitNote::ShowWaitNoteL( R_QTN_SERVTAB_SAVING_CONTACT, ETrue, EFalse );
-             }
-
-         if ( iSelectedData.iPackedLinks )                     //add the selected contact to the service tab
-             {
-             CHAT_DP_FUNC_DP("CVIMPSTUiTabbedView","process contact");
-             if( iSelectedAction == CVIMPSTUiTabbedView::EContactCreateNew )
-                 {
-                 iCommandHandler.HandleCommandL( ECmdProcessSelectedContactNew, this, (TAny*)&iSelectedData );
-                 }
-             else
-                 {
-                 iCommandHandler.HandleCommandL( ECmdProcessSelectedContactExist, this, (TAny*)&iSelectedData );
-                 }
-             delete iSelectedData.iPackedLinks;  
-             iSelectedData.iPackedLinks = NULL;
-             //server store xspid will be stored in iSelectedData.iXSPList and adding it to UI
-             if( !localStore && iSelectedAction == CVIMPSTUiTabbedView::EContactAddFromContacts)
-                 {
-                 AddContactL( iSelectedData.iXSPList );
-                 }       
-             iSelectedData.iXSPList.ResetAndDestroy();
-
-             } 
-         // this is for adding a fresh contact for local store
-	     // read the data from link and send it to server for updation	
-         }
-	 else if( iSelectedAction == CVIMPSTUiTabbedView::ECreateXSPCall && iQueryResult )
-		 {
-		 // make a call here
-		 ExecuteAiwCallL(*iQueryResult );
-		 delete iQueryResult;
-		 iQueryResult = NULL;	
-		 }
-    iSelectedAction = KErrNotFound;  // This is to clear the previous selected action.
-    CHAT_DP_FUNC_DONE("CVIMPSTUiTabbedView::HandleContactSelectionCompleteL");  
-	}
-
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::LaunchSettingsViewL
-// --------------------------------------------------------------------------
-void CVIMPSTUiTabbedView::LaunchSettingsViewL()
-    {
-    /*
-    If settingsui is already opened, instead of starting with StartDocument just bring csc to foreground and send message
-    (csc opens correct settings ui even when itīs already open)What comes to coming back to meco tab by pressing Back in 
-    settingsui i made change that tab view is opened by using RxSPViewServices in csc side and csc is closed after that.
-    I found only one problem while testing this solution, that is if phonebook is closed when settingsui is still open. 
-    In that case settingsui stays in background, but even then when Back is pressed on settingsui correct tab is opened 
-    (phonebook is reopened using RxSPViewServices)
-    
-    **************************************************************************************
-    CSC team agreed to provide new generic CSC view launcher API, once CSC provide new API
-    below code need to remove and new API will be called.
-    ***************************************************************************************
-    */
-        
-    _LIT(KStartupParams, "ACTION=4 SERID=");
-    _LIT8(KStartupParams8, "ACTION=4 SERID=");
-    //Take CSC UID (In future if this UID change , we also need to change it otherwise we will not be able
-    //to launch CSC settings.
-    const TUid KCSCAppUid = { 0x10275458 };
-    RWsSession ws;
-    User::LeaveIfError( ws.Connect() );
-    CleanupClosePushL( ws );
-    TApaTaskList list( ws );
-
-    TApaTask task( list.FindApp( KCSCAppUid ) );
-
-    if ( task.Exists() )
-        {
-        TBuf8<255> params8;
-        params8.Copy( KStartupParams8 );
-        params8.AppendNum( iServiceId );
-       //Bring CSC to foreground if already open
-        task.BringToForeground();
-        task.SendMessage( 
-                TUid::Uid( KUidApaMessageSwitchOpenFileValue ), params8 );
-        }
-    else
-        {
-        RApaLsSession session;
-        CleanupClosePushL( session );                       
-        User::LeaveIfError(session.Connect());
-
-        TUid appUid = KCSCAppUid;
-        TThreadId threadId;
-        TFileName fileName;
-
-        fileName.Copy( KStartupParams ); 
-        fileName.AppendNum( iServiceId );
-
-        User::LeaveIfError(
-                session.StartDocument( fileName, appUid, threadId ) );
-
-        session.Close();                       
-        CleanupStack::PopAndDestroy( &session );
-        }
-
-    CleanupStack::PopAndDestroy( &ws );
-
-    }//End LaunchSettingsUiL() 
-	// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ReInitializeServiceHandlerL()
-// --------------------------------------------------------------------------
-
-void CVIMPSTUiTabbedView::ReInitializeServiceHandlerL()
-    {
-    if(iIsServiceHandleReSet )
-        {
-        if(iServiceHandler)
-            {
-            iServiceHandler->AttachL( R_IM_APP_INTEREST );
-            iServiceHandler->AttachMenuL( R_SERVTAB_TABBED_VIEW_MENU, 
-                R_IM_APP_INTEREST );   
-            
-            iServiceHandler->AttachL( R_AIWASSIGNMENT_INTEREST );    
-            
-            iServiceHandler->AttachL( R_AIWSELECT_INTEREST );
-            iIsServiceHandleReSet = EFalse;
-            }
-        }
-    }
-	// --------------------------------------------------------------------------
-	// CVIMPSTUiTabbedView::LaunchFetchDialogL()
-	// --------------------------------------------------------------------------
-
-void CVIMPSTUiTabbedView::LaunchFetchDialogL()
-    {
-    iSelectedAction = EContactAddFromContacts;
-    MVIMPSTStorageServiceView* storage = CVIMPSTStorageManagerFactory::ContactListInterfaceL( iEngine.ServiceId() ) ;
-    TBool localStore = EFalse;
-    if( storage )
-        {
-        localStore = storage->IsLocalStore();
-        }
-    
-    if( localStore )
-        {
-        //multiple item fetch.
-        TUint fetchFlags = 0;
-        fetchFlags |= ::EExcludeGroupsView;
-        
-        ExecuteMultipleItemFetchL( TAiwMultipleEntrySelectionDataV2().SetFlags( fetchFlags ) );
-        }
-    else
-        {
-        //single item fetch.
-        TUint fetchFlags = 0;
-
-        ExecuteSingleItemFetchL( TAiwSingleEntrySelectionDataV2().SetFlags( fetchFlags ) );
-        }
-
-    }
-	// --------------------------------------------------------------------------
-	// CVIMPSTUiTabbedView::ExecuteSingleItemFetchL
-	// --------------------------------------------------------------------------
-
-void CVIMPSTUiTabbedView::ExecuteSingleItemFetchL( TAiwSingleEntrySelectionDataV2 aData )
-    {
-    if(iAiwParamList)
-           {
-           delete iAiwParamList;
-           iAiwParamList = NULL;
-           }        
-       iAiwParamList = CAiwGenericParamList::NewL();
-       iAiwParamList->AppendL(
-            TAiwGenericParam(
-            EGenericParamContactSelectionData,
-            TAiwVariant(TAiwSingleEntrySelectionDataV2Pckg(aData))));
-
-       ReInitializeServiceHandlerL();
-    iServiceHandler->ExecuteServiceCmdL(
-                                         KAiwCmdSelect,
-                                         *iAiwParamList,
-                                         iServiceHandler->OutParamListL(),
-                                         0,
-                                         this
-                                         );
-
-    }
-// --------------------------------------------------------------------------
-// CVIMPSTUiTabbedView::ExecuteMultipleItemFetchL
-// --------------------------------------------------------------------------
-void CVIMPSTUiTabbedView::ExecuteMultipleItemFetchL( TAiwMultipleEntrySelectionDataV2 aData )
-    {
-    if(iAiwParamList)
-        {
-        delete iAiwParamList;
-        iAiwParamList = NULL;
-        }        
-    iAiwParamList = CAiwGenericParamList::NewL();
-    ReInitializeServiceHandlerL();
-    iAiwParamList->AppendL(
-            TAiwGenericParam(
-                    EGenericParamContactSelectionData,
-                    TAiwVariant(TAiwMultipleEntrySelectionDataV2Pckg(aData))));
-
-  
-    iServiceHandler->ExecuteServiceCmdL(
-            KAiwCmdSelect,
-            *iAiwParamList,
-            iServiceHandler->OutParamListL(),
-            0,
-            this
-    );
-    }
-//  End of File