omads/omadsappui/AspSyncUtil/src/AspSyncHandler.cpp
branchRCL_3
changeset 51 8e7494275d3a
parent 48 2bb96f4ecad8
child 52 4f0867e42d62
--- a/omads/omadsappui/AspSyncUtil/src/AspSyncHandler.cpp	Thu Aug 19 09:41:17 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1470 +0,0 @@
-/*
-* Copyright (c) 2002-2005 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:  
-*
-*/
-
-
-
-// INCLUDES
-#include "AspSyncHandler.h"
-#include "AspDebug.h"
-#include "AspSettingDialog.h"
-
-#include <aspsyncutil.mbg>  // for progress dialog bitmap enumerations
-
-#include <SyncMLErr.h>  // sync error codes
-
-#include <ecom/ecom.h>
-#include <ecom/implementationinformation.h>
-#include <rconnmon.h>
-#include <e32std.h> //For TRequestStatus
-#include <e32property.h>
-#include "CPreSyncPlugin.h"
-#include "AspPreSyncPluginInterface.h"
-
-#include <DataSyncInternalPSKeys.h>
-#include <featmgr.h>
-
-/******************************************************************************
- * class TAspSyncParam
- ******************************************************************************/
-
-
-// -------------------------------------------------------------------------------
-// TAspSyncParam::TAspSyncParam
-//
-// -------------------------------------------------------------------------------
-//
-TAspSyncParam::TAspSyncParam(TInt aApplicationId)
- : iApplicationId(aApplicationId), iProfileId(KErrNotFound), iJobId(KErrNotFound),
-   iTaskId(KErrNotFound), iSyncDirection(KErrNotFound), iDialogMode(EModeDialogNoWait)
-	 {
-	 }
-
-
-
-/******************************************************************************
- * class CAspSyncHandler
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::NewL
-//
-// -----------------------------------------------------------------------------
-//
-CAspSyncHandler* CAspSyncHandler::NewL(const TAspParam& aParam)
-    {
-    FLOG( _L("CAspSyncHandler::NewL START") );
-
-    CAspSyncHandler* self = new (ELeave) CAspSyncHandler(aParam);
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	CleanupStack::Pop(self);
-
-    FLOG( _L("CAspSyncHandler::NewL END") );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// Destructor
-//
-// -----------------------------------------------------------------------------
-//
-CAspSyncHandler::~CAspSyncHandler()
-    {
-    FLOG( _L("CAspSyncHandler::~CAspSyncHandler START") );
-    
-    delete iProgressDialog;
-	delete iState;
-	delete iResHandler;
-	delete iActiveCaller;
-	delete iTextResolver;
-	
-	delete iContentList;
-	
-    if (iWait && iWait->IsStarted())
-        {
-        iWait->AsyncStop();
-        }
-	delete iWait;
-	
-	RProperty::Delete(KPSUidNSmlDSSyncApp, KDsJobCancel);
-	
-	CloseSyncSession();
-	
-	FLOG( _L("CAspSyncHandler::~CAspSyncHandler END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::ConstructL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::ConstructL()
-    {
-	FLOG( _L("CAspSyncHandler::ConstructL START") );
-	
-	iState = CAspState::NewL();
-
-	iActiveCaller = CAspActiveCaller::NewL(this);
-	iTextResolver = CTextResolver::NewL();
-	
-	iServerAlertSync = EFalse;
-	iSyncRunning = EFalse;
-	iSyncError = KErrNone;
-	iCurrentSyncJobId = KErrNotFound;
-	iSyncSessionOpen = EFalse;
-	
-	iWait = new (ELeave) CActiveSchedulerWait();
-	//Define property for cancel operation.
-    static _LIT_SECURITY_POLICY_PASS(KAllowAllPolicy);
-    static _LIT_SECURITY_POLICY_C1(KAllowWriteDeviceDataPolicy, ECapabilityWriteDeviceData);
-	RProperty::Define( KPSUidNSmlDSSyncApp,KDsJobCancel,RProperty::EInt,
-	        KAllowAllPolicy,KAllowWriteDeviceDataPolicy); 
-	RProperty::Set( KPSUidNSmlDSSyncApp,
-	            KDsJobCancel, KErrNone );   
-	FLOG( _L("CAspSyncHandler::ConstructL END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::CAspSyncHandler
-//
-// -----------------------------------------------------------------------------
-//
-CAspSyncHandler::CAspSyncHandler(const TAspParam& /*aParam*/)
-	{
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::SetObserver
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::SetObserver(MAspSyncObserver* aObserver)
-	{
-	iSyncObserver = aObserver;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::HandleDialogEventL (from MAspProgressDialogObserver)
-//
-// 
-// Canceling sequence after user presses "Cancel":
-//
-// 1. framework calls CAspProgressDialog2::OkToExitL
-// 2. OkToExitL calls CAspProgressDialog::DialogDismissedL
-// 3. DialogDismissedL calls CAspSyncHandler::HandleDialogEventL
-// 4. HandleDialogEventL cancels sync (RSyncMLDataSyncJob::StopL)
-//    and updates progress dialog text ("Cancelling")
-// 5. MSyncMLEventObserver::EJobStop arrives (asynchronously)
-//    and CAspProgressDialog is closed
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::HandleDialogEventL(TInt aButtonId)
-    {
-    FLOG( _L("CAspSyncHandler::HandleDialogEventL START") );
-    
-    TBool syncRunning = SyncRunning();
-    
-	//  close handling (eg. end key)
-	if (aButtonId == EKeyPhoneEnd && syncRunning)
-		{
-        //Set Cancel  property when user cancel the Caopy All from Server. 
-		RProperty::Set( KPSUidNSmlDSSyncApp,
-		                KDsJobCancel, KErrCancel );
-		TRAPD(err, iSyncJob.StopL());
-
-		if (err != KErrNone)
-			{
-			FLOG( _L("### RSyncMLDataSyncJob::StopL failed (%d) ###"), err );
-			}
-
-	    iSyncJob.Close(); // this can be done when job has not been opened
-
-	    CloseSyncSession();
-
-		iSyncRunning = EFalse;
-		
-	 	if (iIsSynchronousOperation && iWait->IsStarted())
-		    {
-	        iWait->AsyncStop();
-		    }
-
-		
-		FLOG( _L("CAspSyncHandler::HandleDialogEventL: end key handling done") );
-		FLOG( _L("CAspSyncHandler::HandleDialogEventL END") );
-		return;
-		}
-		
-	// cancel key handling
-	if (aButtonId == EEikBidCancel && syncRunning)
-		{
-        RProperty::Set( KPSUidNSmlDSSyncApp,
-                KDsJobCancel, KErrCancel );
-    
-		if (iStopEventReceived)
-			{
-			CompleteWithDelay(KErrNone);
-        	FLOG( _L("### EJobStop already received ###") );
-        	FLOG( _L("CAspSyncHandler::HandleDialogEventL END") );
-	        return;
-			}
-			
-		TInt jobId = CAspProfile::CurrentJob(&iSyncSession);
-       	if (jobId != iCurrentSyncJobId)
-	        {
-	        CompleteWithDelay(KErrNotFound);
-
-	        FLOG( _L("### job conflict (%d/%d) ###"), iCurrentSyncJobId, jobId );
-        	FLOG( _L("CAspSyncHandler::HandleDialogEventL END") );
-	        return;
-	        }
-
-		TRAPD(err, iSyncJob.StopL());
-       	if (err != KErrNone)
-	        {
-	        CompleteWithDelay(err);
-
-	        FLOG( _L("### RSyncMLDataSyncJob::StopL failed (%d) ###"), err );
-        	FLOG( _L("CAspSyncHandler::HandleDialogEventL END") );
-	        return;
-	        }
-		    
-	    State()->SetSyncPhase(CAspState::EPhaseCanceling);
-        UpdateDialog();
-        
-        FLOG( _L("CAspSyncHandler::HandleDialogEventL: cancel key handling done") );
-		}
-		
-	FLOG( _L("CAspSyncHandler::HandleDialogEventL END") );
-    }
-
-
-TBool CAspSyncHandler::IsRoamingL()
-    {
-    RConnectionMonitor conMon;
-    
-    conMon.ConnectL();
-
-    TRequestStatus status;
-    TInt registrationStatus(0);
-
-    //check network status
-    conMon.GetIntAttribute(EBearerIdGSM, 0, KNetworkRegistration, 
-                            registrationStatus, status);
-
-    User::WaitForRequest(status);
-    conMon.Close();
-    
-    if (registrationStatus == ENetworkRegistrationRoaming)
-        {
-        return ETrue;   
-        }
-        
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::ReadRepositoryL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::ReadRepositoryL(TInt aKey, TInt& aValue)
-    {
-    CRepository* rep = CRepository::NewLC(KCRUidNSmlDSApp);
-    TInt err = rep->Get(aKey, aValue);
-    User::LeaveIfError(err);
-    
-    CleanupStack::PopAndDestroy(rep);
-    }
-
-TInt CAspSyncHandler::BearerTypeL(TInt aProfileId)
-    {    
-    TInt BearerType = KErrNotFound;
-    
-    // sync session
-    RSyncMLSession syncSession;
-    syncSession.OpenL();
-    CleanupClosePushL( syncSession );
-
-    RSyncMLDataSyncProfile syncProfile;
-    syncProfile.OpenL( syncSession, aProfileId, ESmlOpenRead );
-    CleanupClosePushL( syncProfile );
-    
-    // Check if always ask is selected as accesspoint
-    RSyncMLConnection connection;
-
-    TInt err = KErrNone;
-    RArray<TSmlTransportId> arr;
-    
-    TRAP(err, syncProfile.ListConnectionsL(arr));
-    if (err != KErrNone)
-        {
-        syncProfile.Close();
-        CleanupStack::Pop( &syncProfile );
-        return KErrNotFound; 
-        }
-    if (arr.Count() == 0)
-        {
-        syncProfile.Close();
-        CleanupStack::Pop( &syncProfile );
-        arr.Close();  
-        return KErrNotFound; // no connection
-        }
-            
-    TInt transportId = arr[0];
-    arr.Close();
-        
-    TRAP(err, connection.OpenL( syncProfile, transportId ) );
-    CleanupClosePushL( connection );
-
-    if ( err == KErrNone )
-        {
-        TInt id = connection.Identifier();
-        if (id == KUidNSmlMediumTypeInternet.iUid)
-            {
-            BearerType = EAspBearerInternet;
-            }
-        else if (id == KUidNSmlMediumTypeBluetooth.iUid)
-            {
-            BearerType = EAspBearerBlueTooth;
-            }
-        else if (id == KUidNSmlMediumTypeUSB.iUid)
-            {
-            BearerType = EAspBearerUsb;
-            }
-        else if (id == KUidNSmlMediumTypeIrDA.iUid)
-            {
-            BearerType = EAspBearerIrda;
-            }
-        }
-
-    connection.Close();
-    CleanupStack::Pop( &connection );
-    
-    syncProfile.Close();
-    CleanupStack::Pop( &syncProfile );
-            
-    syncSession.Close();
-    CleanupStack::Pop( &syncSession );
-    return BearerType;
-    }
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::SynchronizeL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::SynchronizeL(TAspSyncParam& aSyncParam)
-	{
-	iServerAlertSync = EFalse;
-	iSyncRunning = EFalse;
-	iCurrentSyncJobId = KErrNotFound;
-	iSyncError = KErrNone;
-	iCompleteEventReceived = EFalse;
-	iStopEventReceived = EFalse;
-	iIsSynchronousOperation = EFalse;
-	TBool bCanSync = ETrue;
-	
-    TInt aValue = 0;
-    ReadRepositoryL(KNSmlDSRoamingFeature, aValue);
-    if(( IsRoamingL() ) && (aValue == EAspRoamingSettingFeatureEnabled))
-        {
-           TInt bearerType = BearerTypeL(aSyncParam.iProfileId);
-           if (bearerType == EAspBearerInternet)           
-            {
-            CPreSyncPluginInterface* syncPluginInterface = CPreSyncPluginInterface::NewL();
-            CPreSyncPlugin* syncPlugin = 
-                syncPluginInterface->InstantiateRoamingPluginLC(aSyncParam.iProfileId);
-
-            if(syncPlugin->IsSupported())
-                {
-                bCanSync = syncPlugin->CanSyncL();
-                }
-
-            CleanupStack::PopAndDestroy(syncPlugin);
-            //syncPluginInterface->UnloadPlugIns();
-            delete  syncPluginInterface;   
-
-            if(!bCanSync)
-                {
-                return;
-                }
-            }        
-        }	
-	
-	State()->SetSyncPhase(CAspState::EPhaseConnecting);
-	State()->ResetProgress();
-	//State()->SetTotalProgress(KTotalProgress);
-	
-	TRAPD(err, DoSynchronizeL(aSyncParam));
-	
-	if (err != KErrNone)
-		{
-		SynchronizeCompleted(err);
-     	return;
-		}
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::DoSynchronizeL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::DoSynchronizeL(TAspSyncParam& aSyncParam)
-	{
-	FLOG( _L("CAspSyncHandler::DoSynchronizeL START") );
-    
-	 //set the cancel Pub sub key to none
-	if(aSyncParam.iSyncDirection == ESyncDirectionRefreshFromServer)
-	    {
-	    RProperty::Set( KPSUidNSmlDSSyncApp,
-	            KDsJobCancel, KErrNone );
-	    }
-	iApplicationId = aSyncParam.iApplicationId;
-	iProfileId = aSyncParam.iProfileId;
-	if (aSyncParam.iDialogMode == EModeDialogWait)
-		{
-		iIsSynchronousOperation = ETrue; // email 3.2 needs synchronous syncing
-		}
-
-	
-	ShowProgressDialogL();
-    OpenSyncSessionL();
-    CreateContentListL();
-    
-    iSyncSession.RequestEventL(*this);     // for MSyncMLEventObserver events
-    iSyncSession.RequestProgressL(*this);  // for MSyncMLProgressObserver events
-    
- 	if (aSyncParam.iTaskId != KErrNotFound && iProfileId != KErrNotFound)
-		{
-		RArray<TSmlTaskId> arr(1);
-		CleanupClosePushL(arr);
-		User::LeaveIfError(arr.Append(aSyncParam.iTaskId));
-		if (aSyncParam.iSyncDirection != KErrNotFound)
-			{
-			TSmlSyncType syncDirection = TAspTask::SmlSyncDirection(aSyncParam.iSyncDirection);
-			iSyncJob.CreateL(iSyncSession, iProfileId, syncDirection, arr);
-			}
-		else
-			{
-			iSyncJob.CreateL(iSyncSession, iProfileId, arr);
-			}
-			
-		CleanupStack::PopAndDestroy(&arr);
-		}
-	else if (iProfileId != KErrNotFound)
-		{
-		if (aSyncParam.iSyncDirection != KErrNotFound)
-			{
-		    TSmlSyncType syncDirection = TAspTask::SmlSyncDirection(aSyncParam.iSyncDirection);
-			iSyncJob.CreateL(iSyncSession, iProfileId, syncDirection);
-			}
-		else
-			{
-		    iSyncJob.CreateL(iSyncSession, iProfileId);
-			}
-		}
-	else
-		{
-		User::Leave(KErrArgument);
-		}
-		
-	iCurrentSyncJobId = iSyncJob.Identifier();
-	iSyncRunning = ETrue;
-	
-	if (iIsSynchronousOperation)
-		{
-		iWait->Start();  // stop here until sync has completed
-		}
-   
-    FLOG( _L("sync job created: app=%d, profile=%d, job=%d, task=%d"), iApplicationId, iProfileId, aSyncParam.iJobId, aSyncParam.iTaskId );
-    FLOG( _L("CAspSyncHandler::DoSynchronizeL END") );
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::SynchronizeCompleted
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::SynchronizeCompleted(TInt aError)
-	{
-	FLOG( _L("CAspSyncHandler::SynchronizeCompleted START") );
-	
-	iSyncRunning = EFalse;
-	RProperty::Set( KPSUidNSmlDSSyncApp,
-	                           KDsJobCancel, KErrNone ); 
-	if (aError != KErrNone)
-		{
-		iSyncError = aError;
-		}
-   	
-   	iSyncJob.Close(); // this can be done when job has not been opened
-   	
-    TRAP_IGNORE(Dialog()->CancelProgressDialogL());
-	
-	if (iSyncError != KErrNone)
-		{
-	   	CloseSyncSession();
-   		ShowErrorNote();
-      	
-      	FLOG( _L("### sync failed (%d) ###"), iSyncError );
-		}
-	else
-	    {
-      	CloseSyncSession();
-      	TRAP_IGNORE(TDialogUtil::ShowInformationNoteL(R_ASP_SYNC_COMPLETED));
-	    }
-	    
-    if (iSyncObserver)
-    	{
-        TRAP_IGNORE(iSyncObserver->HandleSyncEventL(iSyncError, iProfileId));
-    	}
-    	
- 	if (iIsSynchronousOperation && iWait->IsStarted())
-		{
-	    iWait->AsyncStop();
-		}
-	    	
-	FLOG( _L("CAspSyncHandler::SynchronizeCompleted END") );
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::OnSyncMLSessionEvent (from MSyncMLEventObserver)
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::OnSyncMLSessionEvent(TEvent aEvent, TInt aIdentifier, TInt aError, TInt /*aAdditionalData*/)
-	{
-	FLOG( _L("CAspSyncHandler::OnSyncMLSessionEvent START") );
-
-#ifdef _DEBUG
-    LogSessionEvent(aEvent, aIdentifier, aError);
-#endif
-
-    if (iCurrentSyncJobId != aIdentifier)
-    	{
-    	FLOG( _L("### job conflict (%d/%d) ###"), iCurrentSyncJobId, aIdentifier );
-    	FLOG( _L("CAspSyncHandler::OnSyncMLSessionEvent END") );
-    	return; // not our sync job
-    	}
-	
-	if (aEvent == EJobStop)
-		{
-		RProperty::Set( KPSUidNSmlDSSyncApp,
-		                            KDsJobCancel, KErrNone );   
-		
-		iStopEventReceived = ETrue;
-		if (aError != KErrNone)
-			{
-			iSyncError = aError;
-			}
-	
-	    if (State()->SyncPhase() == CAspState::EPhaseCanceling)
-		    {
-		    CompleteWithDelay(aError);
-		    }
-        else if (iCompleteEventReceived || iSyncError != KErrNone)
-		    {
-		    CompleteWithDelay(aError);
-		    }
-		}
-    	
-	if (aEvent == EJobStartFailed || aEvent == EJobRejected)
-		{
-		RProperty::Set( KPSUidNSmlDSSyncApp,
-		                            KDsJobCancel, KErrNone );   
-		CompleteWithDelay(aError);
-		}
-		
-	FLOG( _L("CAspSyncHandler::OnSyncMLSessionEvent END") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::CompleteWithDelay
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::CompleteWithDelay(TInt aError)
-	{
-	iActiveCaller->Start(aError, 0); // call SynchronizeCompleted with delay
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::OnSyncMLSyncError (from MSyncMLProgressObserver)
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::OnSyncMLSyncError(TErrorLevel aErrorLevel, TInt aError, TInt /*aTaskId*/, TInt /*aInfo1*/, TInt /*aInfo2*/)
-	{
-	FLOG( _L("CAspSyncHandler::OnSyncMLSyncError START") );
-	
-	// just store error code - sync is terminated only in function OnSyncMLSessionEvent
-	if (aErrorLevel == ESmlFatalError || aErrorLevel == ESmlWarning)
-		{
-		iSyncError = aError;
-		}
-		
-#ifdef _DEBUG
-    LogErrorEvent(aErrorLevel, aError);
-#endif
-
-	FLOG( _L("CAspSyncHandler::OnSyncMLSyncError END") );
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::OnSyncMLSyncProgress (from MSyncMLProgressObserver)
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::OnSyncMLSyncProgress(TStatus aStatus, TInt aInfo1, TInt /*aInfo2*/)
-	{
-	FLOG( _L("CAspSyncHandler::OnSyncMLSyncProgress START") );
-	
-	if (State()->SyncPhase() == CAspState::EPhaseCanceling)
-		{
-		return; // no progress dialog updating while canceling
-		}
-
-#ifdef _DEBUG
-    LogProgressEvent(aStatus, aInfo1);
-#endif
-	
-	switch (aStatus)
-		{
-		case ESmlConnecting:
-		    State()->SetSyncPhase(CAspState::EPhaseConnecting);
-	        UpdateDialog();
-		    break;
-		case ESmlConnected:
-		    break;
-		case ESmlLoggingOn:
-		    break;
-		case ESmlLoggedOn:
-		    State()->SetSyncPhase(CAspState::EPhaseSynchronizing);
-		    UpdateDialog();
-		    break;
-		case ESmlDisconnected:
-		    State()->SetSyncPhase(CAspState::EPhaseDisconnecting);
-		    UpdateDialog();
-		    break;
-		case ESmlCompleted:
-		    iCompleteEventReceived = ETrue;
-		    
-			if (iStopEventReceived)
-			    {
-			    FLOG( _L("### EJobStop already received ###") );
-			    CompleteWithDelay(iSyncError);
-			    }
-            else
-            	{
-            	State()->SetSyncPhase(CAspState::EPhaseDisconnecting);
-		        UpdateDialog();
-            	}
-		    break;
-
-		case ESmlSendingModificationsToServer:
-		    State()->SetSyncPhase(CAspState::EPhaseSending);
-   		    State()->ResetProgress();
-		    State()->SetTotalProgress(aInfo1); // set total sync event count
-
-     	    UpdateDialog();
-		    break;
-		case ESmlReceivingModificationsFromServer:
-		    State()->SetSyncPhase(CAspState::EPhaseReceiving);
-   		    State()->ResetProgress();
-		    State()->SetTotalProgress(aInfo1); // set total sync event count
-
-	        UpdateDialog();
-		    break;
-		    
-		case ESmlSendingMappingsToServer:
-		    State()->SetSyncPhase(CAspState::EPhaseSynchronizing);
-		    UpdateDialog();
-		    break;
-		
-		default:
-		    break;
-		}
-		
-	FLOG( _L("CAspSyncHandler::OnSyncMLSyncProgress END") );
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::OnSyncMLDataSyncModifications (from MSyncMLProgressObserver)
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::OnSyncMLDataSyncModifications(TInt aTaskId, 
-                      const TSyncMLDataSyncModifications& aClientModifications,
-                      const TSyncMLDataSyncModifications& aServerModifications)
-	{
-	
-    if (!Dialog()->ProgressDialog())
-    	{
-    	//it is observed that some times this call back comes 
-    	//just after deleting progress dialog.
-    	return;
-    	}
-	
-	TRAPD(err, OnSyncMLDataSyncModificationsL(aTaskId, aClientModifications, aServerModifications));
-	if (err != KErrNone)
-		{
-		FLOG( _L("### CAspSyncHandler::OnSyncMLDataSyncModificationsL failed (%d) ###"), err );
-		FLOG( _L("### CAspSyncHandler::OnSyncMLDataSyncModificationsL failed (%d) ###"), err );
-		}
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::OnSyncMLDataSyncModificationsL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::OnSyncMLDataSyncModificationsL(TInt aTaskId,
-                      const TSyncMLDataSyncModifications& aClientModifications,
-                      const TSyncMLDataSyncModifications& aServerModifications)
-	{
-	FLOG( _L("CAspSyncHandler::OnSyncMLDataSyncModificationsL START") );
-	
-
-	if (State()->Progress() == 0)
-		{
-	    TInt index = iContentList->FindProviderIndexForTask(aTaskId);
-	
-	    if (index != KErrNotFound)
-		    {
-		    TAspProviderItem& item = iContentList->ProviderItem(index);
-		    HBufC* hBuf = CAspResHandler::GetContentNameLC(item.iDataProviderId,
-		                                                   item.iDisplayName);
-	        State()->SetContentL(hBuf->Des());
-
-#ifdef _DEBUG
-            LogModificationEvent(aTaskId, hBuf->Des());
-#endif
-
-	        CleanupStack::PopAndDestroy(hBuf);
-		    }
-	    else
-		    {
-		    State()->SetContentL(KNullDesC);
-		    FLOG( _L("### task not found (%d) ###"), aTaskId );
-		    }
-		}
-	
-	// Set sync event count. On last OnSyncMLDataSyncModifications call it 
-	// must match total sync event count (set in OnSyncMLSyncProgress). 
-	TInt count = ProgressCount(aClientModifications, aServerModifications);
-	State()->IncreaseProgress(count);
-	
-	UpdateDialog();
-
-	
-#ifdef _DEBUG
-    LogModificationEvent(aTaskId, aClientModifications, aServerModifications);
-#endif
-
-
-	FLOG( _L("CAspSyncHandler::OnSyncMLDataSyncModificationsL END") );
-	FLOG( _L(" ") );
-	}
-
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::UpdateDialog
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::UpdateDialog()
-	{
-	TRAPD(err, UpdateDialogL());
-	
-	if (err != KErrNone)
-		{
-		FLOG( _L("### CAspSyncHandler::UpdateDialogL failed (%d) ###"), err );
-		}
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::UpdateDialogL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::UpdateDialogL()
-	{
-	if (!SyncRunning())
-		{
-		FLOG( _L("### CAspSyncHandler::UpdateDialogL: Sync not running ###") );
-		return;
-		}
-
-	TInt phase = State()->SyncPhase();
-	
-	if (phase == CAspState::EPhaseConnecting)
-		{
-		Dialog()->StartAnimationL();
-		HBufC* hBuf = ResHandlerL()->ReadLC(R_SYNCSTATUS_SYNC_CONN);  // "Connecting"
-		Dialog()->UpdateTextL(hBuf->Des());
-		CleanupStack::PopAndDestroy(hBuf);
-		}
-
-	if (phase == CAspState::EPhaseSynchronizing)
-		{
-		Dialog()->StartAnimationL();
-		HBufC* hBuf = ResHandlerL()->ReadLC(R_SYNCSTATUS_SYNC_SYNC); // "Synchronizing"
-		Dialog()->UpdateTextL(hBuf->Des());
-		CleanupStack::PopAndDestroy(hBuf);
-		}
-
-	if (phase == CAspState::EPhaseDisconnecting)
-		{
-		Dialog()->StartAnimationL();
-		HBufC* hBuf = ResHandlerL()->ReadLC(R_SYNCSTATUS_SYNC_DISC);  // "Disconnecting"
-		Dialog()->UpdateTextL(hBuf->Des());
-		CleanupStack::PopAndDestroy(hBuf);
-		}
-
-	if (phase == CAspState::EPhaseCanceling)
-		{
-		Dialog()->StartAnimationL();
-		HBufC* hBuf = ResHandlerL()->ReadLC(R_SYNCSTATUS_CANC);  // "Canceling"
-		Dialog()->UpdateTextL(hBuf->Des());
-		CleanupStack::PopAndDestroy(hBuf);
-		Dialog()->HideButtonL();
-		}
-
-//The number of Emails-Synced NOT printed if Sync is started from Sync E-mail Application
-	if (iApplicationId == EApplicationIdEmail)
-	     return;
-	
-	if (phase == CAspState::EPhaseSending || phase == CAspState::EPhaseReceiving)
-		{
-		if (State()->Progress() == 0 || State()->TotalProgress() == 0)
-			{
-			return; 
-			}
-			
-		if (State()->FirstProgress())
-			{
-			if (State()->ProgressKnown())
-				{
-    			Dialog()->CancelAnimation();
-	    		Dialog()->SetFinalProgress(State()->TotalProgress());
-     	    	Dialog()->SetProgress(State()->Progress());
-				}
-			else
-				{
-    			Dialog()->SetFinalProgress(0);
-	    	    Dialog()->StartAnimationL();
-				}
-			}
-		else if (State()->ProgressKnown())
-			{
-			Dialog()->SetProgress(State()->Progress());
-			}
-			
-		/* Implementation of CMCC PIM v3 begins*/
-		HBufC* hBuf = NULL;
-		if ( FeatureManager::FeatureSupported(KFeatureIdFfTdCmccpimsynchronizationprogressindicatorui) )
-		    {
-            // CMCC sync progress indicator enabled
-            hBuf = ResHandlerL()->ReadProgressTextLC(State()->Content(), State()->Progress(), State()->TotalProgress(), phase);
-            }
-		else
-		    {
-            hBuf = ResHandlerL()->ReadProgressTextLC(State()->Content(), phase);
-		    }
-		/* Implementation of CMCC PIM v3 ends*/
-		
-
-#ifdef _DEBUG
-		TBuf<KBufSize> buf1; TBuf<KBufSize> buf2;
-		buf1 = hBuf->Des();
-		buf2.Format(_L("%S\n (%d/%d)"), &buf1, State()->Progress(), State()->TotalProgress());
-		CleanupStack::PopAndDestroy(hBuf);
-		hBuf = NULL;
-		hBuf = buf2.AllocLC();
-#endif
-		
-   	
-    	Dialog()->UpdateTextL(hBuf->Des());
-		CleanupStack::PopAndDestroy(hBuf);
-		}
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::UpdateRequired
-//
-// -----------------------------------------------------------------------------
-//
-TBool CAspSyncHandler::UpdateRequired()
-	{
-    const TInt KProgressLevel_1 = 10;
-    const TInt KProgressLevel_2 = 20;
-    const TInt KProgressLevel_3 = 50;
-    
-    const TInt KProgressStep_1 = 5;
-    const TInt KProgressStep_2 = 10;
-    const TInt KProgressStep_3 = 20;
-    
-    TInt total = State()->TotalProgress();
-    TInt current = State()->Progress();
-    TBool firstProgress = State()->FirstProgress();
-    TBool progressKnown = State()->ProgressKnown();
-    
-    // always show first progress
-    if (firstProgress)
-    	{
-    	return ETrue;
-    	}
-    
-    // handle case where total progress count is not known
-    if (!progressKnown)
-    	{
-    	if (current <= KProgressStep_2)
-    		{
-    		return ETrue;
-    		}
-    	else if (current % KProgressStep_1 == 0)
-    		{
-    		return ETrue;
-    		}
-    		
-    	return EFalse;
-    	}
-    
-    // handle case where total progress count is known
-    if (current == total)
-    	{
-    	return ETrue; // always show last progress
-    	}
-    else if (total <= KProgressLevel_1)
-    	{
-    	return ETrue;
-    	}
-    else if (total > KProgressLevel_1 && total <= KProgressLevel_2)
-		{
-    	if (current % KProgressStep_1 == 0)
-			{
-			return ETrue;
-			}
-		}
-    else if (total > KProgressLevel_2 && total <= KProgressLevel_3)
-		{
-    	if (current % KProgressStep_2 == 0)
-			{
-			return ETrue;
-			}
-		}
-    else if (total > KProgressLevel_3)
-		{
-    	if (current % KProgressStep_3 == 0)
-			{
-			return ETrue;
-			}
-		}
-
-	return EFalse;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::HandleActiveCallL (from MAspActiveCallerObserver)
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::HandleActiveCallL(TInt aCallId)
-	{
-    SynchronizeCompleted(aCallId);
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::ShowErrorNote
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::ShowErrorNote()
-	{
-	if (iSyncError == KErrNone || iSyncError == KErrCancel)
-		{
-		return; // nothing to show
-		}
-
-	// show sync engine error
-	if (iSyncError <= SyncMLError::KErrSyncEngineErrorBase)
-		{
-		HBufC* hBuf = NULL;
-		hBuf = TAspSyncError::GetSmlErrorText(iSyncError, 0);
-		if (hBuf)  // hBuf can be NULL
- 			{
-     	   	TRAP_IGNORE(TDialogUtil::ShowErrorQueryL(hBuf->Des()));
-	     	delete hBuf;
-			}
-			
-		return;
-		}
-
-    // show system error
-    TPtrC errorMsg;
-    
-    errorMsg.Set(iTextResolver->ResolveErrorString(iSyncError, CTextResolver::ECtxNoCtxNoSeparator));
-	
-	TRAP_IGNORE(TDialogUtil::ShowErrorQueryL(errorMsg));
-    }
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::ShowProgressDialogL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::ShowProgressDialogL()
-	{
-	delete iProgressDialog;
-	iProgressDialog = NULL;
-	iProgressDialog = CAspProgressDialog::NewL(this);
-	
-	TInt resId = R_SYNCSTATUS_SYNC_CONN;
-	if (iApplicationId == EApplicationIdEmail)
-		{
-		resId = R_SYNCSTATUS_SYNC_SYNC;
-		}
-	
-	HBufC* hBuf = CAspResHandler::ReadLC(resId);
-	
-	iProgressDialog->SetApplicationId(iApplicationId);
-	
-   	TFileName bitmapName;
-	CAspResHandler::GetBitmapFileName(bitmapName);
-	
-	iProgressDialog->LaunchProgressDialogL(hBuf->Des(),
-	                                       KAknsIIDQgnNoteSml, 
-	                                       bitmapName,
-	                                       EMbmAspsyncutilQgn_note_sml,
-	                                       EMbmAspsyncutilQgn_note_sml_mask);
-	CleanupStack::PopAndDestroy(hBuf);
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::CreateContentListL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::CreateContentListL()
-    {
-    TAspParam param(iApplicationId, &iSyncSession);
-
-    CAspProfile* profile = CAspProfile::NewLC(param);
-    profile->OpenL(iProfileId, CAspProfile::EOpenRead, CAspProfile::EBaseProperties);
-    
-	param.iProfile = profile;
-	param.iMode = CAspContentList::EInitAll;
-	
-	delete iContentList;
-	iContentList = NULL;
-	iContentList = CAspContentList::NewL(param);
-	
-    CleanupStack::PopAndDestroy(profile);	
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::CheckLocalDatabaseL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::CheckLocalDatabaseL(TInt aProfileId)
-    {
-    TAspParam param(iApplicationId, &iSyncSession);
-
-    CAspProfile* profile = CAspProfile::NewLC(param);
-    profile->OpenL(aProfileId, CAspProfile::EOpenRead, CAspProfile::EBaseProperties);
-    
-	TInt dataProviderId = KErrNotFound;
-	TBool databaseFound = TAspTask::CheckLocalDatabase(profile, dataProviderId);
-	CleanupStack::PopAndDestroy(profile);
-	
-	if (!databaseFound)
-		{
-		User::Leave(SyncMLError::KErrClientDatabaseNotFound);
-		}
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::Dialog
-//
-// -----------------------------------------------------------------------------
-//
-CAspProgressDialog* CAspSyncHandler::Dialog()
-	{
-	__ASSERT_DEBUG(iProgressDialog, TUtil::Panic(KErrGeneral));
-
-	return iProgressDialog;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::State
-//
-// -----------------------------------------------------------------------------
-//
-CAspState* CAspSyncHandler::State()
-	{
-	__ASSERT_DEBUG(iState, TUtil::Panic(KErrGeneral));
-
-	return iState;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CAspSyncHandler::ResHandlerL
-//
-// -----------------------------------------------------------------------------
-//
-CAspResHandler* CAspSyncHandler::ResHandlerL()
-	{
-	if (!iResHandler)
-		{
-		iResHandler = CAspResHandler::NewL();
-		}
-
-	return iResHandler;
-	}
-
-
-// -----------------------------------------------------------------------------
-// SyncRunning
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CAspSyncHandler::SyncRunning()
-	{
-	return iSyncRunning;
-	}
-
-// -----------------------------------------------------------------------------
-// IsServerAlertSync
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CAspSyncHandler::IsServerAlertSync()
-	{
-	return iServerAlertSync;
-	}
-
-
-// -----------------------------------------------------------------------------
-// OpenSyncSessionL
-// 
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::OpenSyncSessionL()
-	{
-	if (!iSyncSessionOpen)
-		{
-        TRAPD(err, iSyncSession.OpenL());
-        
-        if (err != KErrNone)
-        	{
-        	FLOG( _L("### CAspSyncHandler: RSyncMLSession::OpenL failed (%d) ###"), err );
-        	User::Leave(err);
-        	}
-
-		iSyncSessionOpen = ETrue;
-		}
-    }
-
-
-// -----------------------------------------------------------------------------
-// CloseSyncSession
-// 
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::CloseSyncSession()
-	{
-	if (iSyncSessionOpen)
-		{
-		iSyncSession.Close();
-		iSyncSessionOpen = EFalse;
-		}
-    }
-
-
-// -----------------------------------------------------------------------------
-// ProgressCount
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CAspSyncHandler::ProgressCount(const TSyncMLDataSyncModifications& aC, 
-                                    const TSyncMLDataSyncModifications& aS)
-	{
-	TInt num1 = aC.iNumAdded + aC.iNumReplaced + aC.iNumMoved + aC.iNumDeleted + aC.iNumFailed;
-	TInt num2 = aS.iNumAdded + aS.iNumReplaced + aS.iNumMoved + aS.iNumDeleted + aS.iNumFailed;
-	
-	return num1 + num2;
-	}
-	
-	
-
-#ifdef _DEBUG
-
-
-// -----------------------------------------------------------------------------
-// LogModificationEvent
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::LogModificationEvent(TInt aTaskId, const TSyncMLDataSyncModifications& aC, const TSyncMLDataSyncModifications& aS)
-	{
-	TInt num1 = State()->Progress();
-	TInt num2 = State()->TotalProgress();
-	
-	if (num1 > num2 && num2 != -1)
-		{
-		FTRACE( RDebug::Print(_L("### syncui: task=%d, progress=%d, totalprogress=%d ###"), aTaskId, num1, num2) );
-		FLOG(_L("### syncui: task=%d, progress=%d, totalprogress=%d ###"), aTaskId, num1, num2);
-		}
-	else
-		{
-		FTRACE( RDebug::Print(_L("syncui: task=%d, progress=%d, totalprogress=%d"), aTaskId, num1, num2) );
-		FLOG(_L("syncui: task=%d, progress=%d, totalprogress=%d"), aTaskId, num1, num2);
-		}
-		
-	num1 = aC.iNumAdded + aC.iNumReplaced + aC.iNumMoved + aC.iNumDeleted + aC.iNumFailed;
-	num2 = aS.iNumAdded + aS.iNumReplaced + aS.iNumMoved + aS.iNumDeleted + aS.iNumFailed;
-	
-	if ( (num1>0 && num2>0) || (num1<0 || num2<0) || (num1==0 && num2==0) )
-		{
-		FLOG( _L("### parameter error ###") );
-		}
-		
-    FTRACE( RDebug::Print(_L("client: add=%d, rep=%d, mov=%d del=%d fai=%d"), aC.iNumAdded, aC.iNumReplaced, aC.iNumMoved, aC.iNumDeleted, aC.iNumFailed) );
-    FTRACE( RDebug::Print(_L("server: add=%d, rep=%d, mov=%d del=%d fai=%d"), aS.iNumAdded, aS.iNumReplaced, aS.iNumMoved, aS.iNumDeleted, aS.iNumFailed) );
-    
-    FLOG(_L("client: add=%d, rep=%d, mov=%d del=%d fai=%d"), aC.iNumAdded, aC.iNumReplaced, aC.iNumMoved, aC.iNumDeleted, aC.iNumFailed);
-    FLOG(_L("server: add=%d, rep=%d, mov=%d del=%d fai=%d"), aS.iNumAdded, aS.iNumReplaced, aS.iNumMoved, aS.iNumDeleted, aS.iNumFailed);
-	}
-
-
-// -----------------------------------------------------------------------------
-// LogModificationEvent
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::LogModificationEvent(TInt aTaskId, const TDesC& aText)
-	{
-	FTRACE( RDebug::Print(_L("progress = 0, task id = %d, task name ='%S'"), aTaskId, &aText) );
-	FLOG(_L("progress = 0, task id = %d, task name ='%S'"), aTaskId, &aText);
-	}
-
-
-// -----------------------------------------------------------------------------
-// LogSessionEvent
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::LogSessionEvent(TEvent& aEvent, TInt aIdentifier, TInt aError)
-	{
-    TBuf<KBufSize> eventStr;
-    GetSyncEventText(eventStr, aEvent);
-
-    TBuf<KBufSize> errStr;
-    TAspSyncError::GetSyncMLErrorText(errStr, aError);
-
-	if (aError == KErrNone)
-		{
-		FTRACE( RDebug::Print(_L("event='%S' err='%S' job= %d curjob= %d"), &eventStr, &errStr, aIdentifier, iCurrentSyncJobId) );
-		FLOG(_L("event='%S' err='%S' job= %d curjob= %d"), &eventStr, &errStr, aIdentifier, iCurrentSyncJobId);
-		}
-	else
-		{
-		FTRACE( RDebug::Print(_L("### event='%S' err='%S' job= %d curjob= %d ###"), &eventStr, &errStr, aIdentifier, iCurrentSyncJobId) );
-		FLOG(_L("### event='%S' err='%S' job= %d curjob= %d ###"), &eventStr, &errStr, aIdentifier, iCurrentSyncJobId);
-		}
-	}
-	
-
-// -----------------------------------------------------------------------------
-// LogProgressEvent
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::LogProgressEvent(TStatus& aStatus, TInt aInfo1)
-	{
-    TBuf<KBufSize> statusStr;
-    GetSyncStatusText(statusStr, aStatus);
-    FTRACE( RDebug::Print(_L("OnSyncMLSyncProgress: status = '%S' info1 = %d"), &statusStr, aInfo1) );
-    FLOG(_L("OnSyncMLSyncProgress: status = '%S' info1 = %d"), &statusStr, aInfo1);
-    
-   	TInt num1 = State()->Progress();
-   	TInt num2 = State()->TotalProgress();
-   	if (num1 != num2 && num2 != -1)
-   		{
-   		FTRACE( RDebug::Print(_L("### progress count error (%d/%d) ###"), num1, num2) );
-   		FLOG(_L("### progress count error (%d/%d) ###"), num1, num2);
-   		}
-	}
-	
-	
-// -----------------------------------------------------------------------------
-// LogErrorEvent
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::LogErrorEvent(TErrorLevel aErrorLevel, TInt aError)
-	{
-    TBuf<KBufSize> errStr;
-    TAspSyncError::GetSyncMLErrorText(errStr, aError);
-    
-    if (aErrorLevel == ESmlFatalError)
-    	{
-    	FTRACE( RDebug::Print(_L("### OnSyncMLSyncError: fatalerror = %S ###"), &errStr) );
-    	FLOG(_L("### OnSyncMLSyncError: fatalerror = %S ###"), &errStr);
-    	}
-    else
-    	{
-    	FTRACE( RDebug::Print(_L("### OnSyncMLSyncError: error = %S ###"), &errStr) );
-    	FLOG(_L("### OnSyncMLSyncError: error = %S ###"), &errStr);
-    	}
-	}
-
-
-
-// -----------------------------------------------------------------------------
-// GetSyncStatusText
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::GetSyncStatusText(TDes& aText, MSyncMLProgressObserver::TStatus aStatus)
-	{
-    aText = _L("Unknown");
-    		
-	if (aStatus == MSyncMLProgressObserver::ESmlConnecting)
-		{
-		aText = _L("ESmlConnecting");
-		}
-	if (aStatus == MSyncMLProgressObserver::ESmlConnected)
-		{
-		aText = _L("ESmlConnected");
-		}
-	if (aStatus == MSyncMLProgressObserver::ESmlLoggingOn)
-		{
-		aText = _L("ESmlLoggingOn");
-		}
-	if (aStatus == MSyncMLProgressObserver::ESmlLoggedOn)
-		{
-		aText = _L("ESmlLoggedOn");
-		}
-	if (aStatus == MSyncMLProgressObserver::ESmlDisconnected)
-		{
-		aText = _L("ESmlDisconnected");
-		}
-	if (aStatus == MSyncMLProgressObserver::ESmlCompleted)
-		{
-		aText = _L("ESmlCompleted");
-		}
-	if (aStatus == MSyncMLProgressObserver::ESmlSendingModificationsToServer)
-		{
-		aText = _L("ESmlSendingModificationsToServer");
-		}
-	if (aStatus == MSyncMLProgressObserver::ESmlReceivingModificationsFromServer)
-		{
-		aText = _L("ESmlReceivingModificationsFromServer");
-		}
-	if (aStatus == MSyncMLProgressObserver::ESmlSendingMappingsToServer)
-		{
-		aText = _L("ESmlSendingMappingsToServer");
-		}
-	}
-
-
-// -----------------------------------------------------------------------------
-// GetSyncEventText
-//
-// -----------------------------------------------------------------------------
-//
-void CAspSyncHandler::GetSyncEventText(TDes& aText, MSyncMLEventObserver::TEvent aEvent)
-	{
-    aText = _L("Unknown");
-    		
-	if (aEvent == MSyncMLEventObserver::EJobStart)
-		{
-		aText = _L("EJobStart");
-		}
-	if (aEvent == MSyncMLEventObserver::EJobStartFailed)
-		{
-		aText = _L("EJobStartFailed");
-		}
-	if (aEvent == MSyncMLEventObserver::EJobStop)
-		{
-		aText = _L("EJobStop");
-		}
-	if (aEvent == MSyncMLEventObserver::EJobRejected)
-		{
-		aText = _L("EJobRejected");
-		}
-	if (aEvent == MSyncMLEventObserver::EProfileCreated)
-		{
-		aText = _L("EProfileCreated");
-		}
-	if (aEvent == MSyncMLEventObserver::EProfileChanged)
-		{
-		aText = _L("EProfileChanged");
-		}
-	if (aEvent == MSyncMLEventObserver::EProfileDeleted)
-		{
-		aText = _L("EProfileDeleted");
-		}
-	if (aEvent == MSyncMLEventObserver::ETransportTimeout)
-		{
-		aText = _L("ETransportTimeout");
-		}
-	if (aEvent == MSyncMLEventObserver::EServerSuspended)
-		{
-		aText = _L("EServerSuspended");
-		}
-	if (aEvent == MSyncMLEventObserver::EServerTerminated)
-		{
-		aText = _L("EServerTerminated");
-		}
-	}
-
-#endif
-
-
-
-
-
-// End of file
-