lbs/lbsclient/inc/ctlbsclientstepmultireq.h
branchSymbian2
changeset 1 8758140453c0
child 6 c108117318cb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lbs/lbsclient/inc/ctlbsclientstepmultireq.h	Thu Jan 21 12:53:44 2010 +0000
@@ -0,0 +1,77 @@
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// @file ctlbsclientstepmultireq.h
+// This contains the header file for multi requests Tests
+// 
+//
+
+#ifndef __CT_LBS_CLIENT_STEP_MULTIREQ_H__
+#define __CT_LBS_CLIENT_STEP_MULTIREQ_H__
+
+#include "ctlbsclientstep.h"
+#include "ctlbsclientserver.h"
+#include "ctlbsclientgetlkpao.h"
+#include "ctlbsclientnotifyposupdao.h"
+
+
+// Literals used
+_LIT(KLbsClientStep_MultiReq, "LbsClientStep_MultiReq");
+
+_LIT(KLbsMultiReqTestSuitePanic,"Lbs Multi Requests Test Suite Panic");
+
+
+class CT_LbsClientStep_MultiReq : public CT_LbsClientStep, public MT_GetLastKnownPosObserver, public MT_NotifyPosUpdateObserver
+	{
+public:
+	~CT_LbsClientStep_MultiReq();
+
+	static CT_LbsClientStep_MultiReq* NewL(CT_LbsClientServer& aParent);
+	static CT_LbsClientStep_MultiReq* New(CT_LbsClientServer& aParent);
+
+	virtual TVerdict doTestStepL();
+	
+//from MT_GetLastKnownPosObserver:
+	virtual void GetLastKnownPositionCallback(TRequestStatus& aStatus);
+//from MT_NotifyPosUpdateObserver:
+	virtual void NotifyPositionUpdateCallback(TRequestStatus& aStatus);
+// tidy up (must be public to allow calling through timer callback function)	
+	void CT_LbsClientStep_MultiReq::AsyncTidyUp();
+	
+private:
+
+	enum TMultiReqState
+	/** 
+	 *	 states
+	 */
+	    {
+	    EStateUnknown, 							/*!< state unknown. */
+	    EStateLastKnownPositionComplete, 		/*!< Last Known Position request has completed */
+	    EStateLastNotifyPositionUpdateComplete, /*!< Notify Position Update request has completed */
+	    EStateDone 								/*!< Last Known Position and Position Update requests have both completed  */
+	    };
+	TMultiReqState iState;
+
+	CT_LbsClientStep_MultiReq(CT_LbsClientServer& aParent);
+
+	// timer for requests timeouts
+	CPeriodic* iTimer;
+	
+	CT_LbsClientGetLastKnownPosAO*	iGetLastKnownPosAO;
+	CT_LbsClientNotifyPosUpdAO*		iNotifyPosUpdateAO;
+	
+	TPositionInfo* iTempPosInfo;
+		
+	};
+
+#endif //__CT_LBS_CLIENT_STEP_MULTIREQ_H__