datacommsserver/esockserver/test/CapTests/Resolver/Common/CSuite.h
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/test/CapTests/Resolver/Common/CSuite.h	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,192 @@
+// 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:
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+#if (!defined CAP_PARAM_SVR_SUITENAME_SERVER_H_)
+#define CAP_PARAM_SVR_SUITENAME_SERVER_H_
+
+
+
+#include <e32base.h>
+#include <e32svr.h>
+#include "f32file.h"
+#include "e32test.h"
+#include <in_sock.h>
+
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+#include <TestExecuteStepBase.h>
+#include <TestExecuteServerBase.h>
+#else
+#include <test/TestExecuteStepBase.h>
+#include <test/TestExecuteServerBase.h>
+#endif
+
+//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
+
+
+//
+// Bunch up IPCs that need similar action
+//
+template <TInt S>
+struct dispatch_num
+	{
+	enum { result =  S };
+	/*enum { result =
+			S >= ESSProtocolStart && S <= ESSProtocolStop ? ESSProtocolStart :
+			S >= ESoCreate && S <= ESoCreateNull ? ESoCreate :
+			S >= ESoSend && S <= ESoWrite ? ESoSend :
+			S >= ESoSendTo && S <= ESoRecvFromNoLength ? ESoSendTo :
+			S >= ESoSetOpt && S <= ESoGetOpt ? ESoSetOpt :
+			S >= ESoGetDiscData && S <= ESoGetRemoteName ? ESoGetDiscData :
+			S >= EHRGetHostName && S <= EHRSetHostName ? EHRGetHostName :
+			S >= ESRRegisterService && S <= ESRRemoveService ? ESRRegisterService:
+			S >= ENDAdd && S <= ENDRemove ? ENDAdd :
+			S >= ECNCreate && S<= ECNCreateWithName ? ECNCreate :
+			S == ECNProgress || S == ECNLastProgressError ? ECNProgress :
+	#if defined(_DEBUG)
+			S >= ESSDbgCheckHeap && S <= ESSDbgCheckMbuf ? ESSDbgCheckHeap :
+			S >= ESSDbgMbufFreeSpace && S <= ESSDbgMbufTotalSpace ? ESSDbgMbufFreeSpace :
+	#else
+			S >= ESSDbgMarkHeap && S <= ESSDbgMbufTotalSpace ? ESSDbgMbufFreeSpace:
+	#endif
+			S };*/
+	};
+
+template <TInt v>
+struct Int2Type
+	{
+	enum { value = v};
+	};
+
+
+// TS_PARAM_SVR_SUITENAMEServer.h
+//
+// This contains CTestPARAM_SVR_SUITENAMESuite
+
+const TUint KTestSecureServerMajorVersionNumber = 0;
+const TUint KTestSecureServerMinorVersionNumber	= 1;
+const TUint KTestSecureServerBuildVersionNumber = 1;
+
+
+class  CTestPARAM_SVR_SUITENAMEServer : public CTestServer
+{
+public:
+	static CTestPARAM_SVR_SUITENAMEServer* NewL();
+	// Base class pure virtual override
+	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+
+private:
+	void CTestPARAM_SVR_SUITENAMEServer::RetrieveUpsAuthorisationGrantedL();
+
+private:
+	// Flag indicating whether UPS authorisation will always be granted and thus override
+	// the standard Platform Security check.
+	TBool iUpsAuthorisationGranted;
+};
+
+
+
+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;
+
+	//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;
+
+
+};
+
+
+#endif /* TS_PARAM_SVR_SUITENAME_SERVER_H_ */
+