natfw/tsrc/natfwtestconsoles/natfwtestconsole/inc/natfwtestconsole.h
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/natfw/tsrc/natfwtestconsoles/natfwtestconsole/inc/natfwtestconsole.h	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,180 @@
+/*
+* 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:    Class definition for CTestAppConsole
+**
+*/
+
+
+
+#ifndef __TESTAPPCONSOLE_H
+#define __TESTAPPCONSOLE_H
+
+
+#include <e32base.h>
+#include <e32keys.h>
+#include "natfwconnectivityapidefs.h"
+#include "natcomtestobserver.h"
+#include "natcomtest.h"
+
+class CNATFWConnectivityApi;
+class CNATConnFWTestConsoleStubs;
+class CMediaTestStubs;
+class CICETestStubs;
+class CStunUdpMediaTest;
+class CSettings;
+class CNATSettingsTest;
+class CConsoleBase;
+class TIap;
+
+class CTestAppConsole : public CActive, public MNatComTestObserver
+    {
+public:
+	static CTestAppConsole* NewLC();
+    virtual ~CTestAppConsole();
+	
+	void StartTesting();
+ 	void DisplayMsg( const TDesC& aMsg );
+
+// From MNatComTestObserver
+    void Notify( TNatComTestEvent aEvent, TInt aError );
+
+    TInt LocalCandidates( const RPointerArray<CNATFWCandidate>& aLocalCandidates );
+
+    TInt RemoteCandidates( RPointerArray<CNATFWCandidate>& aRemoteCandidates );
+    
+    void DoPause( TRequestStatus& aStatus );
+    
+    TInt CandidatePairs( const RPointerArray<CNATFWCandidatePair>& iCandidatePairs );
+     	
+private:
+	
+    CTestAppConsole( );
+    
+    void ConstructL();
+	
+    void RunL();
+    	
+    void DoCancel();
+	
+    void ProcessMainInput();
+
+    void ProcessDomainSetupInputL();
+    
+    void ProcessMediaTestInputL();
+    
+    void ProcessIapInputL();
+
+    void IapSelectionL();
+    
+	// create console menus
+	void DisplayConsoleMenuL( const TDesC& aInstructions );
+    
+	TKeyCode GetStringFromConsole( TDes& aAddr );
+	
+	void DoRead();
+
+    // Starting point functions for testing
+
+    TInt RunNatSTUNUdpTests();
+
+    TInt RunNatSTUNTcpTests();
+
+    TInt RunTurnUdpTests();
+    
+    TInt RunTurnTcpTests();
+    
+    void NATTurnUdpPreambleL();
+    
+    void NATTurnTcpPreambleL();
+    
+    void SetupSTUNUDPTestL();
+    
+    void SetupSTUNTCPTestL();
+    
+    void TeardownSTUNTestL();
+    
+    TInt RunIceUdpTestsL();
+    
+    TInt RunIceTcpTestsL();
+    
+    void SetupICEUDPTestL();
+    
+    void SetupICETCPTestL();
+    
+    void TeardownICETestL();
+
+    TInt RunStunUdpMediaTestL();
+    
+    void StopStunUdpMediaTestL();
+    
+    TInt FetchCandidates( TUint aProtocol, TBool aUseRtcp = EFalse );
+
+    TInt StartIceComTest( TUint aProtocol,
+        TNATFWIceRole aRole, TBool aUseRtcp = EFalse );
+        
+    TInt FetchCandidate( TUint aProtocol, TComTestType aType, TBool aUseRtcp = EFalse );
+    
+    TInt StartComTest( TUint aProtocol, TComTestType aType,
+        TBool aUseRtcp = EFalse );
+    
+    void StopIceComTest();
+    
+    void SetupStunUdpMediaTestL();
+
+    TInt RunNatSettingsTest();
+    
+    void SetupSettingsTestL();
+    
+    void TeardownSettingsTestL();
+
+	TInt PrintLocalAddress();
+
+	TInt SetLocalToDestinationAddrL();
+	
+	TInt PrintStoredCandidates();
+	
+    void CloseMediaStreamL();
+    
+private:
+
+    enum EInputProcess
+        {
+        KMainInput,
+        KDomainNameInput,
+        KMediaTestInput,
+        KIapInput
+        };
+    
+    TUint iInputProcess;
+    TUint32 iDestAddress;
+	TUint iDestPort;
+    TBool iAudioTestStun;
+    TBool iAudioTestICE;
+    CConsoleBase* iConsole;
+	HBufC* iInstruct;
+	CNATFWConnectivityApi* iNat;
+	CStunUdpMediaTest* iIntTest;
+	CNATConnFWTestConsoleStubs* iNatStub;
+	CMediaTestStubs* iNatMediaStub;
+	CICETestStubs* iNatICEStubs;
+	CSettings* iSettings;
+	CNatComTest* iIceComTest;
+	CNATSettingsTest* iSettingsTest;
+	TRequestStatus* iListenerStatus;
+	TBool iPause;
+	HBufC8* iDomainName;
+    TUint32 iIapId;
+    };
+
+#endif __TESTAPPCONSOLE_H