New BC drivers added are - Phonebook, Speed dial utility control, MMS Client MTM, Plugin Bio control, Organizer,
Startup List Management, Flash viewer framework, Network Status, Profile engine wrapper, Drm helper, OMA Drm CAF Agent,
SIP, Connection settings & UI, BLID, Landmarks, Send UI, Media Fetch, WebServices, Cellular services, Device services,
Graphics, Kernel and OSSrv, XML Services, Multimedia.
/*
* 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 <StifLogger.h>
#include <StifParser.h>
#include <StifTestModule.h>
#include <e32base.h>
#include <e32std.h>
#include <bautils.h>
#include <f32file.h>
#include <lbs.h>
#include <LbsPositionInfo.h>
#include <LbsCommon.h>
#include <LbsRequestor.h>
#include <lbssatellite.h>
#include <lbsclasstypes.h>
#include <LbsCriteria.h>
// 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