--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/profilesservices/ProfileEngine/tsrc/public/basic/EngineMdlTest/inc/T_ProfileTestTools.h Thu Dec 17 08:52:52 2009 +0200
@@ -0,0 +1,160 @@
+/*
+* Copyright (c) 2007 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: Tools class used in ProfileEngine tests.
+*
+*/
+
+////////////////////////////////////////////////////////////////////////
+// T_ProfileTestTools.h
+//
+
+// INCLUDES
+#include <e32std.h>
+#include <CNTDEF.H>
+
+#include <MProfileChangeObserver.h>
+//CONSTS
+
+//#define PROFILE_TEST_RUN_ALLOC
+
+
+// default profile names
+_LIT( KProfileGeneralName, "General" );
+_LIT( KProfileSilentName, "Silent" );
+_LIT( KProfileMeetingName, "Meeting" );
+_LIT( KProfileOutdoorName, "Outdoor" );
+_LIT( KProfilePagerName, "Pager" );
+#ifdef __OFFLINE_MODE
+_LIT( KProfileOfflineName, "Off-line" );
+#endif
+#ifdef __DRIVE_MODE
+_LIT( KProfileDriveName, "Drive" );
+#endif
+
+_LIT( KProfileGeneralName2, "General2" );
+_LIT( KProfileSilentName2, "Silent2" );
+_LIT( KProfileMeetingName2, "Meeting2" );
+_LIT( KProfileOutdoorName2, "Outdoor2" );
+_LIT( KProfilePagerName2, "Pager2" );
+#ifdef __OFFLINE_MODE
+_LIT( KProfileOfflineName2, "Off-line2" );
+#endif
+#ifdef __DRIVE_MODE
+_LIT( KProfileDriveName2, "Drive2" );
+#endif
+
+// default tone settings
+_LIT( KProfileNokiaTune, "z:\\data\\sounds\\digital\\nokia tune.aac" );
+_LIT( KProfileMessageTone, "z:\\data\\sounds\\digital\\message 1.aac" );
+_LIT( KProfileIMMessageTone, "z:\\data\\sounds\\digital\\Chat alert.aac" );
+_LIT( KProfileBeep, "z:\\data\\sounds\\simple\\beep.rng" );
+_LIT( KProfileBeepTwice, "z:\\data\\sounds\\simple\\beep twice.rng" );
+_LIT( KProfileNoSound, "z:\\resource\\no_sound.wav" );
+
+// default presence settings
+//_LIT( KProfileStatusMessageAvailable, "Available" );
+//_LIT( KProfileStatusMessageDiscreet, "Discreet" );
+//_LIT( KProfileStatusMessageNotAvailable, "Not available" );
+_LIT( KProfileStatusMessageAvailable, "" );
+_LIT( KProfileStatusMessageDiscreet, "" );
+_LIT( KProfileStatusMessageNotAvailable, "" );
+
+_LIT( KProfileEmpty, "" );
+_LIT( KProfileMinName, "Z" );
+_LIT( KProfileMaxName, "1234567890123456789012345678901234567890123456789012345678901234" ); // 64
+//_LIT( KProfileTooLongProfileName, "1234567890123456789012345678901234567890123456789012345678901234567890" ); // 70
+_LIT( KProfileMaxFileName, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456" ); // 256
+_LIT( KProfileTooLongFileName, "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567" ); // 257
+_LIT( KProfileMaxStatusMessage, "1234567890123456789012345678901234567890" ); // 40
+
+const TInt KMaxNumberOfDynamicProfiles( 20 );
+
+
+// FORWARD DECLARATION
+class RFs;
+class MProfilesNamesArray;
+struct TProfileToneSettings;
+class CPbkContactEngine;
+
+struct TSharedDataSettings
+ {
+ TInt iRingType;
+ TInt iRingVol;
+ TInt iVibrAlert;
+ TInt iKeyVolume;
+ TInt iWarnTone;
+ TInt iMsgAlert;
+ TBuf<64> iRingTone1;
+ TBuf<64> iRingTone2;
+ TBuf<64> iMsgTone;
+ TBuf<16> iName;
+ TInt iActive;
+ };
+
+/**
+* Test observer
+*/
+class CTestObserver: public CBase, public MProfileChangeObserver
+ {
+ public:
+ static CTestObserver* NewL()
+ {CTestObserver* self = new (ELeave) CTestObserver; return self;}
+ ~CTestObserver()
+ {};
+ void HandleActiveProfileEventL( TProfileEvent aProfileEvent, TInt aProfileId )
+ {
+ iLastEvent = aProfileEvent;
+ iLastId = aProfileId;
+ CActiveScheduler::Stop();
+ }
+ TProfileEvent iLastEvent;
+ TInt iLastId;
+ };
+
+/**
+ * Test Tools
+ */
+class T_ProfileTestTools
+ {
+ public:
+ static void ResetRepository();
+ static void RemoveFilesL( RFs& aFs );
+ static TInt DefaultFiles( RFs& aFs );
+ static TInt CorruptFiles( RFs& aFs );
+ static TInt MakeBackupFiles( RFs& aFs );
+ static TBool CompareArrays( const TArray<TContactItemId>& aArray1, const TArray<TContactItemId>& aArray2 );
+ static TBool CheckArray( const MProfilesNamesArray& aArray );
+ static TBool CheckModifiedArray( MProfilesNamesArray& aArray );
+ static const TDesC& ProfileShortName( TInt aId );
+ static const TDesC& ProfileName( TInt aId );
+ static const TDesC& ProfileModifiedName( TInt aId );
+ static const TDesC& ProfileRingingTone( TInt aId );
+ static const TDesC& ProfileMessageAlertTone( TInt aId );
+ static const TDesC& ProfileIMMessageAlertTone( TInt aId );
+ static const TDesC& ProfileEmailAlertTone( TInt aId );
+ static const TDesC& ProfileVideoCallRingingTone( TInt aId );
+ static const TDesC& ProfileStatusMessage( TInt aId );
+ static TBool CheckToneSettings( TInt aId, const TProfileToneSettings& aSettings );
+ static void CreateContactGroupsL( TInt aNumber, RArray<TContactItemId>& aArray, CPbkContactEngine& aContactEngine );
+ static void DeleteContactGroups( RArray<TContactItemId>& aArray, CPbkContactEngine& aContactEngine );
+ static void CreateContactsL( TInt aNumber, RArray<TContactItemId>& aArray, CPbkContactEngine& aContactEngine );
+ static void DeleteContacts( RArray<TContactItemId>& aArray, CPbkContactEngine& aContactEngine );
+ static void WriteAlertForIdsToCenrepL( TInt aProfileId, RArray<TContactItemId>& aArray );
+ static void DeleteAlertForIdsFromCenrep( TInt aProfileId );
+ static TBool CheckSharedDataSettingsL( TInt aId );
+ static TBool CheckSharedDataSettingsL( const TSharedDataSettings& aSettings );
+ static TBool CompareSettings( const TSharedDataSettings& aSettings, const TSharedDataSettings& aSettings1 );
+ static TInt ProfilePttStatus( TInt aProfileId );
+ static const TDesC& ProfilePttRingingTone( TInt aProfileId );
+ };