diff -r 000000000000 -r bde4ae8d615e os/graphics/windowing/windowserver/test/t_stress/inc/stresslet.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/graphics/windowing/windowserver/test/t_stress/inc/stresslet.h Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,99 @@ +// Copyright (c) 2008-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 +*/ + +#ifndef STRESSLET_H +#define STRESSLET_H + +#include +#include + +class CBaseStressletAllocator; +class MTestStepReporter; + +/** CStresslet base class */ +class CStresslet : public CBase + { +public: + static void LaunchL(CStresslet* aStresslet); + ~CStresslet(); + virtual void HandleRedraw(TWsRedrawEvent &aEvent) = 0; + virtual void HandleEvent(TWsEvent &aEvent) = 0; + RWsSession& Session(); + +protected: + CStresslet(MTestStepReporter& aReporter); + virtual void StartL()=0; + void ConcludeNow(void); + CWindowGc& WindowGc(); + MTestStepReporter& Reporter(); + +private: + void ConstructL(); + + /** Inner class CEventHandler */ + class CEventHandler : public CActive + { + public: + static CEventHandler* NewL (CStresslet& aStresslet); + ~CEventHandler (); + protected: // from CActive + void RunL (); + void DoCancel (); + void ConstructL (); + private: + CEventHandler (CStresslet& aStresslet); + private: + CStresslet& iStresslet; + TWsEvent iEvent; + }; + + /** Inner class CRedrawHandler */ + class CRedrawHandler : public CActive + { + public: + static CRedrawHandler* NewL (CStresslet& aStresslet); + ~CRedrawHandler (); + protected: // from CActive + void RunL (); + void DoCancel (); + void ConstructL (); + private: + CRedrawHandler (CStresslet& aStresslet); + private: + CStresslet& iStresslet; + TWsRedrawEvent iRedrawEvent; + }; + +private: + RWsSession iWs; + CWindowGc* iGc; + CWsScreenDevice* iScreenDevice; + CRedrawHandler* iRedrawHandler; + CEventHandler* iEventHandler; + + MTestStepReporter& iReporter; + }; + +#define REPORT_EVENT(value) (Reporter().LogCondition(value,(TText8*)__FILE__,__LINE__)) +#define REPORT_EVENT_WITH_TEXT(value,text) (text,Reporter().LogCondition(value,(TText8*)__FILE__,__LINE__)) + + +#endif // STRESSLET_H