commonappservices/alarmservertest/TestAlarmSrv/CSuite.h
changeset 0 2e3d3ce01487
--- /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_ */
+