common/tools/ats/smoketest/lbs/common/inc/ctlbsclientrequestor.h
changeset 748 e13acd883fbe
child 872 17498133d9ad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/smoketest/lbs/common/inc/ctlbsclientrequestor.h	Tue Nov 10 13:50:58 2009 +0000
@@ -0,0 +1,146 @@
+/*
+* 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 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:
+*
+*/
+
+
+
+#ifndef __CT_LBS_CLIENT_REQUESTOR_H__ 
+#define __CT_LBS_CLIENT_REQUESTOR_H__
+
+//  INCLUDES
+#include <e32base.h>
+#include <Lbs.h>
+#include <EPos_CPosModules.h>
+#include <EPos_CPosModuleUpdate.h>
+#include <EPos_CPosModuleIdList.h>
+#include <testexecutelogger.h>
+
+
+// CONSTANTS
+const TInt KNoEvent = 42;
+
+// FORWARD DECLARATIONS
+class MCT_LbsRequestObserver;
+
+// CLASS DECLARATION
+
+/**
+*  ?one_line_short_description.
+*  ?other_description_lines
+*/
+class CT_LbsClientRequestor : public CActive
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        * @return A new instance of this class.
+        */
+        static CT_LbsClientRequestor* NewL(
+            /* IN  */   TUid                aPsyUid,
+			/* IN  */   MCT_LbsRequestObserver*   aObserver,
+			/* IN  */	const TDesC& aClientName,
+		    CTestExecuteLogger&						aLogger
+		    );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CT_LbsClientRequestor();
+
+    protected:
+
+        /**
+        * C++ default constructor.
+        */
+        CT_LbsClientRequestor(
+			/* IN  */   MCT_LbsRequestObserver*   aObserver,
+						TUid				aPsyUid
+			);
+
+        /**
+        * By default EPOC constructor is private.
+        */
+        void ConstructL(const TDesC& aClientName, CTestExecuteLogger& aLogger);
+
+    public: // New functions
+        
+        const TTime& CompletionTimeUTC() const;
+       
+		TInt CompletionCode() const;
+
+		void ResetCompletionCode();
+
+        /**
+        * Performs a request to iPsy. Notifies iObserver when request is complete
+        */
+        void StartRequestL(TBool aDefaultPsy);
+
+		void RequestModuleStatusEvent();
+
+		TInt ReadModuleStatusEvent();
+
+		void ContinueRequesting();
+
+		void ClosePositioner();
+
+		TBool ReadModuleStatusModulesApi(CPosModules* aDb, TPositionModuleId aModuleId);
+		
+		TInt ReadModuleStatusClientApi(TPositionModuleId aModuleId);
+
+		void CancelModuleStatusEvent();
+
+    public: // Functions from base classes
+
+        void RunL();
+
+        void DoCancel();
+
+    protected: // New functions
+
+        void RequestComplete();
+
+    private:
+
+        // By default, prohibit copy constructor
+        CT_LbsClientRequestor( const CT_LbsClientRequestor& );
+        // Prohibit assigment operator
+        CT_LbsClientRequestor& operator= ( const CT_LbsClientRequestor& );
+        
+    	// Logger interface used for constructing result strings to be fed for the logger instance
+    	inline CTestExecuteLogger& Logger() {return iLogger;};
+
+    private:    // Data
+
+        RPositionServer     iPosServer;
+        RPositioner         iPositioner;
+		TBuf<100>			iName;
+
+		MCT_LbsRequestObserver*   iObserver;
+        TTime               iCompletionTimeUTC;
+        TInt                iCompletionCode;
+        TRequestStatus      iRequestStatus;
+        TPositionInfo       iModuleInfo;
+		TUid				iPsyUid;
+		TPositionModuleStatusEvent istatusEvent;
+		TBool iContinueEventRequesting;
+		
+        CTestExecuteLogger	iLogger;
+    };
+
+#endif      // __CT_LBS_CLIENT_REQUESTOR_H__  
+            
+// End of File