contentstorage/casoftwareregistry/tsrc/t_casoftwareregistry/src/t_caprogresscaner.cpp
changeset 117 c63ee96dbe5f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contentstorage/casoftwareregistry/tsrc/t_casoftwareregistry/src/t_caprogresscaner.cpp	Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,157 @@
+/*
+* 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