commsprocess/commsrootserverconfig/te_cap_rootserver/CSuite.h
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commsprocess/commsrootserverconfig/te_cap_rootserver/CSuite.h	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,144 @@
+// Copyright (c) 2004-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:
+//
+
+#if (!defined CAP_RootServerPlatSecSuite_SERVER_H_)
+#define CAP_RootServerPlatSecSuite_SERVER_H_
+
+
+
+#include <e32base.h>
+#include <e32svr.h>
+#include <f32file.h>
+#include <e32test.h>
+#include <test/testexecutestepbase.h>
+#include <test/testexecuteserverbase.h>
+
+#include <rsshared.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
+
+
+const TUint KTestSecureServerMajorVersionNumber = 0;
+const TUint KTestSecureServerMinorVersionNumber	= 1; 
+const TUint KTestSecureServerBuildVersionNumber = 1;
+
+
+class  CTestRootServerPlatSecSuiteServer : public CTestServer
+{
+public:
+	static CTestRootServerPlatSecSuiteServer* NewL();
+	// Base class pure virtual override
+	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+
+};
+
+
+
+class CCapabilityTestStep : public CTestStep, public RSessionBase
+{
+public:
+ 	virtual TVerdict doTestStepPreambleL( void );
+	virtual TVerdict doTestStepPostambleL( void );
+//	void ServerClose(RTelServer& aServer);
+	CActiveScheduler*	testScheduler;
+
+	TInt StartServer() ;
+// 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	
+
+	//The Server Name (eg: CommServer, EtelServer,FLogger server, etc)
+	TBuf<100>	SR_ServerName;	
+	TBuf<100>	iServer_Panic;
+
+	//Following flags influence inverse tests
+	TBool		iExpect_Rejection;
+	
+	TUint32  	iStepCap;
+
+	
+	//Is it Async or sync?
+	TInt		SR_MESSAGE_TYPE;
+
+	//It holds the IPC number
+	TInt		SR_MESSAGE_ID;
+
+	//Holds the cap mask for the message
+	TInt		SR_MESSAGE_MASK;
+
+	//Holds the required SID for the message
+	TSecureId	SR_MESSAGE_SID;
+
+	//Holds the required SID for the message
+	TVendorId	SR_MESSAGE_VID;
+	
+	//We name the child thread appended by the IPC_Number it tests
+	TBuf<100>	ChildThread_SR;		
+
+	//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	RequestStatus_SR;
+
+	//For an Sync message, nResult_SR get you the return value
+	TInt	iResult_SR;	
+
+	//Hold the retusn value from "CreateSession" API
+	TInt	iResult_Server;
+
+	TInt	iResult_C32;
+		
+	enum 	TDbgFns  {MarkHeapStart, MarkHeapEnd, CheckHeap, FailNext, ResetFailNext};
+   	   	   
+ 	TInt	iOptions;
+   	
+
+	//The Child thread object
+	RThread tChildThread;	
+	
+	//This is the Function called from "doTestStepL" by the test Suite,and it creates an 
+	//child thread which internally calls the corresponding Exec_SendReceive_SERVERNAME fn.
+	TVerdict MainThread();
+	TVerdict GetVerdict(TInt aAPIretValue);
+ 	TVerdict GetVerdict(TExitType aExit,TInt aInitRetValue, TInt aApiRetValue);
+ 	TInt TestDebugHeap(TInt *iDbgIPCNo);
+
+
+	//This is for the scheduler test framework
+	virtual enum TVerdict doTestStepL();
+
+	// Stuff that derived classes need to implement
+	virtual TVersion Version()=0;
+	virtual TInt Exec_SendReceive()=0;
+	 
+private:
+	TInt StartRootServer ();
+};
+
+
+#endif /* TS_RootServerPlatSecSuite_SERVER_H_ */
+