diff -r 61e9400fe245 -r 0cb2248d0edc apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/inc/testpositioner.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/inc/testpositioner.h Thu Apr 22 17:15:08 2010 +0530 @@ -0,0 +1,335 @@ +/* +* Copyright (c) 2007 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: Test Class For RPositioner +* +*/ + + +#ifndef CTESTPOSITIONER_H +#define CTESTPOSITIONER_H + +// System Includes +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +// Constants + +// CLASS DECLARATION +/** + * Test Class to invoke the RPositioner methods + * + * This class is a helper class. The status variable of this active obect is + * used to provide the asynchronous method Calls. + * + * @lib testlbslocacquisition.lib + * @since S60 v3.2 + */ + +class CTestPositioner :public CActive,public RPositioner + { + public: + //Enumerators + enum TRequsted + { + /** GetLastKnownPosition Requested */ + EGetLastKnownPosition = 0, + /** GetPositionInfo Requested */ + EPositionInfo = 1, + /** No Requests */ + ENone = 2 + }; + + // Constructors and destructor + /** + * C++ default constructor. + */ + CTestPositioner(CStifLogger* aLog); + + /** + * Destructor. + */ + ~CTestPositioner(); + + public: + + //From CActive + void RunL(); + void DoCancel(); + TInt RunError(TInt aError); + + TInt CancelRequest(); + + // New functions + /** + * Test Case for Connect to Position Sever + * This will test for Successful Connect + * + * @since S60 v3.2 + * Returns KErrNone if successful. + * + */ + TInt Connect(); + + /** + * Test Case for Disconnect to Position Sever + * This will test for Successful Disconnect + * + * @since S60 v3.2 + * + */ + void Disconnect(); + + /** + * Test Case for Resolving Which Open has to be called + * for Opening Position Module + * This will redirect the call to Open Positioner method. + * + * @since S60 v3.2 + * + */ + TInt OpenPositionerResolver(RPositionServer& aPosServer, CStifItemParser& aItem ); + + /** + * Test Case for Opening a Positioning Module + * This will test for Successful Open + * + * @since S60 v3.2 + * Returns KErrNone if successful. + * + */ + TInt OpenPositioner(RPositionServer& aPosServer); + + /** + * Test Case for Opening a Positioning Module by Id + * This will test for Successful Open + * + * @since S60 v3.2 + * Returns KErrNone if successful. + * + */ + TInt OpenPositionerById(RPositionServer& aPosServer, const TUid aPsyUid); + + /** + * Test Case for Opening a Positioning Module by Id + * This will test for Successful Open + * + * @since S60 v3.2 + * Returns KErrNone if successful. + * + */ + TInt OpenPositionerByCriteria(RPositionServer& aPosServer); + + /** + * Test Case for Closing a Positioning Module + * This will test for Successful Disconnect + * + * @since S60 v3.2 + * + */ + void ClosePositioner(); + + /** + * Method to set the Request State(GetLastKnown/GetPositionInfo) + * Helper method + * + * @since S60 v3.2 + * + */ + void SetRequestStateL( CStifItemParser& aItem ); + + /** + * Method for Closing Position Sever/Positioning Module + * This will test for Panic on Closing Position Sever/Positioning Module + * while the request in Pending(Not Cancelled) + * + * @since S60 v3.2 + * + */ + void ClosePosServerPanic(TPositionInfoBase *aPosInfo); + + /** + * Test Case for setting the Requestor + * This will test for Successful Set + * + * @since S60 v3.2 + * + */ + TInt SetRequestor( TInt aType, + TInt aFormat,const TDesC & aData ); + + /** + * Test Case for setting the Requestor Stack + * This will test for Successful Set + * + * @since S60 v3.2 + * + */ + TInt SetRequestorStackL( CStifItemParser& aItem ); + + /** + * Test Case for Setting Update Options + * This will test for Successful Setting of Update Options + * + * @since S60 v3.2 + * + */ + TInt SetUpdateOp(TInt aInterval,TInt aTimeOut,TInt aAge); + + /** + * Test Case for Getting Update Options + * This will test for Successful Getting of Update Options + * + * @since S60 v3.2 + * + */ + TInt GetUpdateOp(TInt aInterval,TInt aTimeOut,TInt aAge); + + /** + * Method for Resolving the call to Get Last Known Position + * This will redirect to correct Get Last Known Position method + * + * @since S60 v3.2 + * + */ + TInt GetLastKnownPostionResolverL( CStifItemParser& aItem ); + + /** + * Method for Getting the Last Known Position + * This will fetch the Position Info from Cache + * + * @since S60 v3.2 + * + */ + TInt GetLastKnownPostionL(TPositionInfoBase *aPosInfo); + + /** + * Method for Resolving the call to Cancel + * Get Last Known Position + * This will redirect to correct Cancel method + * + * @since S60 v3.2 + * + */ + TInt GetLastKnownPostionCancelResolverL( CStifItemParser& aItem ); + + /** + * + * Method to Cancel the Get Last Known Position + * + * @since S60 v3.2 + * + */ + TInt GetLastKnownPostionCancel(TPositionInfoBase *aPosInfo); + + /** + * Method for Resolving the call to Get Position Info + * This will redirect to correct Get Position Info method + * + * @since S60 v3.2 + * + */ + TInt GetPositionInfoResolverL( CStifItemParser& aItem ); + + /** + * Method to Get the Position Info from Positioning Module + * Gets the Notification on Successfull. + * + * @since S60 v3.2 + * + */ + TInt GetPositionInfoL(TPositionInfoBase *aPosInfo); + + /** + * Method to Handle Duplicate Panic + * on Get Position Info from Positioning Module + * + * @since S60 v3.2 + * + */ + void GetPositionInfoPanicDuplicate(TPositionInfoBase *aPosInfo); + + /** + * Method for Resolving the call to Cancel Get Position Info + * This will redirect to correct Cancel method + * + * @since S60 v3.2 + * + */ + TInt GetPositionInfoCancelResolverL( CStifItemParser& aItem ); + + /** + * Method for Cancelling the Get Position Info Request + * + * @since S60 v3.2 + * + */ + TInt GetPositionInfoCancelL(TPositionInfoBase *aPosInfo); + + /** + * Method for Testing ExtendedInterface + * + * @since S60 v3.2 + * + */ + TInt TestExtendedInterface(); + + /** + * Utility Method to Delete the Cache + * + * @since S60 v3.2 + * + */ + TInt DeleteLastKnownPostionCacheL(); + + private: //data + /** + * Session for Postion Server + */ + RPositionServer iPosServer; + /** + * Sub Session for Postion Server + */ + RPositioner iPositioner; + /** + * Pointer to Stif Logger - Does not Own + */ + CStifLogger* iLog; + /** + * ModuleEvent with Event on Request Complete + */ + TPositionModuleStatusEvent iModuleEvent; + + /** + * Requested Service + */ + TRequsted iState; + + }; + +#endif // CTESTPOSITIONER_H + +// End of File