contentstorage/casoftwareregistry/tsrc/t_casoftwareregistry/src/t_caprogresscaner.cpp
author Jaakko Haukipuro (Nokia-MS/Oulu) <Jaakko.Haukipuro@nokia.com>
Thu, 16 Sep 2010 12:11:40 +0100
changeset 117 c63ee96dbe5f
permissions -rw-r--r--
Missing activityfw and taskswitcher components - fix for Bug 3670

/*
* Copyright (c) 2010 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:
*
*/

#include "caprogresscanner.h"
#include "cauninstallobserver.h"
#include "t_casoftwareregistry.h"

#ifdef Q_OS_SYMBIAN
#include <e32base.h>
#include <e32def.h>
#undef SYMBIAN_ENABLE_SPLIT_HEADERS
#include <usif/scr/scr.h>
#include <usif/scr/screntries.h>

#include <xqconversions.h>
using namespace Usif;
#include <caarraycleanup.inl>
#endif



#ifdef Q_OS_SYMBIAN

// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaSoftwareRegistry::testProgresScannerNew()
    {
    bool result(false);
    CaUninstallObserver* uninstallObserver = new CaUninstallObserver();
    TRAPD(err,
          CCaProgresScanner *progresScanner = 
                  CCaProgresScanner::NewL(uninstallObserver);
          result = progresScanner != NULL;
          delete progresScanner;
         );
    delete uninstallObserver;
    QCOMPARE(err, KErrNone);
    QVERIFY(result);
    }


// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaSoftwareRegistry::testProgressStartOperationHandler()
    {
    TInt err( KErrNone );
    
    _LIT(KGlobalCompId, "abc");
    _LIT(KComponentName, "compName");
    _LIT(KIconPath, "iconPath");
    _LIT(KComponentIcon, "iconName");
    _LIT(KSoftwareType, "Native");
    
    TUint key = 123456;
    TPtrC globalCompId(KGlobalCompId);
    TPtrC compName(KComponentName);
    TPtrC iconPath(KIconPath);
    TPtrC compIcon(KComponentIcon);
    TPtrC softwareType(KSoftwareType);
    TSifOperationPhase operationPhase = TSifOperationPhase(EInstalling);
    
    TInt compSize = 0;
    RPointerArray<HBufC> appNameArray;
    CleanupResetAndDestroyPushL(appNameArray);
    RPointerArray<HBufC> appIconArray;
    CleanupResetAndDestroyPushL(appIconArray);    
    CSifOperationStartData* startdata = CSifOperationStartData::NewLC(
            globalCompId, compName, appNameArray, appIconArray,
            compSize, iconPath, compIcon, softwareType, operationPhase);
    CaUninstallObserver* uninstallObserver = new CaUninstallObserver();
    CCaProgresScanner *progresScanner = 
            CCaProgresScanner::NewL(uninstallObserver);
    
    TRAP(err, progresScanner->StartOperationHandler(key, *startdata));
    delete uninstallObserver;
    delete progresScanner;
    CleanupStack::PopAndDestroy(3, &appNameArray);
    QCOMPARE(err, KErrNone);    
    }

// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaSoftwareRegistry::testProgressProgressOperationHandler()
    {
    TInt err( KErrNone );
    
    _LIT(KGlobalCompId, "abc");
    
    TPtrC globalCompIdProgress(KGlobalCompId);
    TInt phase=0, subPhase=0, curProgress=0, total=0;
    
    TSifOperationPhase enumPhase = static_cast<TSifOperationPhase>(phase);
    TSifOperationSubPhase enumSubPhase = static_cast<TSifOperationSubPhase>(subPhase);    
    CaUninstallObserver* uninstallObserver = new CaUninstallObserver();
    CSifOperationProgressData* progressdata = CSifOperationProgressData::NewLC(
            globalCompIdProgress, enumPhase, enumSubPhase, curProgress, total);
    
    CCaProgresScanner *progresScanner = 
            CCaProgresScanner::NewL(uninstallObserver);
    
    TRAP(err, progresScanner->ProgressOperationHandler( *progressdata));
    delete uninstallObserver;
    delete progresScanner;
    CleanupStack::PopAndDestroy(progressdata);
    QCOMPARE(err, KErrNone);    
    }

// ---------------------------------------------------------------------------
//
// ---------------------------------------------------------------------------
//
void T_CaSoftwareRegistry::testProgressEndOperationHandler()
    {
    TInt err( KErrNone );
    _LIT(KGlobalCompId, "abc");
    _LIT(KErrMsg, "errMsg");
    _LIT(KErrMsgDetails, "errMsgDetails");    
    
    TPtrC errMsg(KErrMsg), errMsgDetails(KErrMsgDetails);
    TInt errCat(0), errCode(0);
    TPtrC globalCompIdEnd(KGlobalCompId);

    TErrorCategory enumErrCat = static_cast<TErrorCategory>(errCat);
    CSifOperationEndData* enddata = CSifOperationEndData::NewLC(
            globalCompIdEnd, enumErrCat, errCode, errMsg, errMsgDetails);
    
    CaUninstallObserver* uninstallObserver = new CaUninstallObserver();
    CCaProgresScanner *progresScanner = 
            CCaProgresScanner::NewL(uninstallObserver);
    TRAP(err, progresScanner->EndOperationHandler( *enddata ));
    delete uninstallObserver;
    delete progresScanner;
    QCOMPARE(err, KErrNone); 
    CleanupStack::PopAndDestroy(enddata);
    }

#endif // Q_OS_SYMBIAN