applayerprotocols/httptransportfw/Test/TestScriptTest/CPipeliningConfigTest.cpp
changeset 0 b16258d2340f
--- /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 <uri8.h>
+
+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;
+	}
+
+
+
+
+