diff -r 61e9400fe245 -r 0cb2248d0edc apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testpositionserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/apicompatanamdw/bcdrivers/os/lbs/LocAcquisition/src/testpositionserver.cpp Thu Apr 22 17:15:08 2010 +0530 @@ -0,0 +1,470 @@ +/* +* 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 RPositionServer +* +*/ + + +// System Includes + + +// User Includes +#include "testpositionserver.h" + + +// Constant Declarations + + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// C++ Default Constructor +// --------------------------------------------------------------------------- +// +CTestPositionServer::CTestPositionServer(CStifLogger* aLog) + :CActive(0),iLog(aLog) + { + CActiveScheduler::Add(this); + } + +// --------------------------------------------------------------------------- +// C++ Destructor +// --------------------------------------------------------------------------- +// +CTestPositionServer::~CTestPositionServer() + { + if( IsActive() ) + { + Cancel(); + } + } + +// --------------------------------------------------------- +// CTestPositionServer::RunL +// +// RunL to Handle Completed Request +// --------------------------------------------------------- +// +void CTestPositionServer::RunL() + { + if(iStatus != KErrCancel) + { + iLog->Log(_L("RunL %d"),iStatus.Int()); + CActiveScheduler::Stop(); + } + } + +// --------------------------------------------------------- +// CTestPositionServer::DoCancel +// +// To Handle Cancel Request +// --------------------------------------------------------- +// +void CTestPositionServer::DoCancel() + { + TInt err = iPosServer.CancelRequest(EPositionServerNotifyModuleStatusEvent); + iLog->Log(_L("CancelL %d"),err); + + } + +// --------------------------------------------------------- +// CTestPositionServer::CancelRequest +// +// To Cancel the Outstanding Request +// --------------------------------------------------------- +// +TInt CTestPositionServer::CancelRequest() + { + TInt err = iPosServer.CancelRequest(EPositionServerNotifyModuleStatusEvent); + iLog->Log(_L("CancelL %d"),err); + return err; + } + +// --------------------------------------------------------- +// CTestPositionServer::RunError +// +// To Handle Error in RunL +// --------------------------------------------------------- +// +TInt CTestPositionServer::RunError(TInt aError) + { + iLog->Log(_L("Leave in RunL %d"),aError); + return aError; + } + +// --------------------------------------------------------- +// CTestPositionServer::PositionServer +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +RPositionServer& CTestPositionServer::PositionServer() + { + return iPosServer; + } + +// --------------------------------------------------------- +// CTestPositionServer::Connect +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::Connect() + { + TInt err = iPosServer.Connect(); + if(err != KErrNone) + { + TBuf<100> msg; + msg.Copy(_L("Position server connect failed with error code :")); + msg.AppendNum(err); + iLog->Log(msg); + } + else + { + iLog->Log(_L("Position Server connect - passed")); + } + return err; + } + +// --------------------------------------------------------- +// CTestPositionServer::Disconnect +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::Disconnect() + { + iPosServer.Close(); + iLog->Log(_L("Closing Position Server - passed")); + return KErrNone; + } + +// --------------------------------------------------------- +// CTestPositionServer::Disconnect +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::VersionCheck() + { + TVersion ver = iPosServer.Version(); + if(ver.iMajor == 1 && ver.iMinor == 0 && ver.iBuild == 0 ) + { + iLog->Log(_L("Version numbers are Verified to be correct!")); + return KErrNone; + } + else + { + iLog->Log(_L("Wrong Version")); + return KErrGeneral; + } + } + +// --------------------------------------------------------- +// CTestPositionServer::GetDefaultModule +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::GetDefaultModule() + { + TPositionModuleId moduleId; + TInt err = iPosServer.GetDefaultModuleId(moduleId); + TBuf<100> msg; + + if(err != KErrNone) + { + msg.Copy(_L("GetDefaultModule failed with error code :")); + msg.AppendNum(err); + iLog->Log(msg); + } + else + { + msg.Copy(_L("GetDefaultModule passed Id of Module is:")); + msg.AppendNumUC(moduleId.iUid, EHex); + iLog->Log(msg); + } + + return err; + + } + +// --------------------------------------------------------- +// CTestPositionServer::GetModuleNum +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::GetModuleNum() + { + TInt err; + TUint number; + + err = iPosServer.GetNumModules(number); + TBuf<100> msg; + + if(err != KErrNone) + { + msg.Copy(_L("GetModuleNumPanic failed with error code :")); + msg.AppendNum(err); + iLog->Log(msg); + } + else + { + msg.Copy(_L("GetModuleNumPanic passed Number of Module is:")); + msg.AppendNum(number); + iLog->Log(msg); + } + + return err; + } + +// --------------------------------------------------------- +// CTestPositionServer::GetModuleInfoIndex +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::GetModuleInfoIndex(TInt aIndex) + { + TPositionModuleInfo infoModule; + TInt err; + err = iPosServer.GetModuleInfoByIndex(aIndex,infoModule); + TBuf<100> msg; + + if(err != KErrNone) + { + msg.Copy(_L("GetModuleInfoByIndex failed with error code :")); + msg.AppendNum(err); + iLog->Log(msg); + } + else + { + TBuf<100> moduleName; + infoModule.GetModuleName(moduleName); + msg.Copy(_L("GetModuleInfoByIndex passed Module Name is:")); + msg.Append(moduleName); + iLog->Log(msg); + } + + return err; + + } + +// --------------------------------------------------------- +// CTestPositionServer::GetModuleInfoId +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::GetModuleInfoId(TPositionModuleId aUid) + { + TPositionModuleInfo infoModule; + TInt err; + + err = iPosServer.GetModuleInfoById(aUid,infoModule); + TBuf<100> msg; + if(err != KErrNone) + { + msg.Copy(_L("GetModuleInfoById failed with error code :")); + msg.AppendNum(err); + iLog->Log(msg); + } + else + { + TBuf<100> moduleName; + infoModule.GetModuleName(moduleName); + msg.Copy(_L("GetModuleInfoById passed Module Name is:")); + msg.Append(moduleName); + iLog->Log(msg); + } + + return err; + + } + +// --------------------------------------------------------- +// CTestPositionServer::GetModuleStatus +// +// (other items are commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::GetModuleStatus(TPositionModuleId aUid) + { + TPositionModuleStatus moduleStatus; + TInt err; + TBuf<100> msg; + err = iPosServer.GetModuleStatus(moduleStatus,aUid); + if(err != KErrNone) + { + msg.Copy(_L("GetModuleStatus failed with error code :")); + msg.AppendNum(err); + iLog->Log(msg); + } + else + { + TBuf<20> intStatus; + intStatus.Num(moduleStatus.DeviceStatus()); + msg.Copy(_L("GetModuleStatus passed Device Status is :")); + msg.Append(intStatus); + iLog->Log(msg); + } + return err; + + } + +// --------------------------------------------------------- +// CTestPositionServer::GetModuleChangeNotification +// +// (other items were commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::GetModuleChangeNotification(TInt aEvent, TPositionModuleId aUid) + { + TPositionModuleStatus moduleStatus; + TPositionModuleStatusEventBase::_TModuleEvent event = TPositionModuleStatusEvent::EEventNone; + + //Setting of Event type according to aEvent parameter + switch(aEvent) + { + case 0: + event = TPositionModuleStatusEvent::EEventNone; + break; + case 4: + event = TPositionModuleStatusEvent::EEventAll; + break; + } + iModuleEvent.SetRequestedEvents(event); + + // Asynchronous module status + iPosServer.NotifyModuleStatusEvent(iModuleEvent, iStatus, aUid); + + if(0 != aEvent) + { + SetActive(); + TInt err = iPositioner.Open(iPosServer, aUid); + CActiveScheduler::Start(); + + iPositioner.Close(); + } + TBuf<100> msg; + msg.Copy(_L("In GetModuleChangeNotificationErr1: NotifyModuleStatusEvent returned with :")); + msg.AppendNum(iStatus.Int()); + iLog->Log(msg); + return iStatus.Int(); +} + +// --------------------------------------------------------- +// CTestPositionServer::GetModuleChangeNotificationCancel +// +// (other items were commented in a header). +// --------------------------------------------------------- +// +TInt CTestPositionServer::GetModuleChangeNotificationCancel(TInt aEvent, TPositionModuleId aUid) + { + TPositionModuleStatus moduleStatus; + TPositionModuleStatusEventBase::_TModuleEvent event = TPositionModuleStatusEvent::EEventNone; + + //Setting of Event type according to aEvent parameter + switch(aEvent) + { + case 0: + event = TPositionModuleStatusEvent::EEventNone; + break; + case 4: + event = TPositionModuleStatusEvent::EEventAll; + break; + } + iModuleEvent.SetRequestedEvents(event); + + // Asynchronous module status + iPosServer.NotifyModuleStatusEvent(iModuleEvent, iStatus, aUid); + SetActive(); + iLog->Log(_L("Started RunSession with status %d"),iStatus.Int()); + + Cancel(); + + TBuf<100> msg; + msg.Copy(_L("In GetModuleChangeNotificationErr2: NotifyModuleStatusEvent returned with :")); + msg.AppendNum(iStatus.Int()); + iLog->Log(msg); + return iStatus.Int(); + } + +// --------------------------------------------------------- +// CTestPositionServer::DisconnectPanicOutstanding +// +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CTestPositionServer::DisconnectPanicOutstanding(TInt aEvent, TPositionModuleId aUid) +{ + TPositionModuleStatus moduleStatus; + TPositionModuleStatusEventBase::_TModuleEvent event = TPositionModuleStatusEvent::EEventNone; + + //Setting of Event type according to aEvent parameter + switch(aEvent) + { + case 0: + event = TPositionModuleStatusEvent::EEventNone; + break; + case 4: + event = TPositionModuleStatusEvent::EEventAll; + break; + } + iModuleEvent.SetRequestedEvents(event); + + // Asynchronous module status + iPosServer.NotifyModuleStatusEvent(iModuleEvent, iStatus, aUid); + SetActive(); + + TBuf<100> msg; + msg.Copy(_L("In DisconnectPanicOutstanding returned with :")); + msg.AppendNum(iStatus.Int()); + iLog->Log(msg); + iPosServer.Close(); +} + +// --------------------------------------------------------- +// CTestPositionServer::GetModuleChangeNotificationPanicDuplicate +// +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CTestPositionServer::GetModuleChangeNotificationPanicDuplicate(TInt aEvent, TPositionModuleId aUid) + { + TPositionModuleStatus moduleStatus; + TPositionModuleStatusEventBase::_TModuleEvent event = TPositionModuleStatusEvent::EEventNone; + + //Setting of Event type according to aEvent parameter + switch(aEvent) + { + case 0: + event = TPositionModuleStatusEvent::EEventNone; + break; + case 4: + event = TPositionModuleStatusEvent::EEventAll; + break; + } + iModuleEvent.SetRequestedEvents(event); + + // Asynchronous module status + iPosServer.NotifyModuleStatusEvent(iModuleEvent, iStatus, aUid); + SetActive(); + TRequestStatus status; + iPosServer.NotifyModuleStatusEvent(iModuleEvent, status, aUid); + User::WaitForRequest(status); + +} +