--- /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 <e32base.h>
+#include <e32svr.h>
+
+#include "f32file.h"
+#include "e32test.h"
+
+#include <test/testexecutestepbase.h>
+#include <test/testexecuteserverbase.h>
+
+// 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_ */
+