diff -r 000000000000 -r dfb7c4ff071f datacommsserver/esockserver/test/TS_MultiHoming/TS_MultiHomingStep.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/esockserver/test/TS_MultiHoming/TS_MultiHomingStep.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,166 @@ +// Copyright (c) 2002-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: +// This defines the CTS_MultiHomingStep class which is the base class for all +// the MultiHoming test step classes +// +// + +/** + @file +*/ + +#if (!defined __TS_MULTIHOMINGSTEP_H__) +#define __TS_MULTIHOMINGSTEP_H__ + +#include +#include +#include +#include +#include + +#include "TS_MultiHomingSuite.h" + + + +#include "CEchoSocket.h" + + + + +// Connection Configuration Lits +_LIT(KNameDefault, "default"); +_LIT(KNumOfConns, "NumberOfConns"); +_LIT(KNumOfResolvers, "NumberOfResolvers"); +_LIT(KConnName, "ConnName"); +_LIT(KConnBearer, "ConnBearer"); +_LIT(KConnIap, "ConnIAP"); +_LIT(KConnNet, "ConnNET"); +_LIT(KConnType, "ConnType"); +_LIT(KExpectSameAddress, "ExpectSameAddress"); + + +//_LIT(KConnType, "ConnType"); +_LIT(KConnExplicit, "EXPLICIT"); +_LIT(KConnImplicit, "IMPLICIT"); +_LIT(KConnDefault, "DEFAULT"); + +// Socket Configuration Lits +_LIT(KNumOfSocks, "NumberOfSockets"); +_LIT(KSocket, "Socket"); +_LIT(KSrcAddr, "SrcAddr"); +_LIT(KSrcPort, "SrcPort"); +_LIT(KDestAddr, "DestAddr"); +_LIT(KDestPort, "DestPort"); +_LIT(KProtocol, "Protocol"); +_LIT(KTcp, "TCP"); +_LIT(KUdp, "UDP"); +_LIT(KPacketSize, "PacketSize"); +_LIT(KNumOfPackets, "NumOfPackets"); +_LIT(KUdpTol, "UDPTolerance"); +_LIT(KSocketName, "SocketName"); +_LIT(KIsListener, "IsListener"); +_LIT(KIsSenderOnly, "IsSenderOnly"); + + +// DNS Lits +_LIT(KDestName, "DestName"); +_LIT(KResolver, "Resolver"); +_LIT(KExpectSuccess, "ExpectSuccess"); +_LIT(KExpectTimeout, "ExpectTimeout"); +_LIT(KExplicitResolve, "ExplicitResolve"); +_LIT(KExpectNoDnsServer, "ExpectNoDnsServer"); + + +// Error / Reporting +_LIT(KEConnNotFound, "Connection not found"); +_LIT(KDoingDefault, "No details found; doing the default (see documentation)"); +_LIT(KConnXOpen, "Connection [%S] open"); +_LIT(KConnXInsert, "Connection [%S] added to list"); +_LIT(KConnXFail, "Connection [%S] failed to start with error [%S]."); +_LIT(KEConfigFile, "There is a problem with the .ini file. Please create/check it."); +_LIT(KELogger, "Error [%S] occurred."); //< General Error logger +_LIT(KSockRun, "Socket [%i] running."); +_LIT(KSockPassed, "Socket %i passed, sent %i packet loss was %i%%."); +_LIT(KSockFailed, "Socket %i failed, error %S, sent %i packet loss was %i%%."); +_LIT(KConnXClose, "Closing connection [%S]."); +_LIT(KConnXStop, "Stoping connection [%S]."); + +_LIT(KOomTest, "OOMTest"); +_LIT(KConnectionInfo, "ConnectionInfo"); +_LIT(KRConnectionStart, "RConnectionStart"); +_LIT(KRConnectionClose, "RConnectionClose"); +_LIT(KRConnectionStop, "RConnectionStop"); +_LIT(KTestConnection, "TestConnections"); +_LIT(KTestIncomming, "TestIncomming"); +_LIT(KShowConnections, "ShowConnections"); +_LIT(KExpectedNumberOfIfs, "ExpectedNumOfIfs"); +_LIT(KGetConnectionInfo, "GetConnectionInfo"); +_LIT(KResolveName, "ResolveName"); +_LIT(KResolveAddress, "ResolveAddress"); +_LIT(KCopyComDbFile, "CopyComDbFile"); +_LIT(KSourceFileName, "SourceFileName"); +_LIT(KCheckLinkLocalSame,"CheckLinkLocalSame"); +_LIT(KDelay, "Delay"); +_LIT(KDelayInMs, "DelayInMs"); + + + + + +class CTS_MultiHomingSuite; + +/* CTS_MultiHomingStep class declaration + * Provides the base class for all multihoming test steps + * + */ +class CTS_MultiHomingStep : public CTestStep + { + // Test Step Defaults - not #defines +public: + + enum { ECHO_PORT = 7 }; + enum { PACKET_SIZE = 512 }; + enum { MAX_PACKET_SIZE = 1024 }; + enum { NUM_OF_PACKETS = 20 }; + enum { UDP_TOLERANCE = 5 }; + +public: + CTS_MultiHomingStep(); + + void ExpLogExtra(const TText8* aFile, TInt aLine, TInt aSeverity, + TRefByValue aFmt,...); + virtual ~CTS_MultiHomingStep(); + + CTS_MultiHomingSuite* iOwnerSuite; //< Pointer to suite which owns this test step + void StepLog(TRefByValue aText, ...); //< Log function for CEchoSocket class +private: + enum TVerdict doTestStepPreambleL()=0; //< Used for OOMTest flag + + +protected: + TBool iIsOOMTest; + TInt SetConnPrefs(TCommDbConnPref& aPrefs, TDesC& aName); + TInt GetConnectionType(TConnDetails *conn, TDesC& aName); + TInt GetSockConfig(const TInt aIndex, TInt& aProtocol, + TInt& aPackSize, TInt& aNumPackets, + TInt& aUdp, TInetAddr& aDstAddr, TInetAddr& aSrcAddr, + TBool& aExpectPass, TBool& isListener, TConnDetails **aConnDetails); + TInt GetResolverConfig(const TInt aIndex, TName &aHostName,TInt& aProtocol, + TBool& aExpectSuccess, TBool& aExpectTimeout, TBool& aExpectNotReady, + TBool& aExplicitResolve, TConnDetails **aConnDetails); + + }; + +#endif /* __TS_MULTIHOMINGSTEP_H__ */ +