lowlevellibsandfws/pluginfw/TestExecute/EComSWITests/src/installStep.h
author hgs
Tue, 20 Jul 2010 16:35:53 +0530
changeset 44 97b0fb8a2cc2
parent 0 e4d67989cc36
child 57 2efc27d87e1c
permissions -rw-r--r--
201025

// Copyright (c) 2006-2009 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:
// ECom SWI test step declaration
// 
//

/**
 @file
*/

#ifndef __INSTALL_STEP_H__
#define __INSTALL_STEP_H__

#include <test/testexecutestepbase.h>
#include "tui.h"

#include <e32base.h>
#include "TE_EComSWITestSuiteStepBase.h"

namespace Swi
        {
        class CInstallPrefs;
        }

class Cinstallers :  public CTe_EComSWITestSuiteStepBase
    {
protected:
        Cinstallers();
        ~Cinstallers();
        void CheckFilesExistL();
        void CheckFilesNonExistL();
        void CheckFilesL(const TDesC&, const TDesC&, TBool);
		void WaitForEComReDiscoveryL();
    };


/**
 * Installation test step class
 * @test
 * @internalComponent
 */
class CinstallStep : public Cinstallers
        {
public:
        enum TInstallType { EUseFileHandle, EUseMemory, EUseFileName, EUseCAF, EUseOpenFileName, ECheckExitValue};
        CinstallStep(TInstallType aInstallType, TBool aDoCancelTest = EFalse);
        ~CinstallStep();
        virtual TVerdict doTestStepPreambleL();
        virtual TVerdict doTestStepPostambleL();
        virtual TVerdict doTestStepL();

private:
        TInt DoInstallL(Swi::CInstallPrefs& aInstallPrefs);

protected:
        TFileName iSisFileName; // name of the file to install
        TUI* iUi; // Minimal install framework
        TInstallType iInstallType; // use file handle to install
        TBool iDoCancelTest;
        TPtrC iExpectedHash;
        TBool iInstallSuccess; // indicate software installed
        };

/** Custom resolver installation test step class
@test
@internalComponent
*/
class CResolverInstallStep : public CinstallStep // codescanner::missingcclass
	{
public:
	CResolverInstallStep(CinstallStep::TInstallType aInstallType);
	~CResolverInstallStep();
	virtual TVerdict doTestStepL();

private:
	RLibrary iLibrary;
	};

/**
 * Uninstallation test step class
 * @test
 * @internalComponent
 */
class CuninstallStep : public Cinstallers
        {
public:
        enum TUninstallType { EByUid, EByPackage };
        CuninstallStep(TUninstallType aType, TBool aDoCancelTest = EFalse);
        ~CuninstallStep();
        virtual TVerdict doTestStepPreambleL();
        virtual TVerdict doTestStepPostambleL();
        virtual TVerdict doTestStepL();
private:
        TInt DoUninstallL();

private:
        TUid iUid;
        TPtrC iVendorName;

        TUI* iUi; // Minimal install framework
        TPtrC iPackageName;
        TUninstallType iType;
        TBool iDoCancelTest;
        };

/** Custom resolver uninstallation test step class
 * @test
 * @internalComponent
 */
class CResolverUninstallStep : public CuninstallStep // codescanner::missingcclass
	{
public:
	CResolverUninstallStep(CuninstallStep::TUninstallType aType);
	~CResolverUninstallStep();
	virtual TVerdict doTestStepL();
	};

_LIT(KMMCNeeeded, "MMCNeeded");
_LIT(KMMCHWDSys, "e:\\sys\\bin");
_LIT(KMMCHWDPlg, "e:\\resource\\plugins\\");

_LIT(KMMCEmulSys, "x:\\sys\\bin");
_LIT(KMMCEmulPlg, "x:\\resource\\plugins\\");


_LIT(KNumNotifies, "NumNotifies");
_LIT(KNotifyPrefix, "Notify");
_LIT(KAffectedFile, "AffectedFile");

_LIT(KInstallStep, "InstallStep");
_LIT(KResolverInstallStep, "ResolverInstallStep");
_LIT(KResolverUninstallStep, "ResolverUninstallStep");
_LIT(KExpectedError, "ExpectedError");
_LIT(KInstallFHStep, "InstallFHStep"); // install using file handles
_LIT(KInstallMemStep, "InstallMemStep"); // install from memory
_LIT(KInstallCAFStep, "InstallCAFStep"); // install from CAF
_LIT(KInstallOpenFileStep, "InstallOpenFileStep"); // install with already opened file
_LIT(KCheckedInstallStep, "CheckedInstallStep");

// Cancel testing 
_LIT(KInstallCancelStep, "InstallStepCancel");
_LIT(KInstallFHCancelStep, "InstallFHStepCancel"); // install using file handles
_LIT(KInstallMemCancelStep, "InstallMemStepCancel"); // install from memory
_LIT(KInstallCAFCancelStep, "InstallCAFStepCancel"); // install from CAF

_LIT(KUninstallStep, "UninstallStep");
_LIT(KUninstallStepPackageName, "UninstallStepPackageName");

_LIT(KUninstallAugStep, "UninstallAugStep"); // uninstall of augmentation
_LIT(KTrustStatus, "TrustStatus");
_LIT(KPirCheck, "PostInstallRevocationCheck");

_LIT(KUninstallCancelStep, "UninstallStepCancel");
_LIT(KUninstallAugCancelStep, "UninstallAugStepCancel"); // uninstall of augmentation
_LIT(KNumExpectedSizes, "numExpectedSizes"); // This specifies that the test section
// has values for installation size(s).


#endif //  __INSTALL_STEP_H__