diff -r 000000000000 -r 2e3d3ce01487 commonappservices/alarmservertest/TestAlarmSrv/CSuite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commonappservices/alarmservertest/TestAlarmSrv/CSuite.h Tue Feb 02 10:12:00 2010 +0200 @@ -0,0 +1,146 @@ +// Copyright (c) 2003-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: +// This file contains the CTestAlarmServer class. +// that represents our Test Server.This file also +// contains the TASStartupSignaller class used for +// starting up the Alarm Server. +// +// + +#if (!defined CAP_Alarm_SERVER_H_) +#define CAP_Alarm_SERVER_H_ + +#include +#include + +#include "f32file.h" +#include "e32test.h" + +#include +#include + +// Alarm Server headers. For starting Alarm Server, building the +// correct parameters for IPCs etc. +#include "asshddefs.h" +#include "ascliclientutils.h" +#include "asshdalarm.h" +#include "asclisession.h" + +// The two ways to get thru +#define API_RETVALUE_SERVERPANIC 0 +#define API_RETVALUE_NOCAPERROR 0 + +// The only way to get rejected +#define API_RETVALUE_PERMISSIONDENIED 1 +#define DEBUG_ONLY 1 +#define DYNAMIC_IPC 2 + +// No. of Message slots +const TInt KAlarmServerAsynchronousSlotCount = 5; + +class CTestAlarmServer : public CTestServer + { +public: + static CTestAlarmServer* NewL(); + virtual CTestStep* CreateTestStep(const TDesC& aStepName); + }; + +class CCapabilityTestStep : public CTestStep, public RSessionBase + { + +public: + enum TDbgFns + { + MarkHeapStart, + MarkHeapEnd, + CheckHeap, + FailNext, + ResetFailNext + }; +public: + // This is for the scheduler test framework + virtual TVerdict doTestStepPreambleL( void ); + virtual TVerdict doTestStepPostambleL( void ); + virtual enum TVerdict doTestStepL(); + + // Stuff that derived classes need to implement + virtual TVersion Version()=0; + virtual TInt Exec_SendReceiveL()=0; + + TInt StartServer() ; + + TVerdict MainThread(); + + TVerdict GetVerdict(TInt aAPIretValue); + + TVerdict GetVerdict(TExitType aExit,TInt aInitRetValue, TInt aApiRetValue); + + TInt TestDebugHeap(TInt* aDbgIPCNo); + + static TAlarmId GetAlarmId(); + + // from CStep.h + #define SR_MESSAGE_TYPE_CHNGED 2 + #define SR_MESSAGE_ID_CHNGED 10 + #define SR_ServerName_CHNGED _L("FLogger server") + + #define SR_CAPTEST_INVERSE 0 + + CActiveScheduler* iTestScheduler; + + /** The Server Name (eg: CommServer, EtelServer,FLogger server, etc)*/ + TBuf<100> iSrServerName; + + /** iServerPanic is a unique name from Server,but always truncated to KMaxExitCategoryName*/ + TBuf<100> iServerPanic; + + /** Following flags influence inverse tests*/ + TBool iExpectRejection; + + TUint32 iStepCap; + + /** Is it Async or sync?*/ + TInt iSrMessageType; + + /** It holds the IPC number*/ + TInt iSrMessageId; + + /** Holds the cap mask for the message*/ + TUint32 iSrMessageMask; + + /** We name the child thread appended by the IPC_Number it tests*/ + TBuf<100> iSrChildThread; + + /** The flag informs the main thread whether the connection to the server was established*/ + volatile TBool iSessionCreated; + + /** To find out if an Async message was completed and if then with what result?*/ + TRequestStatus iSrRequestStatus; + + /** For an Sync message, nResult_SR get you the return value*/ + TInt iResultSr; + + /** Hold the retusn value from "CreateSession" API*/ + TInt iResultServer; + + TInt iResultC32; + + TInt iOptions; + + /** The Child thread object*/ + RThread iChildThread; + }; + +#endif /* CAP_Alarm_SERVER_H_ */ +