os/graphics/egl/egltest/endpointtestsuite/automated/tinc/egltest_endpoint_engine_execthread.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef __EGLTEST_ENDPOINT_ENGINE_EXECTHREAD_H__
    17 #define __EGLTEST_ENDPOINT_ENGINE_EXECTHREAD_H__
    18 
    19 #include <e32base.h>
    20 #include <e32msgqueue.h>
    21 #include "egltest_surface.h"
    22 #include "egltest_endpoint_engine.h"
    23 #include "egltest_endpoint_images.h"
    24 #include "egltest_commscommon.h"
    25 #include "egltest_endpoint_util.h"
    26 
    27 _LIT(KExecResultQueueName, "EGLEndpointExecTestEnvResultQueue");
    28 _LIT(KExecParamsQueueName, "EGLEndpointExecTestEnvParamsQueue");
    29 
    30 // For description of the work done as part of this class, see the 
    31 // egltest_endpoint_engine_execthread.cpp
    32 NONSHARABLE_CLASS(CEgltest_Local_Engine_Exec): public CBase
    33     {
    34 public:
    35     CEgltest_Local_Engine_Exec();
    36     virtual ~CEgltest_Local_Engine_Exec();
    37     static TInt ThreadEntry(TAny *aDummy);
    38     static CEgltest_Local_Engine_Exec* NewL();
    39     CTestExecuteLogger &Logger() { return iLogger; }
    40     void SetTestStepResult(TVerdict aVerdict);
    41     TVerdict TestStepResult() const;
    42     void TidyUp();
    43     void SetUpL();
    44     
    45 private:
    46     // This is the actual thread execution loop.
    47     static void ThreadEntryL();
    48     TInt ThreadLoopL();
    49     void ConstructL();
    50     void SendResult(const TExecResult &aResult);
    51     
    52 private:
    53     RMsgQueue<TExecResult>              iResultOutQueue;
    54     RMsgQueue<TRemoteTestParamsPacket>  iParamsInQueue;
    55     CSurface*                           iSurfaces[KMaxEndpoints];
    56     TRequestStatus                      iStatus[KMaxEndpoints];
    57     TUint32                             iTimeStamp[KMaxEndpoints];
    58     TInt                                iFastFreq;
    59     // iLogging: Log commands as they are processed in this thread.
    60     TBool                               iLogging;
    61     // iLogger: Standard TEF logging object.
    62     CTestExecuteLogger                  iLogger;
    63     TVerdict                            iVerdict;
    64     TBool                               iSurfaceTypeDisplayed;
    65     EGLDisplay                          iDisplay;
    66     };
    67 
    68 #endif