filemanager/src/fmbkupengine/src/MMCScBkupSBEUtils.cpp
branchRCL_3
changeset 21 65326cf895ed
parent 20 491b3ed49290
child 22 f5c50b8af68c
--- a/filemanager/src/fmbkupengine/src/MMCScBkupSBEUtils.cpp	Tue Aug 31 15:06:05 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,523 +0,0 @@
-/*
-* Copyright (c) 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: MMCScBkupSBEUtils implementation
-*
-*
-*/
-
-#include "MMCScBkupSBEUtils.h"
-
-// System includes
-#include <e32property.h>
-#include <connect/sbdefs.h>
-#include "CMMCScBkupDataOwnerInfo.h"
-
-// Namespaces
-using namespace conn;
-
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::SecureIdFromGenericL()
-// 
-// 
-// ---------------------------------------------------------------------------
-TSecureId MMCScBkupSBEUtils::SecureIdFromGenericL(const CSBGenericDataType& aGeneric)
-    {
-    TSecureId ret = 0;
-    CSBGenericDataType* nonConstOriginal = const_cast<CSBGenericDataType*>(&aGeneric);
-    const TSBDerivedType type = aGeneric.DerivedTypeL();
-    //
-    switch(type)
-        {
-    case ESIDDerivedType:
-        {
-        CSBSecureId* temp = CSBSecureId::NewL( nonConstOriginal );
-        CleanupStack::PushL( temp );
-        ret = temp->SecureIdL();
-        CleanupStack::PopAndDestroy( temp );
-        break;
-        }
-    case ESIDTransferDerivedType:
-        {
-        // First make a generic transfer type object...
-        CSBGenericTransferType* transferTypeTemp = CSBGenericTransferType::NewL( nonConstOriginal->Externalise() );
-        CleanupStack::PushL(transferTypeTemp);
-
-        // Now make instance transfer type
-        CSBSIDTransferType* temp = CSBSIDTransferType::NewL( transferTypeTemp );
-        CleanupStack::PushL(temp);
-
-        // Now get the result
-        ret = temp->SecureIdL();
-
-        // Tidy up
-        CleanupStack::PopAndDestroy(2, transferTypeTemp);
-        break;
-        }
-    case EPackageDerivedType:
-        {
-        CSBPackageId* temp = CSBPackageId::NewL( nonConstOriginal );
-        CleanupStack::PushL( temp );
-        ret = temp->SecureIdL();
-        CleanupStack::PopAndDestroy( temp );
-        break;
-        }
-    case EPackageTransferDerivedType:
-    case EJavaDerivedType:
-    case EJavaTransferDerivedType:
-    default:
-        __BREAKPOINT();
-        User::Leave(KErrNotSupported);
-        break;
-       }
-    //
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::PackageIdFromGenericL()
-// 
-// 
-// ---------------------------------------------------------------------------
-TUid MMCScBkupSBEUtils::PackageIdFromGenericL(const CSBGenericDataType& aGeneric)
-    {
-    TUid ret = KNullUid;
-    CSBGenericDataType* nonConstOriginal = const_cast<CSBGenericDataType*>(&aGeneric);
-    const TSBDerivedType type = aGeneric.DerivedTypeL();
-    //
-    switch(type)
-        {
-    case EPackageDerivedType:
-        {
-        CSBPackageId* temp = CSBPackageId::NewL( nonConstOriginal );
-        CleanupStack::PushL(temp);
-        ret = temp->PackageIdL();
-        CleanupStack::PopAndDestroy(temp);
-        break;
-        }
-    case EPackageTransferDerivedType:
-        {
-        // First make a generic transfer type object...
-        CSBGenericTransferType* transferTypeTemp = CSBGenericTransferType::NewL( nonConstOriginal->Externalise() );
-        CleanupStack::PushL(transferTypeTemp);
-
-        // Now make instance transfer type
-        CSBPackageTransferType* temp = CSBPackageTransferType::NewL( transferTypeTemp );
-        CleanupStack::PushL(temp);
-
-        // Now get the result
-        ret = temp->PackageIdL();
-
-        // Tidy up
-        CleanupStack::PopAndDestroy(2, transferTypeTemp);
-        break;
-        }
-    case ESIDDerivedType:
-    case ESIDTransferDerivedType:
-    case EJavaDerivedType:
-    case EJavaTransferDerivedType:
-    default:
-        __BREAKPOINT();
-        User::Leave(KErrNotSupported);
-        break;
-       }
-    //
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::JavaHashFromGenericLC()
-// 
-// 
-// ---------------------------------------------------------------------------
-HBufC* MMCScBkupSBEUtils::JavaHashFromGenericLC(const CSBGenericDataType& aGeneric)
-    {
-    HBufC* ret = NULL;
-    CSBGenericDataType* nonConstOriginal = const_cast<CSBGenericDataType*>(&aGeneric);
-    const TSBDerivedType type = aGeneric.DerivedTypeL();
-    //
-    switch(type)
-        {
-    case EJavaDerivedType:
-        {
-        CSBJavaId* temp = CSBJavaId::NewL( nonConstOriginal );
-        CleanupStack::PushL(temp);
-        ret = temp->SuiteHashL().AllocL();
-        CleanupStack::PopAndDestroy(temp);
-        CleanupStack::PushL( ret );
-        break;
-        }
-    case EJavaTransferDerivedType:
-        {
-        // First make a generic transfer type object...
-        CSBGenericTransferType* transferTypeTemp = CSBGenericTransferType::NewL( nonConstOriginal->Externalise() );
-        CleanupStack::PushL(transferTypeTemp);
-
-        // Now make a instance transfer type
-        CSBJavaTransferType* temp = CSBJavaTransferType::NewL( transferTypeTemp );
-        CleanupStack::PushL(temp);
-
-        // Now get the result
-        ret = temp->SuiteHashL().AllocL();
-
-        // Tidy up
-        CleanupStack::PopAndDestroy(2, transferTypeTemp);
-        CleanupStack::PushL( ret );
-        break;
-        }
-    case ESIDDerivedType:
-    case ESIDTransferDerivedType:
-    case EPackageDerivedType:
-    case EPackageTransferDerivedType:
-    default:
-        __BREAKPOINT();
-        User::Leave(KErrNotSupported);
-        break;
-       }
-    //
-    if  ( ret == NULL )
-        {
-        ret = KNullDesC().AllocLC();
-        }
-    //
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::CopyLC()
-// 
-// 
-// ---------------------------------------------------------------------------
-CSBGenericDataType* MMCScBkupSBEUtils::CopyLC(const CSBGenericDataType& aToBeCopied)
-    {
-    CSBGenericDataType* ret = NULL;
-
-    // Have to do this through poor implementation of SBE API 
-    CSBGenericDataType* nonConstOriginal = const_cast<CSBGenericDataType*>(&aToBeCopied);
-    //
-    const TSBDerivedType type = nonConstOriginal->DerivedTypeL();
-    switch(type)
-        {
-    case ESIDDerivedType:
-        ret = CSBSecureId::NewL(nonConstOriginal);
-        break;
-    case EPackageDerivedType:
-        ret = CSBPackageId::NewL(nonConstOriginal);
-        break;
-    case EJavaDerivedType:
-        ret = CSBJavaId::NewL(nonConstOriginal);
-        break;
-    case ESIDTransferDerivedType:
-    case EPackageTransferDerivedType:
-    case EJavaTransferDerivedType:
-        {
-        // Must first create a generic transfer type object... sigh...
-        CSBGenericTransferType* transferType = CSBGenericTransferType::NewL( nonConstOriginal->Externalise() );
-        CleanupStack::PushL( transferType ); 
-        if ( ESIDTransferDerivedType == type )
-            {
-            ret = CSBSIDTransferType::NewL( transferType );
-            }
-        else if ( EPackageTransferDerivedType == type )
-            {
-            ret = CSBPackageTransferType::NewL( transferType );
-            }
-        // Type is EJavaTransferDerivedType
-        else
-            {
-            ret = CSBJavaTransferType::NewL( transferType );
-            }
-        CleanupStack::PopAndDestroy( transferType );
-        }
-    default:
-        break;
-       }
-    //
-    if  (!ret)
-        {
-        __BREAKPOINT();
-        User::Leave(KErrNotSupported);
-        }
-    CleanupStack::PushL(ret);
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::TransferTypeLC()
-// 
-// 
-// ---------------------------------------------------------------------------
-CSBGenericTransferType* MMCScBkupSBEUtils::TransferTypeLC( const CSBGenericDataType& aDT, TDriveNumber aDrive, 
-    TTransferDataType aTransferType, TInt aVersion )
-    {
-    CSBGenericTransferType* ret = NULL;
-
-    // Have to do this through poor implementation of SBE API 
-    CSBGenericDataType* nonConstOriginal = const_cast< CSBGenericDataType* >( &aDT );
-    //
-    const TSBDerivedType type = nonConstOriginal->DerivedTypeL();
-    switch( type )
-        {
-    case ESIDDerivedType:
-    case ESIDTransferDerivedType:
-        {
-        const TSecureId secureId = SecureIdFromGenericL( aDT );
-        ret = CSBSIDTransferType::NewL( secureId, aDrive, aTransferType );
-        break;
-        }
-
-    case EPackageDerivedType:
-        {
-        TSecureId secureId = SecureIdFromGenericL( aDT );
-        if( secureId.iId == KNullUid.iUid && aVersion > CMMCScBkupDataOwnerInfo::EStreamFormatVersionFirst )
-            {
-            secureId = MMCScBkupSBEUtils::PackageIdFromGenericL( aDT );
-            }
-        ret = CSBSIDTransferType::NewL( secureId, aDrive, aTransferType );
-        break;
-        }
-
-    default:
-    case EPackageTransferDerivedType:
-    case EJavaDerivedType:
-    case EJavaTransferDerivedType:
-        __BREAKPOINT();
-        User::Leave( KErrNotSupported );
-        break;
-        }
-    //
-    CleanupStack::PushL( ret );
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::TransferTypeLC()
-// 
-// 
-// ---------------------------------------------------------------------------
-CSBGenericTransferType* MMCScBkupSBEUtils::TransferTypeLC(const CSBGenericDataType& aDT, TDriveNumber aDrive, 
-    TPackageDataType aDataType, TInt /*aVersion*/)
-    {
-    CSBGenericTransferType* ret = NULL;
-
-    // Have to do this through poor implementation of SBE API 
-    CSBGenericDataType* nonConstOriginal = const_cast<CSBGenericDataType*>(&aDT);
-    //
-    const TSBDerivedType type = nonConstOriginal->DerivedTypeL();
-    switch(type)
-        {
-    case EPackageDerivedType:
-    case EPackageTransferDerivedType:
-        {
-        const TUid packageId = PackageIdFromGenericL(aDT);
-        ret = CSBPackageTransferType::NewL(packageId, aDrive, aDataType);
-        break;
-        }
-
-    default:
-    case ESIDDerivedType:
-    case ESIDTransferDerivedType:
-    case EJavaDerivedType:
-    case EJavaTransferDerivedType:
-        __BREAKPOINT();
-        User::Leave(KErrNotSupported);
-        break;
-        }
-    //
-    CleanupStack::PushL(ret);
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::TransferTypeLC()
-// 
-// 
-// ---------------------------------------------------------------------------
-CSBGenericTransferType* MMCScBkupSBEUtils::TransferTypeLC(const CSBGenericDataType& aDT, TDriveNumber aDrive, 
-    TJavaTransferType aDataType, TInt /*aVersion*/)
-    {
-    CSBGenericTransferType* ret = NULL;
-
-    // Have to do this through poor implementation of SBE API 
-    CSBGenericDataType* nonConstOriginal = const_cast<CSBGenericDataType*>(&aDT);
-    //
-    const TSBDerivedType type = nonConstOriginal->DerivedTypeL();
-    switch(type)
-        {
-    case EJavaDerivedType:
-    case EJavaTransferDerivedType:
-        {
-        HBufC* hash = JavaHashFromGenericLC( aDT );
-        ret = CSBJavaTransferType::NewL( *hash, aDrive, aDataType );
-        CleanupStack::PopAndDestroy( hash );
-        break;
-        }
-
-    default:
-    case ESIDDerivedType:
-    case ESIDTransferDerivedType:
-    case EPackageDerivedType:
-    case EPackageTransferDerivedType:
-        __BREAKPOINT();
-        User::Leave(KErrNotSupported);
-        break;
-        }
-    //
-    CleanupStack::PushL(ret);
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::PhoneIsInBackupOrRestoreModeL()
-// 
-// 
-// ---------------------------------------------------------------------------
-TBool MMCScBkupSBEUtils::PhoneIsInBackupOrRestoreModeL()
-    {
-    TBool backupInProgress = EFalse;
-    //
-    TInt value = 0;
-    const TInt error = RProperty::Get( KUidSystemCategory, KUidBackupRestoreKey, value );
-    User::LeaveIfError( error );
-    //
-    const TBURPartType partType = static_cast< TBURPartType >( value & KBURPartTypeMask );
-    if  (value != 0)
-        {
-        switch(partType)
-            {
-        case EBURUnset:
-        case EBURNormal:
-            break;
-        case EBURBackupFull:
-        case EBURBackupPartial:
-        case EBURRestoreFull:
-        case EBURRestorePartial:
-            backupInProgress = ETrue;
-            break;
-            }
-        }
-    //
-    return backupInProgress;
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::EndBackupOrRestoreL()
-// 
-// 
-// ---------------------------------------------------------------------------
-void MMCScBkupSBEUtils::EndBackupOrRestoreL( CSBEClient& aSBEClient )
-    {
-    TDriveList nullDriveList;
-    aSBEClient.SetBURModeL( nullDriveList, EBURNormal, ENoBackup);
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::HasSystemDataL()
-// 
-// 
-// ---------------------------------------------------------------------------
-TBool MMCScBkupSBEUtils::HasSystemDataL( const CDataOwnerInfo& aDataOwner )
-    {
-    const TSBDerivedType type = aDataOwner.Identifier().DerivedTypeL();
-    const TBool systemDataType = ( type == EPackageDerivedType || 
-                                   type == EPackageTransferDerivedType );
-    const TBool hasSystemData = ( aDataOwner.CommonSettings() & EHasSystemFiles );
-    //
-    return ( systemDataType && hasSystemData );
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::HasJavaDataL()
-// 
-// 
-// ---------------------------------------------------------------------------
-TBool MMCScBkupSBEUtils::HasJavaDataL( const CDataOwnerInfo& aDataOwner )
-    {
-    const TSBDerivedType type = aDataOwner.Identifier().DerivedTypeL();
-    const TBool javaDataType = ( type == EJavaDerivedType || 
-                                 type == EJavaTransferDerivedType );
-    const TBool hasSystemData = ( aDataOwner.CommonSettings() & EHasSystemFiles );
-
-    // Java abuses the "has system files flag" - this has been confirmed
-    // with Symbian.
-    return ( javaDataType && hasSystemData );
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::HasPassiveDataL()
-// 
-// 
-// ---------------------------------------------------------------------------
-TBool MMCScBkupSBEUtils::HasPassiveDataL( const CDataOwnerInfo& aDataOwner )
-    {
-    const TSBDerivedType type = aDataOwner.Identifier().DerivedTypeL();
-    const TBool passiveDataType = ( type == ESIDDerivedType || 
-                                    type == ESIDTransferDerivedType ||
-                                    type == EPackageDerivedType || 
-                                    type == EPackageTransferDerivedType );
-    const TBool hasPassiveData = ( aDataOwner.CommonSettings() & EPassiveBUR );
-    //
-    return ( passiveDataType && hasPassiveData );
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::HasActiveDataL()
-// 
-// 
-// ---------------------------------------------------------------------------
-TBool MMCScBkupSBEUtils::HasActiveDataL( const CDataOwnerInfo& aDataOwner )
-    {
-    const TSBDerivedType type = aDataOwner.Identifier().DerivedTypeL();
-    const TBool activeDataType = ( type == ESIDDerivedType || 
-                                   type == ESIDTransferDerivedType ||
-                                   type == EPackageDerivedType || 
-                                   type == EPackageTransferDerivedType );
-    const TBool hasActiveData = ( aDataOwner.CommonSettings() & EActiveBUR );
-    //
-    return ( activeDataType && hasActiveData );
-    }
-
-
-// ---------------------------------------------------------------------------
-// MMCScBkupSBEUtils::HasPublicDataL()
-// 
-// 
-// ---------------------------------------------------------------------------
-TBool MMCScBkupSBEUtils::HasPublicDataL( const CDataOwnerInfo& aDataOwner )
-    {
-    const TSBDerivedType type = aDataOwner.Identifier().DerivedTypeL();
-    const TBool publicDataType = ( type == ESIDDerivedType || 
-                                   type == ESIDTransferDerivedType ||
-                                   type == EPackageDerivedType || 
-                                   type == EPackageTransferDerivedType );
-    const TBool hasPublicData = ( aDataOwner.PassiveSettings() & EHasPublicFiles );
-    //
-    return ( hasPublicData && publicDataType );
-    }
-