diff -r 000000000000 -r bde4ae8d615e os/graphics/graphicscomposition/surfaceupdate/tsrc/trequestorder.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/graphics/graphicscomposition/surfaceupdate/tsrc/trequestorder.cpp Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,114 @@ +// Copyright (c) 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: +// + +/** + @file + @test + @internalComponent - Internal Symbian test code +*/ + +#include "trequestorder.h" + +CRequestOrder::CRequestOrder(TInt aNumberAsynchronousRequests) : + iNumberAsynchronousRequests(aNumberAsynchronousRequests) + { + } + +CRequestOrder::~CRequestOrder() + { + delete iOrderArray; + iLock.Close(); + } + +void CRequestOrder::ConstructL() + { + User::LeaveIfError(iLock.CreateLocal()); + + iOrderArray = new (ELeave) TOrderArray[iNumberAsynchronousRequests]; + User::LeaveIfNull(iOrderArray); + + ResetAll(); + } + +CRequestOrder* CRequestOrder::NewL(const TInt aNumberAsynchronousRequests) + { + CRequestOrder* requestOrder = new (ELeave) CRequestOrder(aNumberAsynchronousRequests); + CleanupStack::PushL(requestOrder); + requestOrder->ConstructL(); + CleanupStack::Pop(); + return requestOrder; + } + + +void CRequestOrder::ResetAll() + { + iIndex=0; + iOrderIndexBefore=0; + iOrderIndexComposition=0; + iOrderIndexAfter=0; + + for(TInt i=0; i