/*
* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "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:
*
*/
/**
@file
*/
#ifndef __TSESSIONSTEP_H__
#define __TSESSIONSTEP_H__
#include "tsisregistryteststep.h"
#include "sisregistrysession.h"
#include "sisregistryentry.h"
#include <x509cert.h>
#include <s32mem.h>
using namespace Swi;
class CSisRegistrySessionStep : public CSisRegistryTestStepBase
{
public:
virtual TVerdict doTestStepPreambleL();
virtual TVerdict doTestStepPostambleL();
protected:
Swi::RSisRegistrySession iSisRegistry;
};
// Open/close registry entry
class CRegistryEntryStep : public CSisRegistrySessionStep
{
public:
virtual TVerdict doTestStepPreambleL();
virtual TVerdict doTestStepPostambleL();
protected:
RSisRegistryEntry iRegistryEntry;
};
// Check embedding package for a given package
class CEmbeddingPackageStep : public CRegistryEntryStep
{
public:
CEmbeddingPackageStep();
virtual TVerdict doTestStepL();
};
// Check Uids
class CInstalledUidsStep : public CSisRegistrySessionStep
{
public:
CInstalledUidsStep();
virtual TVerdict doTestStepL();
};
// Check filename for sid
class CSidFileStep : public CSisRegistrySessionStep
{
public:
CSidFileStep();
virtual TVerdict doTestStepL();
};
// Check whether a file is tagged as modifiable.
class CModifiableFileStep : public CSisRegistrySessionStep
{
public:
CModifiableFileStep();
virtual TVerdict doTestStepL();
};
// Checks the hash of a file.
class CFileHashStep : public CSisRegistrySessionStep
{
public:
CFileHashStep();
virtual TVerdict doTestStepL();
};
// Check Packages
class CInstalledPackagesStep : public CSisRegistrySessionStep
{
public:
CInstalledPackagesStep();
virtual TVerdict doTestStepL();
};
// Check Removable Packages
class CRemovablePackagesStep : public CSisRegistrySessionStep
{
public:
CRemovablePackagesStep();
virtual TVerdict doTestStepL();
};
// Check In ROM Non-Removable Packages
class CInRomNonRemovablePackage : public CSisRegistrySessionStep
{
public:
CInRomNonRemovablePackage();
virtual TVerdict doTestStepL();
};
// Check Drives for installed application
class CInstalledDrives : public CSisRegistrySessionStep
{
public:
CInstalledDrives();
virtual TVerdict doTestStepL();
};
// Check installed UIDs
class CIsUidInstalledStep : public CSisRegistrySessionStep
{
public:
CIsUidInstalledStep();
virtual TVerdict doTestStepL();
};
// Check installed Packages
class CIsPackageInstalledStep : public CSisRegistrySessionStep
{
public:
CIsPackageInstalledStep();
virtual TVerdict doTestStepL();
};
// check installed controllers by supplying a controller
class CIsControllerInstalledStep : public CSisRegistrySessionStep
{
public:
CIsControllerInstalledStep();
virtual TVerdict doTestStepL();
};
// check installed controllers by getting controllers
class CGetControllersStep : public CSisRegistrySessionStep
{
public:
CGetControllersStep();
virtual TVerdict doTestStepL();
};
//CEntryUidOpenCloseStep
class CEntryUidOpenCloseStep : public CSisRegistrySessionStep
{
public:
CEntryUidOpenCloseStep();
virtual TVerdict doTestStepL();
};
//CEntryPackageOpenCloseStep
class CEntryPackageOpenCloseStep : public CSisRegistrySessionStep
{
public:
CEntryPackageOpenCloseStep();
virtual TVerdict doTestStepL();
};
//CEntryNameOpenCloseStep
class CEntryNameOpenCloseStep : public CSisRegistrySessionStep
{
public:
CEntryNameOpenCloseStep();
virtual TVerdict doTestStepL();
};
class CEntryMethodsStep : public CSisRegistrySessionStep
{
public:
CEntryMethodsStep();
virtual TVerdict doTestStepL();
};
// CEntrySidsStep
class CEntrySidsStep : public CSisRegistrySessionStep
{
public:
CEntrySidsStep();
virtual TVerdict doTestStepL();
};
class CIsSidPresentStep : public CSisRegistrySessionStep
/**
Iterates through every installed package and tests that
its executables' SIDs are reported as present, as indicated by
RSisRegistrySession::IsSidPresentL. Then tests non-present
SIDs are not reported as being present.
*/
{
public:
CIsSidPresentStep();
virtual TVerdict doTestStepL();
};
class CIsPackagePresentStep : public CSisRegistrySessionStep
{
public:
CIsPackagePresentStep();
virtual TVerdict doTestStepL();
};
// CIntegrityCheckStep checks the sis controller for certificate validation
class CIntegrityCheckStep : public CSisRegistrySessionStep
{
public:
CIntegrityCheckStep();
~CIntegrityCheckStep();
void InitializeL();
RPointerArray<CX509Certificate>iCertArray;
virtual TVerdict doTestStepL();
HBufC8* ReadFileLC(const TDesC& aDatapath);
RFs fs;
};
// CIntegrityDateAndTimeCheckStep checks the sis controller for certificate validation with the different error settings for validity period checks
class CIntegrityDateAndTimeCheckStep : public CIntegrityCheckStep
{
public:
CIntegrityDateAndTimeCheckStep();
virtual TVerdict doTestStepPreambleL();
virtual TVerdict doTestStepL();
virtual TVerdict doTestStepPostambleL();
private:
TUid iPackageUid;
TInt iExpectedResult;
TTime iTime; //The time the test is setting the system time to.
TTime iOriginalTime; //The time just before the system time is changed.
};
class CLoggingFileInfoStep : public CSisRegistrySessionStep
/**
Test for logging file
*/
{
public:
CLoggingFileInfoStep();
virtual TVerdict doTestStepL();
};
class CRomStubPerformanceStep : public CSisRegistrySessionStep
{
public:
CRomStubPerformanceStep();
virtual TVerdict doTestStepL();
};
class CCorruptCacheStep : public CSisRegistrySessionStep
{
public:
CCorruptCacheStep();
virtual TVerdict doTestStepL();
};
class CCorruptCacheRecoverStep : public CSisRegistrySessionStep
{
public:
CCorruptCacheRecoverStep();
virtual TVerdict doTestStepL();
};
class CCreateTokenByCopy : public CSisRegistrySessionStep
{
public:
CCreateTokenByCopy();
virtual TVerdict doTestStepL();
};
class CCreateTokenFromStream : public CSisRegistrySessionStep
{
public:
CCreateTokenFromStream();
virtual TVerdict doTestStepL();
};
// Check certificate chain count for a given package
class CCertificateChainListStep : public CSisRegistrySessionStep
{
public:
CCertificateChainListStep();
virtual TVerdict doTestStepL();
};
class CSidToPackageStep : public CSisRegistrySessionStep
{
public:
CSidToPackageStep();
virtual TVerdict doTestStepL();
};
class CIsSidPresentSingleStep : public CSisRegistrySessionStep
{
public:
CIsSidPresentSingleStep();
virtual TVerdict doTestStepL();
};
class CFileDescriptionsStep : public CSisRegistrySessionStep
{
public:
CFileDescriptionsStep();
virtual TVerdict doTestStepL();
};
class CIsAugmentationStep : public CRegistryEntryStep
{
public:
CIsAugmentationStep();
virtual TVerdict doTestStepL();
};
class CFilesStep : public CRegistryEntryStep
{
public:
CFilesStep();
virtual TVerdict doTestStepL();
};
class CAugmentationsStep : public CRegistryEntryStep
{
public:
CAugmentationsStep();
virtual TVerdict doTestStepL();
};
class CPackageStep : public CRegistryEntryStep
{
public:
CPackageStep();
virtual TVerdict doTestStepL();
};
class CDependentPackagesStep : public CRegistryEntryStep
{
public:
CDependentPackagesStep();
virtual TVerdict doTestStepL();
};
class CDependenciesStep : public CRegistryEntryStep
{
public:
CDependenciesStep();
virtual TVerdict doTestStepL();
};
class CEmbeddedPackagesStep : public CRegistryEntryStep
{
public:
CEmbeddedPackagesStep();
virtual TVerdict doTestStepL();
};
class CIsFileRegisteredStep : public CSisRegistrySessionStep
{
public:
CIsFileRegisteredStep();
virtual TVerdict doTestStepL();
};
class CGetComponentIdForUidStep : public CSisRegistrySessionStep
{
public:
CGetComponentIdForUidStep();
virtual TVerdict doTestStepL();
};
class CCreateSisRegistryObject : public CSisRegistrySessionStep
{
public:
CCreateSisRegistryObject();
virtual TVerdict doTestStepL();
};
class CSisRegistryDependencyStep : public CSisRegistrySessionStep
{
public:
CSisRegistryDependencyStep();
virtual TVerdict doTestStepL();
};
class CSisRegistryFileDescStep : public CSisRegistrySessionStep
{
public:
CSisRegistryFileDescStep();
virtual TVerdict doTestStepL();
void CreateSisRegFileDescObjectL(RBufWriteStream& aWriteStream, TDesC8& aHashData, TDesC& aTarget, TDesC& aMimeType);
};
class CControllerInfoStep : public CSisRegistrySessionStep
{
public:
CControllerInfoStep();
virtual TVerdict doTestStepL();
void CreateCControllerInfoObjectL(RBufWriteStream& aWriteStream, TDesC8& aHashData);
};
class CSisRegistryPropertyStep : public CSisRegistrySessionStep
{
public:
CSisRegistryPropertyStep();
virtual TVerdict doTestStepL();
void CreateCSisRegPropertyObjectL(RBufWriteStream& aWriteStream);
};
class CSisApplicationManagerStep : public CSisRegistrySessionStep
{
public:
CSisApplicationManagerStep();
virtual TVerdict doTestStepL();
};
class CChangeLocaleStep : public CSisRegistrySessionStep
{
public:
CChangeLocaleStep();
virtual TVerdict doTestStepL();
};
#endif