diff -r 8173571d354e -r 1fc85118c3ae eventsui/eventseditor/src/evtmgmtuilocationserviceadapter.cpp --- a/eventsui/eventseditor/src/evtmgmtuilocationserviceadapter.cpp Thu Aug 19 09:48:36 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,234 +0,0 @@ -/* -* Copyright (c) 2002-2005 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: -* This file contains the methods which interface with Location Acquisition -* API for getting location information -* -*/ - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "locnotprefplugindomaincrkeys.h" -#include "evtmgmtuilocationserviceadapter.h" -#include "evteditorconsts.h" -#include "evtdebug.h" - -// ---------------------------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::NewL -// Two-phased constructor. -// ---------------------------------------------------------------------------- -CEvtMgmtUiLocationServiceAdapter* CEvtMgmtUiLocationServiceAdapter::NewL( MEvtMgmtUiLocationServiceObserver& aObserver ) - { - CEvtMgmtUiLocationServiceAdapter* self = new ( ELeave ) CEvtMgmtUiLocationServiceAdapter( aObserver ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); // self - return self; - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::~CEvtMgmtUiLocationServiceAdapter -// --------------------------------------------------------- -CEvtMgmtUiLocationServiceAdapter::~CEvtMgmtUiLocationServiceAdapter() - { - EVTUIDEBUG("+ CEvtMgmtUiLocationServiceAdapter::~CEvtMgmtUiLocationServiceAdapter()" ); - Cancel(); - iPositioner.Close(); - iServer.Close(); - EVTUIDEBUG("- CEvtMgmtUiLocationServiceAdapter::~CEvtMgmtUiLocationServiceAdapter()" ); - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::ConstructL -// --------------------------------------------------------- -void CEvtMgmtUiLocationServiceAdapter::ConstructL() - { - //conect to position server - User::LeaveIfError(iServer.Connect()); - - //create subsesion with server - User::LeaveIfError(iPositioner.Open( iServer )); - - //set timeout value - TPositionUpdateOptions updateOptions; - updateOptions.SetUpdateTimeOut( TTimeIntervalMicroSeconds(KLocAcqTimeOut)); - User::LeaveIfError( iPositioner.SetUpdateOptions(updateOptions) ); - - //set requestor - _LIT(KRequestorName, "LocationSerivce"); - User::LeaveIfError( iPositioner.SetRequestor( - CRequestor::ERequestorService, - CRequestor::EFormatApplication, - KRequestorName )); - - //add to active scheduler for asychrnous operation - CActiveScheduler::Add( this ); - } - -// ---------------------------------------------------------------------------- -// CLmkLocationService::CLmkLocationService -// C++ default constructor can NOT contain any code, that -// might leave. -// ---------------------------------------------------------------------------- -CEvtMgmtUiLocationServiceAdapter::CEvtMgmtUiLocationServiceAdapter( MEvtMgmtUiLocationServiceObserver& aObserver ) -: CActive(EPriorityStandard), iObserver( aObserver ) - { - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::LocationRequestL -// It is used to request current location -// --------------------------------------------------------- - void CEvtMgmtUiLocationServiceAdapter::LocationRequestL() - { - EVTUIDEBUG("+ CEvtMgmtUiLocationServiceAdapter::LocationRequestL()" ); - if ( IsActive() ) - { - User::Leave( KErrInUse ); - } - SetActive(); - iStatus = KRequestPending; - iPositioner.NotifyPositionUpdate( iPositionInfo, iStatus ); - EVTUIDEBUG("- CEvtMgmtUiLocationServiceAdapter::LocationRequestL()" ); - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::CurrentPosition -// It is used to retrieve current location -// @ret Recently retrieved current location -// --------------------------------------------------------- -TPosition& CEvtMgmtUiLocationServiceAdapter::CurrentPosition() - { - return iPosition; - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::AllPositionMethodsDisabled -// Check if all positioning methods are disabled. -// @ret true if disabled else false -// --------------------------------------------------------- -// -TBool CEvtMgmtUiLocationServiceAdapter::AllPositionMethodsDisabledL() - { - CPosModules* moduleDb = CPosModules::OpenL(); - CleanupStack::PushL(moduleDb); - CPosModuleIdList* psyList = moduleDb->ModuleIdListL(); - CleanupStack::PushL(psyList); - - TBool allDisabled =ETrue; - - TPositionModuleInfo moduleInfo; - for(TInt index=0; index< psyList->Count(); index++) - { - TPositionModuleId moduleId = psyList->At( index ); - TRAPD(error, moduleDb->GetModuleInfoL( moduleId, moduleInfo);); - if(error == KErrNone ) - { - if( moduleInfo.IsAvailable() ) - { - allDisabled = EFalse; - break; - } - } - } - - CleanupStack::PopAndDestroy(2); // psyList, moduleDb - return allDisabled; - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::CancelRequest -// It is used to cancel recently issued location request -// --------------------------------------------------------- -void CEvtMgmtUiLocationServiceAdapter::CancelRequest() - { - Cancel(); - TRAP_IGNORE( iObserver.HandleLocationServiceErrorL( KErrCancel ) ); - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::RunL -// Derived from CActive -// --------------------------------------------------------- -void CEvtMgmtUiLocationServiceAdapter::RunL() - { - EVTUIDEBUG1("+ CEvtMgmtUiLocationServiceAdapter::RunL() - %d", iStatus.Int() ); - - //TInt err = KErrTimedOut; - //switch ( err ) - switch ( iStatus.Int() ) - { - case KErrNone: - case KPositionPartialUpdate: - { - //retrieve current location information - iPositionInfo.GetPosition( iPosition ); - TReal32 altitude = iPosition.Altitude(); - if ( Math::IsNaN( altitude ) ) - { - TRealX nan; - nan.SetNaN(); - iPosition.SetVerticalAccuracy( nan ); - } - - //notify observer about successful completion of operation - iObserver.HandleLocationServiceResponseL( iStatus.Int() ); - break; - } - case KErrAccessDenied: - case KPositionQualityLoss: - case KErrTimedOut: - case KErrNotFound: // No PSY selected. - case KErrUnknown: - case KErrCancel: - case KErrArgument: - default: - { - TRAP_IGNORE( iObserver.HandleLocationServiceErrorL( iStatus.Int() ) ); - break; - } - } - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::RunError -// Derived from CActive -// --------------------------------------------------------- -// -TInt CEvtMgmtUiLocationServiceAdapter::RunError(TInt aError) - { - TRAP_IGNORE( iObserver.HandleLocationServiceErrorL( aError ) ); - return KErrNone; - } - -// --------------------------------------------------------- -// CEvtMgmtUiLocationServiceAdapter::DoCancel -// Derived from CActive -// --------------------------------------------------------- -// -void CEvtMgmtUiLocationServiceAdapter::DoCancel() - { - EVTUIDEBUG("+ CEvtMgmtUiLocationServiceAdapter::DoCancel()" ); - iPositioner.CancelRequest( EPositionerNotifyPositionUpdate ); - EVTUIDEBUG("- CEvtMgmtUiLocationServiceAdapter::DoCancel()" ); - } -// End of File