diff -r 000000000000 -r b16258d2340f applayerprotocols/httptransportfw/Test/TestScriptTest/CPipeliningConfigTest.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerprotocols/httptransportfw/Test/TestScriptTest/CPipeliningConfigTest.cpp Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,206 @@ +// Copyright (c) 2003-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 "CPipeliningConfigTest.h" +#include + +CPipeliningConfigTest* CPipeliningConfigTest::NewLC(const TDesC& aTestName) + { + CPipeliningConfigTest* me = new (ELeave) CPipeliningConfigTest(); + CleanupStack::PushL(me); + me->ConstructL(aTestName); + return me; + } + +CPipeliningConfigTest::CPipeliningConfigTest() + { + } + +void CPipeliningConfigTest::ConstructL(const TDesC& aTestName) + { + iTestName = aTestName.AllocL(); + } + +CPipeliningConfigTest::~CPipeliningConfigTest() + { + iTransactionUris.ResetAndDestroy(); + delete iTestName; + } + + + +const TDesC& CPipeliningConfigTest::TestCaseName() const + { + return *iTestName; + } + + +TInt CPipeliningConfigTest::TotalTransactionCount() const + { + return iTransactionUris.Count(); + } + + +TInt CPipeliningConfigTest::TransactionCount(TInt /*aConnectionIndex*/) const + { + return 0; + } + + +RHTTPTransaction CPipeliningConfigTest::GetTransactionL(TInt aIndex, + RHTTPSession aSession, + MHTTPTransactionCallback& aClient) + { + + if (aIndex >= iTransactionUris.Count()) + { + User::Invariant(); + } + + CheckAndSetSessionSettingsL(aSession); + + RStringF method = aSession.StringPool().StringF(HTTP::EGET,RHTTPSession::GetTable()); + TUriParser8 uri; + uri.Parse(*(iTransactionUris[aIndex])); + return aSession.OpenTransactionL(uri, aClient, method); + } + + +TBool CPipeliningConfigTest::BatchTransactions() const + { + return ETrue; + } + + +TInt CPipeliningConfigTest::ExpectedError(RHTTPTransaction /*aTrans*/) + { + return KErrNone; + } + + +const TDesC8& CPipeliningConfigTest::GetRawRequest(TInt /*aConnectionIndex*/, + TInt /*aTransIndex*/) + { + User::Invariant(); + return KNullDesC8(); + } + + +const TDesC8& CPipeliningConfigTest::GetRawResponse(TInt /*aConnectionIndex*/, + TInt /*aTransIndex*/) + { + User::Invariant(); + return KNullDesC8(); + } + + +TInt CPipeliningConfigTest::ConnectionCount() const + { + return 0; + } + +TInt CPipeliningConfigTest::RealExpectedConnectionCount() const + { + return iExpectedNumberConnections; + } + + +TBool CPipeliningConfigTest::EnableBatching() const + { + return ETrue; + } + + +void CPipeliningConfigTest::ProcessHeadersL(RHTTPTransaction /*aTrans*/) + { + //do nothing + } + +TInt CPipeliningConfigTest::ErrorVal() const + { + return 0; + } + +void CPipeliningConfigTest::CheckAndSetSessionSettingsL(RHTTPSession aSession) + { + RStringPool stringPool = aSession.StringPool(); + RHTTPConnectionInfo sessionSettings = aSession.ConnectionInfo(); + + if (iMaxNumberTransactionsToPipeline > 0) + { + RStringF maxToPipelineSetting = stringPool.StringF(HTTP::EMaxNumTransactionsToPipeline, + aSession.GetTable()); + THTTPHdrVal value; + if (sessionSettings.Property(maxToPipelineSetting, value) == EFalse) + { + value.SetInt(iMaxNumberTransactionsToPipeline); + sessionSettings.SetPropertyL(maxToPipelineSetting,value); + } + } + + + if (iMaxNumberTransportHandlers > 0) + { + RStringF maxTransportHandlers = stringPool.StringF(HTTP::EMaxNumTransportHandlers, + aSession.GetTable()); + THTTPHdrVal value; + if (sessionSettings.Property(maxTransportHandlers, value) == EFalse) + { + value.SetInt(iMaxNumberTransportHandlers); + sessionSettings.SetPropertyL(maxTransportHandlers,value); + } + } + } + + +void CPipeliningConfigTest::SetMaxNumberTransactionsToPipeline(TInt aMaxNumberTransactionsToPipeline) + { + iMaxNumberTransactionsToPipeline = aMaxNumberTransactionsToPipeline; + } + + +void CPipeliningConfigTest::SetMaxNumberTransportHandlers(TInt aMaxNumberTransportHandlers) + { + iMaxNumberTransportHandlers = aMaxNumberTransportHandlers; + } + + +void CPipeliningConfigTest::AddTransactionUrisL(const TDesC8& aUri, TInt aRepeatNumber) + { + for ( TInt ii = 0; ii < aRepeatNumber; ++ii ) + { + HBufC8* uri = aUri.AllocLC(); + User::LeaveIfError(iTransactionUris.Append(uri)); + CleanupStack::Pop(uri); + } + } + + + +void CPipeliningConfigTest::ClearTransactionUris() + { + iTransactionUris.ResetAndDestroy(); + } + + +void CPipeliningConfigTest::SetExpectedNumberConnections(TInt aExpectedNumberConnections) + { + iExpectedNumberConnections = aExpectedNumberConnections; + } + + + + +