messagingfw/biomsgfw/wapptsrc/Testwapp.h
changeset 62 db3f5fa34ec7
parent 0 8e480a14352b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/biomsgfw/wapptsrc/Testwapp.h	Wed Nov 03 22:41:46 2010 +0530
@@ -0,0 +1,202 @@
+/*
+* Copyright (c) 1999-2005 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 _TESTWAPP_H_
+#define _TESTWAPP_H_
+
+#include <e32std.h>
+#include <e32test.h>
+#include <c32comm.h>
+#include <in_sock.h>
+
+extern RTest Test;
+extern RSocketServ SocketServer;
+extern RHeap* TestHeap;
+
+#define BIO_MSG_ENTRY_PARSED     1 // Set entry .iMtmData3 to 1 to indicate that the entry has store i.e parsed,externalised
+
+_LIT(KBIOWAPPrefix, "WAP*");	// prefix for WAP message
+const  TPtrC KWappTestTxtFileDir = _L("c:\\test\\bio\\wapp\\");  //dir for source files
+#define MSV_INDEX_FILE      _L("c:\\system\\Mail\\index")  // Index for mail messages.
+#define KSmsFileName        _L("c:\\Mailtest\\Wapptest\\Wapp.txt")
+const  TPtrC KWappLogFile = _L("C:\\Logs\\Bio\\Wap.log"); // file for test logging
+const  TPtrC KFileName   = _L("Wap.dat");
+const  TPtrC KAttachmentName	= _L("Wappbmp.cng"); 
+
+
+
+#define KTestWappPriority   (EPriorityStandard)    //Change this....
+
+// Support for printing message details to the test console:
+#define _TEST_PRINTING_	// Uncomment this to enable printing.
+// Support for logging details of messages and tests:
+#define _TEST_LOGGING_	// Uncomment this to enable logging.
+
+// Panic errors:
+const TInt KWappNullPtr		      = (111);
+const TInt KBioMsgNotParsed		  = (222);
+const TInt KBioMsgEntryHasNoStore = (333);
+const TInt KBioMsgNotProcessed    = (444);
+
+//const TUid KUidMsvMessageDriveStream = {0x1000163E};
+const TUid  KUIDMsvBIODataStream     = {0x10005268};
+
+const TPtrC KWappToken = _L("WAP Access Point");		// A script header.
+const TPtrC KWappParserName = _L("WAP Access Point Parser");	// A human readable name.
+const TVersion KVer1(0,0,1);							// A version number.
+
+
+// Forward references:
+class CExampleScheduler;
+LOCAL_C void DisplayErrorReason(TInt& aReason);
+
+//////////////////////////
+// Global declarations: //
+//////////////////////////
+LOCAL_D CExampleScheduler* exampleScheduler;
+LOCAL_D RTest test(_L("WAPP Test Harness"));
+LOCAL_D RFs        gFs;
+
+//  Logging support	
+LOCAL_D CMsvBIOTestPrinter*  myPrinter;
+
+//  Logging support	
+LOCAL_D CMsvBIOTestLogger* myLogger;
+
+void CommInitL(TBool aEnhanced);
+
+
+////////////////////////
+// Class definitions: //
+////////////////////////
+
+///////////////////////////////
+// CExampleScheduler: INTERFACE //
+///////////////////////////////
+class CExampleScheduler : public CActiveScheduler
+	{
+public:
+	void		Error(TInt anError) const;
+	};
+
+
+///////////////////////////
+// CTestTimer: INTERFACE //
+///////////////////////////
+class CTestTimer : public CTimer
+    {
+public:
+    static CTestTimer* NewL();
+private:
+    CTestTimer();
+    void RunL();
+    };
+
+//////////////////////////////////////
+// CDummySessionObserver: INTERFACE //
+//////////////////////////////////////
+// Does nothing at all but is required for the CMsvSession constructor.
+class CDummySessionObserver : public MMsvSessionObserver
+    {
+        void HandleSessionEventL(TMsvSessionEvent aEvent,
+            TAny* arg1, TAny* arg2, TAny* arg3);
+    };
+
+
+//////////////////////////
+// CTestWapp: INTERFACE //
+//////////////////////////
+
+class CTestWapp : public CActive
+    {
+    public:
+        ~CTestWapp();
+        CTestWapp();
+        CTestWapp(CMsvServerEntry* aEntry, CMsvBIOTestLogger* aLogger,
+												CMsvBIOTestPrinter* aPrinter);
+        static CTestWapp* NewL(CMsvServerEntry* aEntry, CMsvBIOTestLogger* aLogger=NULL,
+												CMsvBIOTestPrinter* aPrinter=NULL);
+        void ConstructL();
+        void StartL(TInt aCmd);
+        void RunL();
+        void DoCancel();
+		void RequestComplete(TRequestStatus& aStatus,TInt aCompletion);
+
+        enum TSessionState
+            {
+			EReadingFiles,
+			ECreateNewMessage,
+			ECreateParser,
+            EParse,
+            EProcess,
+			EDisplay,			// Display entry data.
+			EFinish
+            };
+
+	private:
+		CBaseScriptParser* CreateParserL();
+		void QueueOperationAsync(TInt aErr);
+		void CreateFilenameArrayL();
+		void GenerateNextMessageL();
+		void UnloadParserL();
+		void InitialiseParserL();
+		void ExtractBodyPartsL();	
+		void MakeMessage();
+		void ParseMessageTextL();
+		void ProcessMessageL();
+        void DisplayEntryDataL();
+		void DisplayStoreL();
+		void InternalizeL(RMsvReadStream& aReadStream);
+		void ReLoadParsedDataL(CMsvStore& aStore);
+		void DisplayParsedFieldsL(CMsvStore& aStore);
+		void DisplayBookmarksL();
+		void DisplayLogDescriptorL(const TDesC& aBuffer);
+		void AppendDescriptorL(TDes& aWriteString, const TDesC& aReadString);
+
+
+		TInt GetWAPEntryTotalL(); //returns the current number of entries in the WAP table
+
+    private:
+        TInt						iState;		// Holds the current state of the test harness.
+        CMsvServerEntry*			iEntry;		// N.B. don't own this!
+		TMsvId						iEntryId;	// ID of sms entry.
+      
+		CDir*						iDir;	// Holds the names of the files to process.	
+		TInt						iNumFiles;
+		TInt						iMessagesCreated;
+		TInt						iFilesProcessed;
+		CRegisteredParserDll*		iRegisteredParserDll;
+        CBaseScriptParser*			iParser;
+		CMsvBIOTestLogger*			iLogger;  // N.B. don't own this
+		CMsvBIOTestPrinter*			iPrinter; // or this!
+
+        HBufC*						iMessageBody;
+		CBIOServerSideTestUtils*	iMessageMaker;
+
+		CBIODatabase*				iBioDatabase;
+		TInt						iNumWapEntries; //Number of entries in the WAP table
+		HBufC*						iCurrentSettingsName;  // Name of the current settings obtained from characteristic in message
+		TUint32						iCurrentIspID;
+		TUint32						iCurrentIapID;
+		TInt32						iWapModemID;
+		CArrayPtrSeg<CParsedField>*	iParsedFieldArray;
+    };
+
+
+#endif
+