sl@0: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @test sl@0: */ sl@0: sl@0: #ifndef __EGLTEST_IMAGE_MULTITHREAD_H__ sl@0: #define __EGLTEST_IMAGE_MULTITHREAD_H__ sl@0: sl@0: #include "eglteststep.h" sl@0: sl@0: NONSHARABLE_CLASS(CEglTest_MThread_Image_Base) : public CEglTestStep sl@0: { sl@0: public: sl@0: CEglTest_MThread_Image_Base(); sl@0: ~CEglTest_MThread_Image_Base(); sl@0: sl@0: protected: sl@0: RSgImage iSgImageShared; sl@0: EGLImageKHR iEGLImageShared; sl@0: }; sl@0: sl@0: sl@0: _LIT(KEGL_Image_Multi_Thread_Parallel, "EGL_Image_Multi_Thread_Parallel"); sl@0: NONSHARABLE_CLASS(CEglTest_EGL_Image_Multi_Thread_Parallel) : public CEglTest_MThread_Image_Base sl@0: { sl@0: public: sl@0: TVerdict doTestStepL(); sl@0: protected: sl@0: // from CEglTestStep sl@0: void doThreadFunctionL(TInt aIdx); sl@0: }; sl@0: sl@0: _LIT(KEGL_Image_Multi_Thread_Sibling_Basic, "EGL_Image_Multi_Thread_Sibling_Basic"); sl@0: NONSHARABLE_CLASS(CEglTest_EGL_Image_Multi_Thread_Sibling_Basic) : public CEglTest_MThread_Image_Base sl@0: { sl@0: public: sl@0: TVerdict doTestStepL(); sl@0: protected: sl@0: // from CEglTestStep sl@0: void doThreadFunctionL(TInt aIdx); sl@0: }; sl@0: sl@0: _LIT(KEGL_Image_Multi_Thread_Sibling_VGImage, "EGL_Image_Multi_Thread_Sibling_VGImage"); sl@0: NONSHARABLE_CLASS(CEglTest_EGL_Image_Multi_Thread_Sibling_VGImage) : public CEglTest_MThread_Image_Base sl@0: { sl@0: public: sl@0: TVerdict doTestStepL(); sl@0: protected: sl@0: // from CEglTestStep sl@0: void doThreadFunctionL(TInt aIdx); sl@0: }; sl@0: sl@0: _LIT(KEGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage, "EGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage"); sl@0: NONSHARABLE_CLASS(CEglTest_EGL_Image_Multi_Thread_Sibling_VGImage_PassingEGLImage) : public CEglTest_MThread_Image_Base sl@0: { sl@0: public: sl@0: TVerdict doTestStepL(); sl@0: protected: sl@0: // from CEglTestStep sl@0: void doThreadFunctionL(TInt aIdx); sl@0: }; sl@0: sl@0: _LIT(KEGL_Image_Multi_Thread_Exit_Thread, "EGL_Image_Multi_Thread_Exit_Thread"); sl@0: NONSHARABLE_CLASS(CEglTest_EGL_Image_Multi_Thread_Exit_Thread) : public CEglTest_MThread_Image_Base sl@0: { sl@0: public: sl@0: TVerdict doTestStepL(); sl@0: protected: sl@0: // from CEglTestStep sl@0: void doThreadFunctionL(TInt aIdx); sl@0: }; sl@0: sl@0: _LIT(KEGL_Image_Multi_Thread_DrawAfterTerminate, "EGL_Image_Multi_Thread_DrawAfterTerminate"); sl@0: NONSHARABLE_CLASS(CEglTest_EGL_Image_Multi_Thread_DrawAfterTerminate) : public CEglTest_MThread_Image_Base sl@0: { sl@0: public: sl@0: TVerdict doTestStepL(); sl@0: protected: sl@0: // from CEglTestStep sl@0: void doThreadFunctionL(TInt aIdx); sl@0: }; sl@0: sl@0: #endif