--- a/linklayerprotocols/tundriver/te_tundriver/src/te_tundrivertestwrapper.cpp Wed Sep 15 13:53:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3153 +0,0 @@
-// Copyright (c) 2010 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:
-// Contains the implementation of all the commands, which is used by the script file.
-//
-
-/**
- @file te_tundrivertestwrapper.h
- @internalTechnology
- */
-
-#include "te_tundrivertestwrapper.h"
-#include <e32base.h>
-#include <utf.h>
-#include <in_sock.h>
-#include <es_sock.h>
-
-#include <metadatabase.h>
-#include <commsdattypesv1_1.h>
-#include <commsdat.h>
-#include <commsdattypesv1_1_partner.h>
-#include <commsdattypeinfov1_1_internal.h>
-#include <commdb.h>
-#include <commdbconnpref.h>
-
-//Virtual Interface
-
-// Commands
-
-_LIT(KRConnTest1_1, "RConnTest1_1");
-_LIT(KRConnTest1_2, "RConnTest1_2");
-_LIT(KRConnTest1_3, "RConnTest1_3");
-_LIT(KRConnTest1_4, "RConnTest1_4");
-_LIT(KRConnTest1_5, "RConnTest1_5");
-_LIT(KRConnTest1_6, "RConnTest1_6");
-_LIT(KRConnTest1_7, "RConnTest1_7");
-_LIT(KRConnTest1_8, "RConnTest1_8");
-_LIT(KRConnTest1_9, "RConnTest1_9");
-_LIT(KRConnTest1_10, "RConnTest1_10");
-_LIT(KRConnTest1_11, "RConnTest1_11");
-_LIT(KRConnTest1_12, "RConnTest1_12");
-_LIT(KRConnTest1_13, "RConnTest1_13");
-_LIT(KRConnTest1_14, "RConnTest1_14");
-_LIT(KRConnTest1_15, "RConnTest1_15");
-_LIT(KRConnTest1_16, "RConnTest1_16");
-_LIT(KRConnTest1_17, "RConnTest1_17");
-_LIT(KRConnTest1_18, "RConnTest1_18");
-_LIT(KRConnTest1_19, "RConnTest1_19");
-_LIT(KRConnTest1_20, "RConnTest1_20");
-_LIT(KRConnTest1_21, "RConnTest1_21");
-_LIT(KRConnTest1_22, "RConnTest1_22");
-_LIT(KRConnTest1_23, "RConnTest1_23");
-_LIT(KRConnTest1_24, "RConnTest1_24");
-_LIT(KRConnTest1_25, "RConnTest1_25");
-_LIT(KRConnTest1_26, "RConnTest1_26");
-_LIT(KRConnTest1_27, "RConnTest1_27");
-_LIT(KRConnTest1_28, "RConnTest1_28");
-_LIT(KRConnTest1_29, "RConnTest1_29");
-_LIT(KRConnTest1_30, "RConnTest1_30");
-_LIT(KRConnTest1_31, "RConnTest1_31");
-_LIT(KRConnTest1_32, "RConnTest1_32");
-_LIT(KRConnTest1_33, "RConnTest1_33");
-
-// Config file
-_LIT(KNameDefault, "default");
-_LIT(KIpAddr, "IpAddr");
-_LIT(KGatewayAddr, "GatewayAddr");
-_LIT(KDestAddr, "DestAddr");
-_LIT(KLocalAddr, "LocalAddr");
-_LIT(KLocalPort, "LocalPort");
-_LIT(KDestPort, "DestPort");
-_LIT(KTcpDestPort, "TcpDestPort");
-_LIT(KRealDestAddr, "RealDestAddr");
-_LIT(KRealDestPort, "RealDestPort");
-
-//Test code
-_LIT(KCommand, "aCommand = %S");
-_LIT(KSection, "aSection = %S");
-
-//Test code error
-_LIT(KInetInputFail, "TInetAddr Input failed with error: %d");
-
-#define TUNDRIVER_IAP 14
-#define REAL_IAP 9
-#define LOCAL_PORT 7777
-
-// public
-//LOCAL_D CConsoleBase* console;
-
-
-/**
-Constructor.
-
-@internalTechnology
- */
-CTunDriverTestWrapper::CTunDriverTestWrapper()
- {
- }
-
-/**
-Destructor.
-
-@internalTechnology
- */
-CTunDriverTestWrapper::~CTunDriverTestWrapper()
- {
- }
-
-/**
-Function to instantiate TestWrapper.
-@return Returns constructed TestWrapper instance pointer
-@internalTechnology
- */
-CTunDriverTestWrapper* CTunDriverTestWrapper::NewL()
- {
- CTunDriverTestWrapper* ret = new (ELeave) CTunDriverTestWrapper();
- CleanupStack::PushL(ret);
- ret->ConstructL();
- CleanupStack::Pop(ret);
- return ret;
- }
-
-/**
-Second level constructor, constructs TestWrapper instance.
-@internalTechnology
- */
-void CTunDriverTestWrapper::ConstructL()
- {
- iInitNumOfInterfaces = 0;
- iCurNumOfInterfaces = 0;
- iDestPort = 0;
-
- }
-
-/**
-Function to map the input command to respective function.
-
-@return - True Upon successfull command to Function name mapping otherwise False
-@param aCommand Function name has to be called
-@param aSection INI file paramenter section name
-@param aAsyncErrorIndex Error index
-@see Refer the script file COMMAND section.
-
-@internalTechnology
- */
-TBool CTunDriverTestWrapper::DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt /*aAsyncErrorIndex*/)
- {
- TBool ret = ETrue;
-
- // Print out the parameters for debugging
- INFO_PRINTF2( KCommand, &aCommand );
- INFO_PRINTF2( KSection, &aSection );
- //INFO_PRINTF2( KAsyncErrorIndex, aAsyncErrorIndex );
-
- //RConnection Testcases
- if(KRConnTest1_1() == aCommand)
- {
- DoRConnTest1_1();
- }
- else if(KRConnTest1_2() == aCommand)
- {
- DoRConnTest1_2();
- }
- else if(KRConnTest1_3() == aCommand)
- {
- DoRConnTest1_3(aSection);
- }
- else if(KRConnTest1_4() == aCommand)
- {
- DoRConnTest1_4(aSection);
- }
- else if(KRConnTest1_5() == aCommand)
- {
- DoRConnTest1_5(aSection);
- }
- else if(KRConnTest1_6() == aCommand)
- {
- DoRConnTest1_6(aSection);
- }
- else if(KRConnTest1_7() == aCommand)
- {
- DoRConnTest1_7(aSection);
- }
- else if(KRConnTest1_8() == aCommand)
- {
- DoRConnTest1_8(aSection);
- }
- else if(KRConnTest1_9() == aCommand)
- {
- DoRConnTest1_9(aSection);
- }
- else if(KRConnTest1_10() == aCommand)
- {
- DoRConnTest1_10(aSection);
- }
- else if(KRConnTest1_11() == aCommand)
- {
- DoRConnTest1_11();
- }
- else if(KRConnTest1_12() == aCommand)
- {
- DoRConnTest1_12();
- }
- else if(KRConnTest1_13() == aCommand)
- {
- DoRConnTest1_13(aSection);
- }
- else if(KRConnTest1_14() == aCommand)
- {
- DoRConnTest1_14(aSection);
- }
- else if(KRConnTest1_15() == aCommand)
- {
- DoRConnTest1_15();
- }
- else if(KRConnTest1_16() == aCommand)
- {
- DoRConnTest1_16(aSection);
- }
- else if(KRConnTest1_17() == aCommand)
- {
- DoRConnTest1_17(aSection);
- }
- else if(KRConnTest1_18() == aCommand)
- {
-
- }
- else if(KRConnTest1_19() == aCommand)
- {
-
- }
- else if(KRConnTest1_20() == aCommand)
- {
- DoRConnTest1_20();
- }
- else if(KRConnTest1_21() == aCommand)
- {
- DoRConnTest1_21();
- }
- else if(KRConnTest1_22() == aCommand)
- {
- DoRConnTest1_22();
- }
- else if(KRConnTest1_23() == aCommand)
- {
- DoRConnTest1_23();
- }
- else if(KRConnTest1_24() == aCommand)
- {
- DoRConnTest1_24();
- }
- else if(KRConnTest1_25() == aCommand)
- {
- DoRConnTest1_25();
- }
- else if(KRConnTest1_26() == aCommand)
- {
- DoRConnTest1_26();
- }
- else if(KRConnTest1_27() == aCommand)
- {
- DoRConnTest1_27();
- }
- else if(KRConnTest1_28() == aCommand)
- {
- DoRConnTest1_28();
- }
- else if(KRConnTest1_29() == aCommand)
- {
- DoRConnTest1_29();
- }
- else if(KRConnTest1_30() == aCommand)
- {
- DoRConnTest1_30();
- }
- else if(KRConnTest1_31() == aCommand)
- {
- DoRConnTest1_31();
- }
- else if(KRConnTest1_32() == aCommand)
- {
- DoRConnTest1_32();
- }
- else if(KRConnTest1_33() == aCommand)
- {
- DoRConnTest1_33();
- }
- else
- {
- ret = EFalse;
- User::LeaveIfError(KErrNone); // just to suppress LeaveScan warning
- }
- return ret;
- }
-
-/**
-Function to open Virtual Socket.
-@internalTechnology
- */
-
-TBool CTunDriverTestWrapper::FindInterface(TPckgBuf<TSoInet6InterfaceInfo> &info)
- {
- TBool success = FALSE;
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
-
- return success;
- }
-
- if((iStatus = iConnection1.Open(iSocketServ)) == KErrNone )
- INFO_PRINTF1(_L("Connection1 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
-
- return success;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection1.Start(iCommDbPref, iStatus);
-
-
- //open socket on interface.
- if((iStatus = iSocket1.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection1)) == KErrNone )
- INFO_PRINTF1(_L("Socket Opened!\n "));
-
- User::LeaveIfError( iSocket1.SetOpt( KSoInetEnumInterfaces, KSolInetIfCtrl ) );
-
- TProtocolDesc in;
- User::LeaveIfError( iSocket1.Info( in ) );
- TInt res = iSocket1.GetOpt( KSoInetNextInterface, KSolInetIfCtrl, info );
- if (res != KErrNone)
- {
- User::Leave( res );
- }
-
- TPckgBuf<TSoInet6InterfaceInfo> next;
-
-
- while (res == KErrNone)
- {
- res = iSocket1.GetOpt( KSoInetNextInterface, KSolInetIfCtrl, next );
- if (res == KErrNone)
- info = next;
- //Compare the string with interface name
- if (info().iName.Mid(1,4).Compare(_L("TunDriver")))
- //if (info().iName == KIfName)
- {
- success = TRUE;
- break;
-
- }
- else
- {
- continue;
- }
- }
-
- return success;
-
-
- }
-
-TInt CTunDriverTestWrapper::StartD3PApp()
- {
- TInt err(0);
- if ((err = p.Create(KDummy3rdPartyApp,KArg)) == KErrNone)
- {
- p.Resume();
- }
- else
- {
- ERR_PRINTF2(_L("Error Opening Dummy3rdPartyApp: %d"), iVTunError);
- SetError(err);
- return(err);
- }
- //Wait for Dummy3rdPartyApp to be up and running!
- User::After(10000000); //10 Sec
- return(err);
- }
-
-void CTunDriverTestWrapper::StopD3PApp()
- {
- p.Kill(NULL); //Kill Dummy3rdPartyApp.
- }
-
-//Gurpreet: RConnection Testcases
-
-void CTunDriverTestWrapper::DoRConnTest1_1()
- {
- INFO_PRINTF1(_L("********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_1 "));
- INFO_PRINTF1(_L("********************************************"));
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- if((iStatus = iConnection.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iVTunError = iConnection.Start(iCommDbPref);
- //User::WaitForRequest(iStatus);
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iVTunError);
-
- if(iVTunError!= KErrNone)
- {
- SetError(iVTunError);
- }
- iConnection.Close();
- iSocketServ.Close();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_2()
- {
- INFO_PRINTF1(_L("********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_2 "));
- INFO_PRINTF1(_L("********************************************"));
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- if((iStatus = iConnection.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- iConnection.Close();
- iSocketServ.Close();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_3(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_3 "));
- INFO_PRINTF1(_L("********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- if((iStatus = iConnection.Open(iSocketServ)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if (iStatus.Int() != KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
- INFO_PRINTF1(_L("Connection started!\n "));
-
- //open socket on interface.
- if((iStatus = iSocket.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Nokia sues Apple!";
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- iDestAddr.SetPort(iDestPort);
-
- //bind local port to socket
- err = iSocket.SetLocalPort(7776);
-
- //send data to server
- iSocket.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed"));
- SetError(iStatus.Int());
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iRecvBuf.Zero();
- iSocket.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed"));
- SetError(iStatus.Int());
- }
- iSocket.Close();
- iSocketServ.Close();
-
- StopD3PApp();
-
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_4(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_4 "));
- INFO_PRINTF1(_L("********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- if((iStatus = iConnection.Open(iSocketServ)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if (iStatus.Int() != KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- //open socket on interface.
-
- if((iStatus = iSocket.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Nokia sues Apple!";
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- iDestAddr.SetPort(iDestPort);
-
- //bind local port to socket
- err = iSocket.SetLocalPort(LOCAL_PORT);
-
- //send data to server
- iSocket.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed"));
- SetError(iStatus.Int());
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iRecvBuf.Zero();
- iSocket.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed"));
- SetError(iStatus.Int());
- }
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
-
- StopD3PApp();
-
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_5(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_5 "));
- INFO_PRINTF1(_L("********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
- if((iStatus = iConnection.Open(iSocketServ)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if (iStatus.Int() != KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- //open socket on interface.
- if((iStatus = iSocket1.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket1 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- if((iStatus = iSocket2.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket2 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- iDestAddr.SetPort(iDestPort);
-
- //bind local port to socket
- err = iSocket1.SetLocalPort(LOCAL_PORT);
- if(err != KErrNone)
- {
- ERR_PRINTF2(_L("Error Binding Socket1: %d"), err);
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- }
- //bind local port to socket
- err = iSocket2.SetLocalPort(LOCAL_PORT + 1);
- if(err != KErrNone)
- {
- ERR_PRINTF2(_L("Error Binding Socket2: %d"), err);
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Nokia sues Apple!";//"Sending Data through Socket1!";
-
- //send data to server
- iSocket1.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
-
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent thru socket1"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- }
-
- iRecvBuf.Zero();
- iSocket1.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket1 : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket1"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)" Socket2:Nokia sues Apple!";
- iSocket2.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
-
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent thru socket2"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- }
-
- iRecvBuf.Zero();
- iSocket2.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- temp.Zero();
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket2: "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket2"));
- SetError(iStatus.Int());
- }
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
-
- StopD3PApp();
-
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_6(const TDesC& aSection)
- {
-
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_6 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
- if((iStatus = iConnection1.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection1 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- if((iStatus = iConnection2.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection2 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection1.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
-
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection1 %d.\n"), iStatus.Int());
-
-
- iConnection2.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection1.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- INFO_PRINTF2(_L("Starting Connection2 %d.\n"), iStatus.Int());
-
- //open socket on interface.
- if((iStatus = iSocket1.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection1)) == KErrNone )
- INFO_PRINTF1(_L("Socket1 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- if((iStatus = iSocket2.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection2)) == KErrNone )
- INFO_PRINTF1(_L("Socket2 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocket1.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Socket1: Nokia sues Apple!";
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- iDestAddr.SetPort(iDestPort);
- //bind local port to socket
- err = iSocket1.SetLocalPort(LOCAL_PORT);
- if(err != KErrNone)
- {
- ERR_PRINTF1(_L("Error in setting local port to socket1"));
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- err = iSocket2.SetLocalPort(LOCAL_PORT+1);
- if(err != KErrNone)
- {
- ERR_PRINTF1(_L("Error in setting local port to socket1"));
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- //send data to server
- iSocket1.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent for socket1"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed for socket1"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Socket2: Nokia sues Apple!";
- iSocket2.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent for socket2"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed for socket2"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iRecvBuf.Zero();
- iSocket1.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket1 : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket1"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Sending Data through Socket2!";
- iSocket2.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent thru socket2"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed through socket2"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
-
- iRecvBuf.Zero();
- iSocket2.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- temp.Zero();
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket2: "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket2"));
- SetError(iStatus.Int());
- }
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ.Close();
- StopD3PApp();
- }
-
-//Sockets sending concurrently over same interface but from different socket servers
-//(Connection explicitly created)
-void CTunDriverTestWrapper::DoRConnTest1_7(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_7 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ1.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server1 Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- if((iStatus = iSocketServ2.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server2 Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ1.Close();
- StopD3PApp();
- return;
- }
- if((iStatus = iConnection1.Open(iSocketServ1 /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection1 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- if((iStatus = iConnection2.Open(iSocketServ2 /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection2 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection1.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection1 %d.\n"), iStatus.Int());
-
- iConnection2.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection1.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection2 %d.\n"), iStatus.Int());
-
- //Enumerate the number of interfaces
- iConnection1.EnumerateConnections(iInitNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Interfaces: %d!\n "), iInitNumOfInterfaces);
-
- //open socket on interface.
- if((iStatus = iSocket1.Open(iSocketServ1, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection1)) == KErrNone )
- INFO_PRINTF1(_L("Socket1 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- if((iStatus = iSocket2.Open(iSocketServ2, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection2)) == KErrNone )
- INFO_PRINTF1(_L("Socket2 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocket1.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Socket1: Nokia sues Apple!";
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestPort"));
- SetError(KErrUnknown);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- iDestAddr.SetPort(iDestPort);
- //bind local port to socket
- err = iSocket1.SetLocalPort(LOCAL_PORT);
-
- if(err != KErrNone)
- {
- ERR_PRINTF1(_L("Error in setting local port to socket1"));
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- err = iSocket2.SetLocalPort(LOCAL_PORT+1);
- if(err != KErrNone)
- {
- ERR_PRINTF1(_L("Error in setting local port to socket1"));
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- //send data to server
- iSocket1.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent for socket1"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed for socket1"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- iRecvBuf.Zero();
- iSocket1.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket1 : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket1"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Socket2: Nokia sues Apple!";
- iSocket2.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent for socket2"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed for socket2"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
-
- iRecvBuf.Zero();
- User::After(30000);
- iSocket2.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- temp.Zero();
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket2: "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket2"));
- SetError(iStatus.Int());
- }
-
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- }
-
-
-//Sockets sending from within different socket servers over different interfaces
-//(Connection explicitly created)
-void CTunDriverTestWrapper::DoRConnTest1_8(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_8 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ1.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server1 Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- if((iStatus = iSocketServ2.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server2 Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
- if((iStatus = iConnection1.Open(iSocketServ1)) == KErrNone )
- INFO_PRINTF1(_L("Connection1 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- if((iStatus = iConnection2.Open(iSocketServ2)) == KErrNone )
- INFO_PRINTF1(_L("Connection2 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- iCommDbPref1.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref1.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref1.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection1.Start(iCommDbPref1, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection1 %d.\n"), iStatus.Int());
-
- iCommDbPref2.SetIapId(REAL_IAP); // Ethernet Interface
- iCommDbPref2.SetBearerSet(KCommDbBearerLAN);
- iCommDbPref2.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection2.Start(iCommDbPref2, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- INFO_PRINTF2(_L("Starting Connection2 %d.\n"), iStatus.Int());
-
- //open socket on interface.
- if((iStatus = iSocket1.Open(iSocketServ1, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection1)) == KErrNone )
- INFO_PRINTF1(_L("Socket1 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- if((iStatus = iSocket2.Open(iSocketServ2, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection2)) == KErrNone )
- INFO_PRINTF1(_L("Socket1 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocket1.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Socket1: Nokia sues Apple!";
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- iDestAddr.SetPort(iDestPort);
- //bind local port to socket
- err = iSocket1.SetLocalPort(LOCAL_PORT);
- if(err != KErrNone)
- {
- ERR_PRINTF1(_L("Error in setting local port to socket1"));
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- //read Real interface ip addr and port from config file
- returnValue = GetStringFromConfig(aSection, KRealDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading RealDestAddr"));
- SetError(KErrUnknown);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- err = iRealDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KRealDestPort, iRealDestPort);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading RealDestAddr"));
- SetError(KErrUnknown);
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
- iRealDestAddr.SetPort(iRealDestPort);
- //bind local port to socket
- //err = iSocket2.SetLocalPort(LOCAL_PORT);
- //send data to server
- iSocket1.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent thru virtual interface"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed through virtual interface"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- iRecvBuf.Zero();
- iSocket1.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket1 : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket1"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Socket2: Nokia sues Apple!";
- iSocket2.SendTo(iSendBuf, iRealDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent thru real interface"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed through real interface"));
- SetError(iStatus.Int());
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- return;
-
- }
- iRecvBuf.Zero();
- iSocket2.RecvFrom(iRecvBuf, iRealDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- temp.Zero();
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket2: "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket2"));
- SetError(iStatus.Int());
- }
-
- iSocket1.Close();
- iSocket2.Close();
- iConnection1.Close();
- iConnection2.Close();
- iSocketServ1.Close();
- iSocketServ2.Close();
- StopD3PApp();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_9(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_9 "));
- INFO_PRINTF1(_L("********************************************"));
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
- CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_2);
-#else
- CMDBSession *cmdbSession = CMDBSession::NewL(KCDVersion1_1);
-#endif
- CleanupStack::PushL(cmdbSession);
-
- CCDIAPRecord *iapRecord = (CCDIAPRecord*)CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord);
- CleanupStack::PushL(iapRecord);
-
- iapRecord->SetRecordId(14);
-
- iapRecord->LoadL(*cmdbSession);
-
- //iapRecord->iServiceType;
- TUint recid = iapRecord->iService;
- CCDLANServiceRecord *lanRecord = (CCDLANServiceRecord*)CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord);
- CleanupStack::PushL(lanRecord);
-
- lanRecord->SetRecordId(recid);
-
- lanRecord->LoadL(*cmdbSession);
-
- // Get gateway address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KGatewayAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- return;
- }
-
- // Create address
- TInetAddr gwAddr;
- TInt err = gwAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- return;
- }
- TPtrC displayIpAddr(lanRecord->iIpAddr);
- //INFO_PRINTF2(_L("lanRecord ipAddr is %S"), &displayIpAddr);
-
- TPtrC ipGateway(_L("10.1.1.100"));
- //TPtrC ipGateway(ptrToReadFromConfig);
- lanRecord->iIpGateway.SetMaxLengthL(ipGateway.Length());
- lanRecord->iIpGateway = ipGateway;
-
-
- // Get gateway address from config file
- returnValue = GetStringFromConfig(aSection, KIpAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- return;
- }
- //TPtrC ipAddr(_L("10.1.1.100"));
- TPtrC ipAddr(ptrToReadFromConfig);
- lanRecord->iIpAddr.SetMaxLengthL(ipAddr.Length());
- lanRecord->iIpAddr = ipAddr;
-
- TRAPD(modifyErr, lanRecord->ModifyL(*cmdbSession));
- INFO_PRINTF2(_L("lanRecord ModifyL result was %d. Should be 0"), modifyErr);
-
- TPtrC displayIpAddr2(lanRecord->iIpAddr);
- INFO_PRINTF2(_L("lanRecord ipAddr is %S"), &displayIpAddr2);
- CleanupStack::PopAndDestroy(lanRecord);
- CleanupStack::PopAndDestroy(iapRecord);
- CleanupStack::PopAndDestroy(cmdbSession);
-
-
- }
-
-//Ensure that Close() effectively pulls down the interface
-//when no other subsessions are associated with it.
-void CTunDriverTestWrapper::DoRConnTest1_10(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_10 "));
- INFO_PRINTF1(_L("********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
- if((iStatus = iConnection.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if (iStatus.Int() != KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- //Enumerate the number of interfaces
- iConnection.EnumerateConnections(iInitNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Interfaces: %d!\n "), iInitNumOfInterfaces);
-
- //open socket on interface.
- if((iStatus = iSocket.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Nokia sues Apple!";
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iDestAddr.SetPort(iDestPort);
- //bind local port to socket
- err = iSocket.SetLocalPort(LOCAL_PORT);
- if (err != KErrNone)
- {
- ERR_PRINTF1(_L("Error setting local port"));
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- //send data to server
- iSocket.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed"));
- SetError(iStatus.Int());
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iRecvBuf.Zero();
- iSocket.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed."));
- SetError(iStatus.Int());
- }
-
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
-
- StopD3PApp();
-
- }
-
-//Ensure that Close() does not pull down the interface when there are other
-//connections associated with it.
-void CTunDriverTestWrapper::DoRConnTest1_11()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_11 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- if((iStatus = iConnection1.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection1 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- if((iStatus = iConnection2.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection2 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection1.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection1 %d.\n"), iStatus.Int());
- iConnection2.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection2 %d.\n"), iStatus.Int());
-
- //Enumerate the number of interfaces
- iConnection2.EnumerateConnections(iInitNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Interfaces: %d!\n "), iInitNumOfInterfaces);
-
- iConnection1.Close();
- User::After(30000);
-
- iConnection2.EnumerateConnections(iCurNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Interfaces after closing 1st Connection: %d!\n "), iCurNumOfInterfaces);
- if(iCurNumOfInterfaces == iInitNumOfInterfaces)
- INFO_PRINTF1(_L("Number of interfaces before and after closing the connection is same"));
- else
- {
- ERR_PRINTF1(_L("ERROR: More Number of Interfaces than expected."));
- SetError(KErrGeneral);
- return;
- }
- iConnection2.Stop();
- User::After(30000);
- iSocketServ.Close();
- }
-
-//Ensure that Stop() pulls down the interface when there are no subsessions
-//other than the connection associated with it.
-void CTunDriverTestWrapper::DoRConnTest1_12()
- {
-
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_12 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- if((iStatus = iConnection.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- iCommDbPref1.SetIapId(REAL_IAP); // Virtual Interface
- iCommDbPref1.SetBearerSet(KCommDbBearerLAN);
- iCommDbPref1.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection.Start(iCommDbPref1,iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- //Enumerate the number of interfaces
- iConnection.EnumerateConnections(iInitNumOfInterfaces);
- INFO_PRINTF2(_L("Number of initial Interfaces: %d!\n "), iInitNumOfInterfaces);
-
- TInt MyErr = iConnection.Stop();
- User::After(30000);
- iConnection.EnumerateConnections(iCurNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Interfaces after stopping the connection: %d!\n "), iCurNumOfInterfaces);
- if(iCurNumOfInterfaces>=iInitNumOfInterfaces)
- {
- ERR_PRINTF1(_L("ERROR: More Number of Interfaces than expected."));
- SetError(KErrGeneral);
- return;
- }
- iSocketServ.Close();
- }
-
-//Ensure that Stop() pulls down the interface when
-//there are sockets associated with it.
-void CTunDriverTestWrapper::DoRConnTest1_13(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_13 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- if((iStatus = iConnection.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- //open socket on interface.
- if((iStatus = iSocket.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Sending Data through Socket!";
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iDestAddr.SetPort(iDestPort);
- //bind local port to socket
- err = iSocket.SetLocalPort(LOCAL_PORT);
- if (err != KErrNone)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- //send data to server
- iSocket.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed"));
- SetError(iStatus.Int());
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iRecvBuf.Zero();
- iSocket.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone)
- {
- INFO_PRINTF1(_L("\nData Received from Socket : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket"));
- SetError(iStatus.Int());
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
-
- //Enumerate the number of interfaces
- iConnection.EnumerateConnections(iInitNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Init Interfaces: %d!\n "), iInitNumOfInterfaces);
-
- iConnection.Stop();
- User::After(30000);
- iConnection.EnumerateConnections(iCurNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Interfaces after Stopping the interface: %d!\n "), iCurNumOfInterfaces);
- if(iCurNumOfInterfaces>=iInitNumOfInterfaces)
- {
- ERR_PRINTF1(_L("ERROR: More Number of Interfaces than expected."));
- SetError(KErrGeneral);
- }
- iSocket.Close();
- iSocketServ.Close();
- StopD3PApp();
- }
-
-//Stop() a connection and ensure that other connections over
-//other interfaces are unaffected.
-void CTunDriverTestWrapper::DoRConnTest1_14(const TDesC& aSection)
- {
-
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_14 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
-
- return;
- }
-
- if((iStatus = iConnection1.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection1 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
-
- return;
- }
- iCommDbPref1.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref1.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref1.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
- iConnection1.Start(iCommDbPref1,iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection1 %d.\n"), iStatus.Int());
-
- if((iStatus = iConnection2.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection2 opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
- iCommDbPref2.SetIapId(REAL_IAP); // Virtual Interface
- iCommDbPref2.SetBearerSet(KCommDbBearerLAN);
- iCommDbPref2.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
- iConnection2.Start(iCommDbPref2, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection1.Close();
- iSocketServ.Close();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection2 %d.\n"), iStatus.Int());
- //enumnerate the interfaces
- iConnection1.EnumerateConnections(iInitNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Initial Interfaces: %d!\n "), iInitNumOfInterfaces);
-
- //Shutdown the first connection.
- iConnection1.Stop();
-
- //enumnerate the interfaces again.
- iConnection2.EnumerateConnections(iCurNumOfInterfaces);
- INFO_PRINTF2(_L("Number of Interfaces after Stopping the VTun Interface: %d!\n "), iCurNumOfInterfaces);
- if(iCurNumOfInterfaces>iInitNumOfInterfaces)
- {
- ERR_PRINTF1(_L("ERROR: More Number of Interfaces than expected."));
- SetError(KErrGeneral);
- iConnection2.Close();
- iSocketServ.Close();
- return;
- }
- //open udp socket over second connection and send data over it.
-
- if((iStatus = iSocket.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection2)) == KErrNone )
- INFO_PRINTF1(_L("Socket Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection2.Close();
- iSocketServ.Close();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Sending Data through Socket!";
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KRealDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection2.Close();
- iSocketServ.Close();
- return;
- }
- //set destination IP ie. server
- TInt err = iRealDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iConnection2.Close();
- iSocketServ.Close();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KRealDestPort, iRealDestPort);
- iRealDestAddr.SetPort(iRealDestPort);
- //bind local port to socket
- err = iSocket.SetLocalPort(LOCAL_PORT);
-
- //send data to server
- iSocket.SendTo(iSendBuf, iRealDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent"));
- else
- {
- ERR_PRINTF2(_L("\nData sending failed: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocket.Close();
- iConnection2.Close();
- iSocketServ.Close();
- return;
- }
-
- iRecvBuf.Zero();
- iSocket.RecvFrom(iRecvBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
- TBuf<128> temp;
- if( iStatus == KErrNone )
- {
- INFO_PRINTF1(_L("\nData Received from Socket : "));
- temp.Copy(iRecvBuf);
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
- }
- else
- {
- ERR_PRINTF1(_L("\nData receive failed on Socket"));
- SetError(iStatus.Int());
- }
-
- iSocket.Close();
- iConnection2.Close();
- iSocketServ.Close();
-
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_15()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_15 "));
- INFO_PRINTF1(_L("********************************************"));
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- iSocket.Open(iSocketServ,_L("tun"));
-
- TUint localPort = 6789;
- TPckgC <TUint> portPckg (localPort);
-
- //Positive case
-
- if((iStatus = iSocket.SetOpt(KSolInetIp,KSoTunnelPort,portPckg)) == KErrNone )
- INFO_PRINTF1(_L("Socket SetOpt Positive scenario succesful Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error in Socket SetOpt: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocket.Close();
- iSocketServ.Close();
- return;
- }
-
- //Negative Case #1
- if((iStatus = iSocket.SetOpt(KSolInetUdp,KSoTunnelPort,portPckg)) == KErrNotSupported )
- INFO_PRINTF1(_L("Socket SetOpt Negative scenario #1 succesful Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error in Socket SetOpt: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocket.Close();
- iSocketServ.Close();
- return;
- }
-
- //Negative Case #2
- if((iStatus = iSocket.SetOpt(KSolInetUdp,KSoNoSourceAddressSelect,portPckg)) == KErrNotSupported )
- INFO_PRINTF1(_L("Socket SetOpt Negative scenario #2 succesful Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error in Socket SetOpt: %d"), iStatus.Int());
- SetError(iStatus.Int());
- }
-
- iSocket.Close();
- iSocketServ.Close();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_16(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_16 "));
- INFO_PRINTF1(_L("********************************************"));
-
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
- if((iStatus = iConnection.Open(iSocketServ)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
-
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- iSocket.Open(iSocketServ,_L("tun"));
-
- TUint localPort = 6789;
- TPckgC <TUint> portPckg (localPort);
-
- //Setting the Port Number into the Stack
- if((iStatus = iSocket.SetOpt(KSolInetIp,KSoTunnelPort,portPckg)) == KErrNone )
- INFO_PRINTF1(_L("Socket SetOpt Positive scenario succesful Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error in Socket SetOpt: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- //set destination IP
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- //set the destination port
- returnValue = GetIntFromConfig(aSection, KDestPort, iDestPort);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- iDestAddr.SetPort(iDestPort);
-
- //retrieve the local address
- TInetAddr iLocalAddr;
- returnValue = GetStringFromConfig(aSection, KLocalAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading LocalAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- err = iLocalAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- iLocalAddr.SetPort(LOCAL_PORT);
-
- //open socket on interface.
- if((iStatus = iSocket1.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetUdp,iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket1 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket1: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- //open socket on interface.
- if((iStatus = iSocket2.Open(iSocketServ, KAfInet, KSockDatagram, KProtocolInetIcmp,iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket2 Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF2(_L("Error Opening Socket2: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocket.Close();
- iSocket1.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- err = iSocket1.Bind(iLocalAddr);
- if(err != KErrNone)
- {
- ERR_PRINTF2(_L("Error Binding Socket1: %d"), err);
- SetError(iStatus.Int());
- iSocket.Close();
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- TInt iLocalPort;
- returnValue = GetIntFromConfig(aSection, KLocalPort, iLocalPort);
- iLocalAddr.SetPort(iLocalPort);
-
- err = iSocket2.Bind(iLocalAddr);
- if(err != KErrNone)
- {
- ERR_PRINTF2(_L("Error Binding Socket2: %d"), err);
- SetError(iStatus.Int());
- iSocket.Close();
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- iSendBuf.Zero();
- iSendBuf = (TText8*)"Test Message";
-
- //send data to server using the local port = LOCAL_PORT (7777)
- iSocket1.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
-
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent thru socket1"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed"));
- SetError(iStatus.Int());
- iSocket.Close();
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- return;
- }
-
- //send data to server using the local port configured in ini file
- iSocket2.SendTo(iSendBuf, iDestAddr, NULL, iStatus);
- User::WaitForRequest(iStatus);
-
- if( iStatus == KErrNone)
- INFO_PRINTF1(_L("\nData Sent thru socket2"));
- else
- {
- ERR_PRINTF1(_L("\nData sending failed"));
- SetError(iStatus.Int());
- }
- iSocket.Close();
- iSocket1.Close();
- iSocket2.Close();
- iConnection.Close();
- iSocketServ.Close();
- }
-
-//Simple TCP data transfer.
-void CTunDriverTestWrapper::DoRConnTest1_17(const TDesC& aSection)
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_17 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- //start the dummy3rdpartyapp
- if ((iVTunError = StartD3PApp()) != KErrNone)
- {
- return;
- }
-
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- StopD3PApp();
- return;
- }
-
- if((iStatus = iConnection.Open(iSocketServ /*, KAfInet*/)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- //open socket on interface.
- if((iStatus = iSocket.Open(iSocketServ, KAfInet, KSockStream, KProtocolInetTcp, iConnection)) == KErrNone )
- INFO_PRINTF1(_L("Socket Opened!\n "));
- else // (iStatus!=KErrNone)
- {
- ERR_PRINTF1(_L("Error Opening Socket!"));
- SetError(iStatus.Int());
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- // Get destination address from config file
- TPtrC ptrToReadFromConfig(KNameDefault);
- TBool returnValue = GetStringFromConfig(aSection, KDestAddr, ptrToReadFromConfig);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestAddr"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- //set destination IP ie. server
- TInt err = iDestAddr.Input(ptrToReadFromConfig);
- if(err != KErrNone)
- {
- INFO_PRINTF2(KInetInputFail, err);
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- returnValue = GetIntFromConfig(aSection, KTcpDestPort, iDestPort);
- if (!returnValue)
- {
- ERR_PRINTF1(_L("Reading config file failed, while reading DestPort"));
- SetError(KErrUnknown);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- iDestAddr.SetPort(iDestPort);
- //bind local port to socket
- err = iSocket.SetLocalPort(7776);
- if (err != KErrNone)
- {
- ERR_PRINTF1(_L("Error Setting local port"));
- SetError(err);
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
-
- iSocket.Connect(iDestAddr,iStatus);
- User::WaitForRequest(iStatus);
- if (iStatus != KErrNone)
- {
- ERR_PRINTF1(_L("Error Connecting to Server!"));
- SetError(iStatus.Int());
- iSocket.Close();
- iConnection.Close();
- iSocketServ.Close();
- StopD3PApp();
- return;
- }
- else
- {
- INFO_PRINTF2(_L("tcp Start with = %d\n"), iStatus.Int());
- }
- TBuf8<128> receiveBuffer;
- TBuf<128> temp;
-
- do
- {
- TSockXfrLength aLen = 0;
- iRecvBuf.FillZ();
- iSocket.RecvOneOrMore(receiveBuffer,0,iStatus,aLen);
- User::WaitForRequest(iStatus);
- temp.Copy(receiveBuffer);
-
- INFO_PRINTF1(_L("\nData Received from Socket : "));
- INFO_PRINTF1(temp);
- INFO_PRINTF1(_L("\n"));
-
- }while(iStatus == KErrNone);
-
- //Close the Connection,Socket and socket server.
- iSocket.Close();
- iConnection.Stop();
- iSocketServ.Close();
- StopD3PApp();
- }
-
-
-//For Code Coverage.
-
-void CTunDriverTestWrapper::DoRConnTest1_20()
-{
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_20 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_21()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_21 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_22()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_22 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_23()
- {
-
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_23 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-
-void CTunDriverTestWrapper::DoRConnTest1_24()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_24 "));
- INFO_PRINTF1(_L("********************************************"));
-
- StartConn();
-
-
-
-
-
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_25()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_25 "));
- INFO_PRINTF1(_L("********************************************"));
-
-
- StartConn();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_26()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_26 "));
- INFO_PRINTF1(_L("********************************************"));
-
-
- StartConn();
- }
-
-
-void CTunDriverTestWrapper::DoRConnTest1_27()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_27 "));
- INFO_PRINTF1(_L("********************************************"));
-
- StartConn();
- }
-
-
-void CTunDriverTestWrapper::DoRConnTest1_28()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_28 "));
- INFO_PRINTF1(_L("********************************************"));
-
- StartConn();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_29()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_29 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_30()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_30 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_31()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_31 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-
-void CTunDriverTestWrapper::DoRConnTest1_32()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_32 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-void CTunDriverTestWrapper::DoRConnTest1_33()
- {
- INFO_PRINTF1(_L("*********************************************"));
- INFO_PRINTF1(_L(" Test: DoRConnTest1_33 "));
- INFO_PRINTF1(_L("*********************************************"));
-
- StartConn();
- }
-
-
-void CTunDriverTestWrapper::StartConn()
- {
- if((iStatus = iSocketServ.Connect()) == KErrNone )
- INFO_PRINTF1(_L("Socket Server Opened.\n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Socket Server: %d"), iStatus.Int());
- SetError(iStatus.Int());
- return;
- }
-
- if((iStatus = iConnection.Open(iSocketServ)) == KErrNone )
- INFO_PRINTF1(_L("Connection opened. \n"));
- else
- {
- ERR_PRINTF2(_L("Error Opening Connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
-
- iCommDbPref.SetIapId(TUNDRIVER_IAP); // Virtual Interface
- iCommDbPref.SetBearerSet(KCommDbBearerVirtual);
- iCommDbPref.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
- iConnection.Start(iCommDbPref, iStatus);
- User::WaitForRequest(iStatus);
- if(iStatus.Int()!=KErrNone)
- {
- ERR_PRINTF2(_L("Error starting connection: %d"), iStatus.Int());
- SetError(iStatus.Int());
- iSocketServ.Close();
- return;
- }
- INFO_PRINTF2(_L("Starting Connection %d.\n"), iStatus.Int());
-
- iConnection.Stop();
- iSocketServ.Close();
- }