diff -r 7f25ef56562d -r 29ddb8a72f0e graphicstest/graphicstestharness/src/apgrfxfacade.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graphicstest/graphicstestharness/src/apgrfxfacade.cpp Tue Jul 06 15:45:57 2010 +0300 @@ -0,0 +1,75 @@ +// 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: +// Provide an alternative to the apgrfx to avoid a dependency on middleware + +#include "apgrfxfacade.h" + +TApaTaskFacade::TApaTaskFacade(RWsSession& aSession) : + iSession(aSession), iWgId(0) + { + } + +TApaTaskFacade::~TApaTaskFacade() + { + } + +TApaTaskFacade::TApaTaskFacade(const TApaTaskFacade& aTaskFacade) : + iSession(aTaskFacade.iSession), iWgId(aTaskFacade.iWgId) + { + } + +void TApaTaskFacade::BringToForeground() + { + iSession.SetWindowGroupOrdinalPosition(iWgId, 0); + } + +void TApaTaskFacade::SetWgId(TInt aWgId) + { + iWgId = aWgId; + } + +TApaTaskListFacade::TApaTaskListFacade(RWsSession& aSession) : + iSession(aSession) + { + } + +TApaTaskListFacade::~TApaTaskListFacade() + { + } + +TApaTaskFacade TApaTaskListFacade::FindByPos(TInt aPos) + { + TApaTaskFacade task(iSession); + TRAP_IGNORE(FindByPosL(task, aPos)); + return task; + } + +void TApaTaskListFacade::FindByPosL(TApaTaskFacade& aTask,TInt aPos) + { + TInt wgId; + const TInt windowGroups=iSession.NumWindowGroups(0); + if (aPos < 0 || windowGroups < 0 || aPos > windowGroups) + { + wgId = 0; + } + else + { + CArrayFixFlat* wgIdArray=new(ELeave) CArrayFixFlat(windowGroups); + CleanupStack::PushL(wgIdArray); + User::LeaveIfError(iSession.WindowGroupList(0, wgIdArray)); + wgId=(*wgIdArray)[aPos]; + CleanupStack::PopAndDestroy(1); + } + aTask.SetWgId(wgId); + }