profilesservices/ProfileEngine/tsrc/public/basic/EngineMdlTest/inc/T_ProfileTestTools.h
changeset 0 8c5d936e5675
--- /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 );
+    };