messagingfw/msgtest/testutils/sms/inc/SmsTestUtils.h
changeset 0 8e480a14352b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgtest/testutils/sms/inc/SmsTestUtils.h	Mon Jan 18 20:36:02 2010 +0200
@@ -0,0 +1,191 @@
+// Copyright (c) 1999-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:
+//
+
+#ifndef SMS_TEST_H_
+#define SMS_TEST_H_
+
+#include "msvtestutils.h"
+#include <smutset.h>
+#include <etelmm.h>
+
+// System Agent header files
+#include <e32property.h>
+
+
+_LIT(KSmsServerMtmFileName, "z:\\system\\libs\\smss.dll");
+_LIT(KSmsClientMtmFileName, "z:\\system\\libs\\smsc.dll");
+// The ui data mtms are not instantiated in practice
+_LIT(KSmsUiMtmFileFileName, "z:\\system\\libs\\smum.dll");
+
+_LIT(KSmsDataComponentFileName, "c:\\system\\mtm\\sms.dat");
+
+_LIT(KSmsServiceCenterNumber, "+447785016005");  //  Not used, CJCW!  
+
+//SMS Scripting
+
+_LIT(KSmsComponent, "sms");
+
+//SMS Script Valid Script Items
+
+_LIT(KScriptItemMessage, "Message");
+
+_LIT(KScriptItemBioUid, "BioUid");
+const TInt KScriptItemBioUidDef		= 0;
+
+_LIT(KScriptItemSC, "SC");
+_LIT(KScriptItemSCDef, "+447785016005");
+
+_LIT(KScriptItemSCUseDefault, "Default");
+
+_LIT(KScriptItemMessageType, "Type");
+_LIT(KScriptItemSubmit, "Submit");
+_LIT(KScriptItemDeliver, "Deliver");
+_LIT(KScriptItemStatusReport, "SR");
+_LIT(KScriptItemCommand, "Command");
+
+_LIT(KScriptItemMessageClass, "Class");
+_LIT(KScriptItemClassDefault, "DEF");
+_LIT(KScriptItemClass0, "0");
+_LIT(KScriptItemClass1, "1");
+_LIT(KScriptItemClass2, "2");
+_LIT(KScriptItemClass3, "3");
+
+_LIT(KScriptItemRecipients, "Recipients");
+_LIT(KScriptItemRecipientsDef, "+447747065xxx");
+_LIT(KScriptItemRecipients2Def, "+447747065xxx");
+
+_LIT(KScriptItemBearer, "Bearer");
+_LIT(KScriptItemBearerDef, "NBS");
+
+_LIT(KScriptItemEncoding, "Encoding");
+const TInt KScriptItemEncodingDef	= 7;
+
+_LIT(KScriptItemDeliveryReport, "DeliveryReport");
+_LIT(KScriptItemDeliveryReportDef, "DEF");
+
+_LIT(KScriptItemFile, "File");
+
+const TUid KVCardBioUid				= {0x10005534};
+const TUid KVCalBioUid				= {0x10005533};
+
+enum TSmsTestUtilsPanic
+	{
+	KSmsTestUtilsPanicNotOnClientSide,
+	KSmsTestUtilsPanicSettingsNotConstructed,
+	KSmsTestUtilsPanicSmsTestUtilsCreationFlagCombination,
+	KSmsTestUtilsPanicSmsServiceIdNotSet,
+	KSmsTestUtilsPanicCannotCompareSameIds
+	};
+
+class CSmsHeader;
+class CSmsClientMtm;
+class CSmsSettings;
+class CParaFormatLayer;
+class CCharFormatLayer;
+class CRichText;
+class CScriptFile;
+
+class CSmsTestUtils : public CMsvTestUtils
+	{
+public:
+	IMPORT_C static CSmsTestUtils* NewL(RTest& aRTest, TUint aCreationFlags = ETuMinimalClientSide);
+	IMPORT_C static CSmsTestUtils* NewLC(RTest& aRTest, TUint aCreationFlags = ETuMinimalClientSide);
+	
+	IMPORT_C void InstallSmsMtmGroupL();
+	IMPORT_C void InstantiateSmsClientMtmL();
+	IMPORT_C void Reset();
+	IMPORT_C ~CSmsTestUtils();
+
+	IMPORT_C void CreateSmsServerMtmRegL();
+	IMPORT_C TMsvId CreateSmsServiceL();
+	IMPORT_C void InstantiateSmsServerMtmL();
+	IMPORT_C void DeleteSmsServiceL();
+	IMPORT_C TMsvId FindExistingSmsServiceL();
+
+	IMPORT_C TBool ReadScriptL(const TDesC& aFile, TMsvId aDestFolder, CMsvEntrySelection& aSelection, const TTime& aDate);
+	IMPORT_C void CreateMessageL(TMsvId aDestFolder, TMsvEntry& aEntry, CSmsHeader& aHeader, CRichText& aBody, const TTime& aDate);
+
+	IMPORT_C TMsvId CreateDummyMessageToSendL();
+	IMPORT_C TMsvId CreateDummyMessageToReceiveL();
+
+	IMPORT_C void AddRecipientL(TMsvId aId, const TDesC& aNumber);
+	IMPORT_C void AddSystemAgentConditionsL();
+
+	IMPORT_C void NotifySaPhoneOnL();
+	IMPORT_C void NotifySaPhoneOffL();
+	IMPORT_C void WaitForInitializeL();
+
+	IMPORT_C void DeleteSmsMessagesL(TMsvId aFolder);
+
+	inline void SetProgressL(CMsvOperation& iOperation);
+
+	//From CMsvTestUtils
+	void InstantiateClientMtmsL()	{InstantiateSmsClientMtmL();}
+	void InstantiateServerMtmsL()	{InstantiateSmsServerMtmL();}
+	void DeleteServicesL()			{DeleteSmsServiceL();}
+	void CreateServicesL()			{CreateSmsServiceL();}
+	IMPORT_C void FindExistingServicesL();
+	void InstallMtmGroupsL()		{InstallSmsMtmGroupL();}
+	void CreateServerMtmRegsL()		{CreateSmsServerMtmRegL();}
+
+	IMPORT_C TBool AreMessagesSameTextL(TMsvId aSentId, TMsvId aRecvId, TBool aPrintIfMismatch = EFalse);
+
+	IMPORT_C void DisplaySendingStatesL(const CMsvEntrySelection& aSelection);
+	IMPORT_C TBool SendingCompleteL(const CMsvEntrySelection& aSelection, TInt& rError);
+
+	IMPORT_C void SetCommDbServiceCenterFromScriptL(const TDesC& aScriptFile);
+
+	IMPORT_C CSmsHeader* GetHeaderLC(TMsvId aId);
+
+	IMPORT_C void SaveBodyToFileL(TMsvId aId);
+	IMPORT_C void DisplayMessagesL(const CMsvEntrySelection& aSelection);
+	IMPORT_C void DisplayMessageL(TMsvId aId);
+
+protected:
+
+	IMPORT_C CSmsTestUtils(RTest& aRTest);
+	IMPORT_C void ConstructL(TUint aCreationFlags);
+	IMPORT_C void Panic(TInt aPanic);
+	IMPORT_C void Panic (TSmsTestUtilsPanic aPanic);
+
+private:
+
+	TBool CreateMessagesL(TMsvId aDestFolder, CScriptFile& rSections, CMsvEntrySelection& rSelection, const TTime& aDate);
+
+	void DisplayLogEventData(const CLogEvent& aEvent);
+
+	TBool DoReadScriptL(const TDesC& aFile, TMsvId aDestFolder, CMsvEntrySelection& aSelection, const TTime& aDate);
+	void DisplayChildDetailsL(const TMsvEntry& aEntry);
+	CSmsHeader* DoGetHeaderLC(CMsvEntry& aEntry);
+
+public:
+
+	CSmsClientMtm*		iSmsClientMtm;			
+	TMsvId				iSmsServiceId;
+	CSmsSettings*		iServiceSettings;
+	TSmsProgress		iProgress;
+
+	CParaFormatLayer*	iParaFormat;
+	CCharFormatLayer*	iCharFormat;
+	CRichText*			iRichText;
+
+	TBool iSmokeTest; //if ETrue, then smaller number of tests will be run
+	};
+
+#define SMSTEST_PANIC _L("Sms_Test")
+
+#include <smstestutils.inl>
+
+#endif