--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgtest/integration/sms/inc/T_SmsSendRecv.h Mon Jan 18 20:36:02 2010 +0200
@@ -0,0 +1,123 @@
+// 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:
+//
+
+#include "smstestbase.h"
+
+#include <msvapi.h>
+
+_LIT(KSmsSendRecvTestName, "Send and Receive");
+
+class CEntryObserver : public CBase, public MMsvEntryObserver
+ {
+public:
+ void HandleEntryEventL(TMsvEntryEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3);
+ ~CEntryObserver();
+public:
+
+ static CEntryObserver* NewL(CSmsTestUtils& aTestUtils, const TInt& aCurrentMessageNum);
+ const CMsvEntrySelection& Received() const {return *iReceived;}
+ TMsvId Received(TInt aItem) const {return iReceived->At(aItem);}
+ TInt Count() const {return iReceived->Count();}
+ TMsvId LastReceived() const {return Count() ? Received(Count() - 1) : KErrNotFound;}
+
+private:
+
+ CEntryObserver(CSmsTestUtils& aTestUtils, const TInt& aCurrentMessageNum);
+ CMsvEntrySelection* iReceived;
+ const TInt& iCurrentMessageNum;
+ CSmsTestUtils& iSmsTest;
+ };
+
+const TTimeIntervalMicroSeconds32 KWaitForReceiveIteration = 5000000;
+const TTimeIntervalMicroSeconds32 KMaxWaitForMsg = 30000000;
+
+//Command Line Switches
+_LIT(KParseAfterReceive, "/p");
+_LIT(KSaveAfterReceive, "/s");
+_LIT(KWaitForever, "/w");
+_LIT(KTestBifs, "/b");
+
+//Test Bifs
+_LIT(KSendRecvScript, "sendrecv.script");
+_LIT(KTestBif1, "Koala.rsc");
+_LIT(KTestBif2, "Giraffe.rsc");
+_LIT(KBifDir, "c:\\system\\bif\\");
+const TTimeIntervalMicroSeconds32 KBifWait = 4000000;
+
+//Forward declarations
+class CSmsSendRecvTest : public CSmsTestBase
+ {
+public:
+ static CSmsSendRecvTest* NewLC(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aNextTest);
+ ~CSmsSendRecvTest();
+
+private:
+ CSmsSendRecvTest(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aNextTest);
+
+ void TestSendingL();
+ TBool SendNextMessageL();
+ void TestWaitForReceiveL();
+ void TestParseL();
+ void DoRunTestParseL();
+
+ void TestBifsL();
+ void TestAddBifL(const TDesC& aBifName);
+ void TestRemoveBifL(const TDesC& aBifName);
+
+ void ConstructL();
+
+ void RunL();
+ void DoCancel();
+
+ TInt RunError(TInt aError);
+ void RunComplete();
+
+ void ShowMenuL();
+ void RunAutoL();
+
+ void DoRunSendingL();
+ void DoRunWaitingToReceiveL();
+ void DoWaitL();
+
+ void WaitForExtraL();
+ void DoRunWaitForExtraL();
+
+ TInt CountRecipientsL(TMsvId aId);
+
+ CEntryObserver* iEntryObserver;
+
+ TInt iSent;
+ TInt iTotal;
+
+ TInt iCountWaits;
+
+ CMsvEntry* iEntryForObserver;
+ TInt iCurrentMessageNum;
+ TBool iParse;
+ TBool iSaveToFile;
+ TBool iWaitForever;
+
+ enum TSmsSendTestState
+ {
+ EStateWaiting,
+ EStateSending,
+ EStateWaitingToReceive,
+ EStateParsing,
+ EStateMessageReceived,
+ EStateWaitingToReceiveAnyExtra
+ } iState;
+
+ TBool iTestBifs;
+ };