/*
* Copyright (c) 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:
*
*/
//utility class for tests
//all utility methods should be implemented here
#include <usif/usifcommon.h>
#include "casrvengutils.h"
#include "casrvplugin.h"
class CCaStorageProxy;
class CCaInnerEntry;
class CTestUtils: public CBase
{
public:
/**/
virtual ~CTestUtils();
/**/
static CTestUtils* NewL();
/**/
static CTestUtils* NewLC();
/**/
TUint FindAppUidL( const TDesC& aName, CCaStorageProxy* aStorage );
/**/
TInt LaunchApplicationL( const TUid aUid );
/**/
TInt SimpleCloseTaskL(TInt aUid);
/**/
void WaitL(TInt aMicroSec);
/**/
void InstallFinishedL();
/**
* Gets RProperty
*/
TInt GetRProperty( TUid aCategory, TUint aKey, TDes& aValue );
/**
* Gets RProperty
*/
TInt GetRProperty( TUid aCategory, TUint aKey, TInt& aValue );
/**
* Sets RProperty
*/
TInt SetRProperty( TUid aCategory, TUint aKey, const TDesC& aValue );
/**
* Sets RProperty
*/
TInt SetRProperty( TUid aCategory, TUint aKey, TInt aValue );
/**
* Copys test Db
*/
TInt CopyDb();
/**
* Checks if app exists in Db
*/
TBool AppExistsInStorageL( TInt aComponentId, CCaStorageProxy* aStorage);
TBool ComponentExistsInStorageL( Usif::TComponentId aComponentId,
CCaStorageProxy* aStorage);
CCaInnerEntry* GetAppEntryL( TInt aUid, CCaStorageProxy* aStorage);
TInt AppsWithFlagsOffL( TInt aFlags, CCaStorageProxy* aStorage);
TInt GetAppFlagsL( TInt aUid, CCaStorageProxy* aStorage);
void RemoveAppL( TInt aUid, CCaStorageProxy* aStorage);
void CopyMmcHistory();
CCaSrvPlugin* LoadPluginL( TUid aImplUid, TPluginParams aPluginParams );
private:
/**
* Copys files
*/
TInt Copy( const TDesC& aSource, const TDesC& aDest );
CTestUtils();
void ConstructL();
RFs iFs;
CFileMan* iFileManager;
/**
* Local Active Sheduler.
* Own.
*/
CActiveSchedulerWait* iActiveWait;
};