messagingfw/msgtest/targetautomation/TechviewStart/AppStarter.h
changeset 62 db3f5fa34ec7
parent 0 8e480a14352b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgtest/targetautomation/TechviewStart/AppStarter.h	Wed Nov 03 22:41:46 2010 +0530
@@ -0,0 +1,68 @@
+// Copyright (c) 2001-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:
+//
+
+#ifndef __APPSTARTER_H__
+#define __APPSTARTER_H__
+
+//#include <e32base.h>
+#include <apgcli.h>
+
+class CThreadWatcher;
+class CStarter;
+
+class CAppStarter : public CTimer
+	{
+	public:
+		static void NewLD(TInt aAppType, TUint32 aAppUid, TDesC& aExeFileName, TDesC& aDllFileName, TDesC* aCmdLineArgs, TUint32 aStackSize,
+							TUint32 aMinHeapSize, TUint32 aMaxHeapSize, TBool aMonitoring, TBool aViewless,
+							TBool aSemaphore, TSglQue<CThreadWatcher>* aQue, RApaLsSession& aSession, CStarter* aStarter);
+		virtual void RunL();
+	protected: //from CActive
+	 	virtual TInt RunError(TInt aError);
+	private:
+		CAppStarter(RApaLsSession& aSession);
+		~CAppStarter();
+
+		void StartL();
+		void Done(TBool aSucces);
+		void Next();
+		void TryStartViewlessAppL(TApaAppInfo aInfo, TThreadId aThreadId);
+
+
+		enum
+			{
+			EStartApp,
+			EAppStarted,
+			EAppFailed
+			} iState;
+
+		TInt iAppType;
+		TUint32 iAppUid;
+		TFullName iExeFileName;
+		TFullName iDllFileName;
+		TDesC* iCmdLineArgs;
+		TUint32 iStackSize;
+		TUint32 iMinHeapSize;
+		TUint32 iMaxHeapSize;
+		TBool iMonitoring;
+		TBool iViewless;
+		TBool iSemaphore;
+		TSglQue<CThreadWatcher>* iQue;
+		RApaLsSession& iSession;
+		CStarter* iStarter;
+
+		TInt iRetries;
+	};
+#endif //__APPSTARTER_H__