sl@0: /* sl@0: * Copyright (c) 2008-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: * Name : tclock.h sl@0: * sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: #ifndef __TESTCLOCK_H__ sl@0: #define __TESTCLOCK_H__ sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: _LIT(KTestgetclockid1, "Testgetclockid1"); sl@0: _LIT(KTestgetclockid2, "Testgetclockid2"); sl@0: _LIT(KTestgetclockid3, "Testgetclockid3"); sl@0: _LIT(KTestgetclockid4, "Testgetclockid4"); sl@0: _LIT(KTestgetclockid5, "Testgetclockid5"); sl@0: _LIT(KTestclockresolution1, "Testclockresolution1"); sl@0: _LIT(KTestclockresolution2, "Testclockresolution2"); sl@0: _LIT(KTestclockresolution3, "Testclockresolution3"); sl@0: _LIT(KTestclocknanosleep1, "Testclocknanosleep1"); sl@0: _LIT(KTestclocknanosleep2, "Testclocknanosleep2"); sl@0: _LIT(KTestclocknanosleep3, "Testclocknanosleep3"); sl@0: _LIT(KTestclocknanosleep4, "Testclocknanosleep4"); sl@0: _LIT(KTestclocknanosleep5, "Testclocknanosleep5"); sl@0: _LIT(KTestclocknanosleep6, "Testclocknanosleep6"); sl@0: _LIT(KTestclockgettime1, "Testclockgettime1"); sl@0: _LIT(KTestclockgettime2, "Testclockgettime2"); sl@0: _LIT(KTestclockgettime3, "Testclockgettime3"); sl@0: _LIT(KTestclocksettime1, "Testclocksettime1"); sl@0: _LIT(KTestclocksettime2, "Testclocksettime2"); sl@0: _LIT(KTestclocksettime3, "Testclocksettime3"); sl@0: sl@0: enum TMode sl@0: { sl@0: TREAD = 0x00, sl@0: TWRITE sl@0: }; sl@0: sl@0: class CTestclock : public CTestStep sl@0: { sl@0: public: sl@0: ~CTestclock(); sl@0: CTestclock(const TDesC& aStepName); sl@0: TVerdict doTestStepL(); sl@0: TVerdict doTestStepPreambleL(); sl@0: TVerdict doTestStepPostambleL(); sl@0: protected: // Functions from base classes sl@0: sl@0: static void* ThreadEntryFunctionW(void* arg); sl@0: static void* ThreadEntryFunctionR(void* arg); sl@0: static void* ThreadEntryFunctionWrite(void* arg); sl@0: private: sl@0: sl@0: virtual TInt Testgetclockid1 ( ); sl@0: virtual TInt Testgetclockid2 ( ); sl@0: virtual TInt Testgetclockid3 ( ); sl@0: virtual TInt Testgetclockid4 ( ); sl@0: virtual TInt Testgetclockid5 ( ); sl@0: virtual TInt Testclockresolution1 ( ); sl@0: virtual TInt Testclockresolution2 ( ); sl@0: virtual TInt Testclockresolution3 ( ); sl@0: virtual TInt Testclocknanosleep1 ( ); sl@0: virtual TInt Testclocknanosleep2 ( ); sl@0: virtual TInt Testclocknanosleep3 ( ); sl@0: virtual TInt Testclocknanosleep4 ( ); sl@0: virtual TInt Testclocknanosleep5 ( ); sl@0: virtual TInt Testclocknanosleep6 ( ); sl@0: virtual TInt Testclockgettime1 ( ); sl@0: virtual TInt Testclockgettime2 ( ); sl@0: virtual TInt Testclockgettime3 ( ); sl@0: virtual TInt Testclocksettime1 ( ); sl@0: virtual TInt Testclocksettime2 ( ); sl@0: virtual TInt Testclocksettime3 ( ); sl@0: sl@0: private: // Data sl@0: TInt iParamCnt; sl@0: TInt iBlocked; sl@0: TInt iThreadId; sl@0: sl@0: }; sl@0: #endif