serviceproviders/sapi_location/tsrc/testing/tsapiloctest/src/sapiloctestblocks.cpp
/*
* Copyright (c) 2002 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 "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: ?Description
*
*/
// INCLUDE FILES
#include <e32svr.h>
#include <StifParser.h>
#include <StifTestInterface.h>
#include "sapiloctest.h"
#include <f32file.h>
#include <lbsposition.h>
#include <lbspositioninfo.h>
#include <lbscommon.h>
_LIT(LogFileName , "C:\\tsapiloctest.txt") ;
TInt returnCode;
RFile LogFile ;
RFs LogSession ;
#define GETLOCATION 0
#define TRACE 1
void OpenFile()
{
LogSession.Connect() ;
if(LogFile.Open(LogSession ,LogFileName , EFileWrite | EFileShareAny ) == KErrNotFound)
{
LogFile.Create(LogSession ,LogFileName , EFileWrite | EFileShareAny ) ;
}
TInt End = 0 ;
LogFile.Seek(ESeekEnd , End) ;
}
void CloseFile()
{
LogFile.Close() ;
LogSession.Close() ;
}
TInt ValidatePosition(TPosition& aPos)
{
TReal64 aLatitude = aPos.Latitude();
TReal64 aLongitude = aPos.Longitude() ;
TReal32 aAltitude = aPos.Altitude() ;
if( (-90<=aLatitude<=90) && (-180<=aLongitude<=180) && (aAltitude) )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format ;
//Logging Latitude
buf.Num(aLatitude , format) ;
LogFile.Write(_L8("Latitude = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
//Logging Longitude
buf.Num(aLongitude , format);
LogFile.Write(_L8("Longitude = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
//Logging Altitude
buf.Num(aAltitude , format) ;
LogFile.Write(_L8("Altitude = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
return KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("Test case failed.."));
CloseFile();
return KErrGeneral;
}
}
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
// CSAPILocTest::Delete
// Delete here all resources allocated and opened from test methods.
// Called from destructor.
// -----------------------------------------------------------------------------
//
void CSAPILocTest::Delete()
{
}
// -----------------------------------------------------------------------------
// CSAPILocTest::RunMethodL
// Run specified method. Contains also table of test mothods and their names.
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::RunMethodL(
CStifItemParser& aItem )
{
static TStifFunctionInfo const KFunctions[] =
{
// Copy this line for every implemented function.
// First string is the function name used in TestScripter script file.
// Second is the actual implementation member function.
ENTRY( "CreateLocObjWSer", CSAPILocTest::CreateLocObjWSer ),
ENTRY( "CreateLocObjs", CSAPILocTest::CreateLocObjs ),
// ENTRY( "CreateLocObjWOSer", CSAPILocTest::CreateLocObjWOSer ),
ENTRY( "GetPosition", CSAPILocTest::GetPosition ),
ENTRY( "GetPosition1", CSAPILocTest::GetPosition1 ),
ENTRY( "GetPosition2", CSAPILocTest::GetPosition2 ),
// ENTRY( "GetPositionTO", CSAPILocTest::GetPositionTO ),
ENTRY( "GetPositionAsync", CSAPILocTest::GetPositionAsync ),
// ENTRY( "GetPositionAsyncTO", CSAPILocTest::GetPositionAsyncTO ),
// ENTRY( "GetPositionAsyncOpts", CSAPILocTest::GetPositionAsyncOpts),
ENTRY( "GetPositionAsyncOpts1", CSAPILocTest::GetPositionAsyncOpts1),
ENTRY( "GetPositionAsyncOpts2", CSAPILocTest::GetPositionAsyncOpts2),
ENTRY( "GetPositionAsyncOpts3", CSAPILocTest::GetPositionAsyncOpts3),
ENTRY( "GetPositionAsyncOpts4", CSAPILocTest::GetPositionAsyncOpts4),
ENTRY( "GetPositionAsyncOpts5", CSAPILocTest::GetPositionAsyncOpts5),
ENTRY( "GetPositionAsyncOpts6", CSAPILocTest::GetPositionAsyncOpts6),
ENTRY( "TraceLPosition", CSAPILocTest::TraceLPosition),
ENTRY( "TraceLPosition1", CSAPILocTest::TraceLPosition1),
// ENTRY( "TraceLPositionTO", CSAPILocTest::TraceLPositionTO),
ENTRY( "TraceLPosition2", CSAPILocTest::TraceLPosition2),
ENTRY( "TraceLPosition3", CSAPILocTest::TraceLPosition3),
ENTRY( "TraceLPosition4", CSAPILocTest::TraceLPosition4),
ENTRY( "TraceLPosition5", CSAPILocTest::TraceLPosition5),
ENTRY( "TraceLPosition6", CSAPILocTest::TraceLPosition6),
ENTRY( "TraceLPosition7", CSAPILocTest::TraceLPosition7),
ENTRY( "TraceLPosition8", CSAPILocTest::TraceLPosition8),
ENTRY( "TraceLPositionOpts", CSAPILocTest::TraceLPositionOpts),
ENTRY( "TraceLPositionOpts1", CSAPILocTest::TraceLPositionOpts1),
ENTRY( "TraceLPositionOpts2", CSAPILocTest::TraceLPositionOpts2),
ENTRY( "TraceLPositionOpts3", CSAPILocTest::TraceLPositionOpts3),
ENTRY( "CancelService1", CSAPILocTest::CancelService1 ),
ENTRY( "CancelService2", CSAPILocTest::CancelService2 ),
ENTRY( "GetTime", CSAPILocTest::GetTime ),
ENTRY( "GetSpeed", CSAPILocTest::GetSpeed ),
ENTRY( "GetPositionOpts", CSAPILocTest::GetPositionOpts ),
ENTRY( "GetPositionOpts1", CSAPILocTest::GetPositionOpts1 ),
ENTRY( "GetPositionOpts2", CSAPILocTest::GetPositionOpts2 ),
ENTRY( "GetPositionOpts3", CSAPILocTest::GetPositionOpts3 ),
ENTRY( "GetPositionOpts4", CSAPILocTest::GetPositionOpts4 ),
ENTRY( "GetPositionOpts5", CSAPILocTest::GetPositionOpts5 ),
// ENTRY( "GetLastPosition", CSAPILocTest::GetLastPosition ),
// ENTRY( "GetLastPosition1", CSAPILocTest::GetLastPosition1 ),
ENTRY( "GetDistance", CSAPILocTest::GetDistance ),
ENTRY( "GetDistance2", CSAPILocTest::GetDistance2 ),
ENTRY( "GetDistance3", CSAPILocTest::GetDistance3 ),
ENTRY( "GetDistance4", CSAPILocTest::GetDistance4 ),
ENTRY( "GetDistance5", CSAPILocTest::GetDistance5 ),
ENTRY( "GetDistance6", CSAPILocTest::GetDistance6 ),
ENTRY( "GetDistance7", CSAPILocTest::GetDistance7 ),
ENTRY( "GetDistance8", CSAPILocTest::GetDistance8),
ENTRY( "GetDistance9", CSAPILocTest::GetDistance9),
ENTRY( "GetDistance10", CSAPILocTest::GetDistance10),
ENTRY( "GetDistance11", CSAPILocTest::GetDistance11),
ENTRY( "GetDistance12", CSAPILocTest::GetDistance12),
ENTRY( "GetBearing", CSAPILocTest::GetBearing),
ENTRY( "GetBearing1", CSAPILocTest::GetBearing1),
ENTRY( "GetBearing2", CSAPILocTest::GetBearing2),
ENTRY( "GetBearing3", CSAPILocTest::GetBearing3),
ENTRY( "GetBearing4", CSAPILocTest::GetBearing4),
ENTRY( "GetBearing5", CSAPILocTest::GetBearing5),
ENTRY( "GetBearing6", CSAPILocTest::GetBearing6),
ENTRY( "GetBearing7", CSAPILocTest::GetBearing7),
ENTRY( "GetBearing8", CSAPILocTest::GetBearing8),
ENTRY( "GetBearing9", CSAPILocTest::GetBearing9),
ENTRY( "GetBearing10", CSAPILocTest::GetBearing10),
ENTRY( "GetBearing11", CSAPILocTest::GetBearing11),
ENTRY( "GetBearing12", CSAPILocTest::GetBearing12),
ENTRY( "GetBearing13", CSAPILocTest::GetBearing13),
ENTRY( "GetBearing14", CSAPILocTest::GetBearing14),
ENTRY( "Move1", CSAPILocTest::Move1),
ENTRY( "Move2", CSAPILocTest::Move2),
ENTRY( "Move3", CSAPILocTest::Move3),
ENTRY( "Move4", CSAPILocTest::Move4),
ENTRY( "Move5", CSAPILocTest::Move5),
ENTRY( "Move6", CSAPILocTest::Move6),
ENTRY( "Move7", CSAPILocTest::Move7),
ENTRY( "Move8", CSAPILocTest::Move8),
ENTRY( "Modinfo1", CSAPILocTest::Modinfo1),
};
const TInt count = sizeof( KFunctions ) /
sizeof( TStifFunctionInfo );
return RunInternalL( KFunctions, count, aItem );
}
// -----------------------------------------------------------------------------
// CSAPILocTest::CreateLocObjWSer
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::CreateLocObjWSer( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "CreateLocationObjWSer" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<CreateLocObjWSer Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
else
{
delete CoreObj;
OpenFile();
LogFile.Write(_L8("\n<CreateLocObjWSer Test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::CreateLocObjs
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::CreateLocObjs( CStifItemParser& /*aItem*/ )
{
// Print to UI
TInt aLoopCount = 0;
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "CreateLocationObjs" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj[10];
while( aLoopCount<10 )
{
CoreObj[aLoopCount] = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<CreateLocObjs Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
__UHEAP_MARKEND;
return KErrGeneral;
}
aLoopCount++;
}
aLoopCount=0;
while( aLoopCount<10 )
{
delete CoreObj[aLoopCount];
aLoopCount++;
}
OpenFile();
LogFile.Write(_L8("\n<CreateLocObjs Test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
__UHEAP_MARKEND;
return KErrNone;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPosition
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPosition( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
TPositionInfo currPos;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetLocation" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
//This is not required now
/*TRAPD( error,aRet = CoreObj->GetLocationL(&currPos) );
if( KErrAccessDenied == aRet)
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition Test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
delete CoreObj;
__UHEAP_MARKEND;
return KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
delete CoreObj;
__UHEAP_MARKEND;
return KErrGeneral;
}*/
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition Test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
delete CoreObj;
__UHEAP_MARKEND;
return KErrNone;
}
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPosition1
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPosition1( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone,aFlag;
TPositionInfo currPos;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetLocation" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition1 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TRAP(aRet , CoreObj->GetLocationL(&currPos) );
if( KErrNone == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition Test>\n"));
CloseFile();
TPosition currPos1;
currPos.GetPosition(currPos1);
aFlag = ValidatePosition(currPos1);
returnCode = aFlag ;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition1 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPosition2
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPosition2( CStifItemParser& /*aItem*/ )
{
TInt aRet1,aRet2,aFlag1,aFlag2;
TInt aError[2];
TPositionInfo currPos1;
TPositionInfo currPos2;
TPosition currPosition1;
TPosition currPosition2;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetLocation2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition2 Test>\n"));
LogFile.Write(_L8("Failed(Null CoreObj)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
//User::After(120000000) ;
TRAP(aRet1,CoreObj->GetLocationL(&currPos1) );
if (KErrNone == aRet1)
{
TRAPD(aRet2,CoreObj->GetLocationL(&currPos2)) ;
OpenFile();
LogFile.Write(_L8("\n<GetPosition2 Test>\n"));
CloseFile();
currPos1.GetPosition(currPosition1);
currPos2.GetPosition(currPosition2);
aFlag1 = ValidatePosition(currPosition1);
aFlag2 = ValidatePosition(currPosition2);
if((KErrNone == aFlag1) && (KErrNone == aFlag2))
{
OpenFile();
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPosition2 Test>\n"));
LogFile.Write(_L8("Failed(getloc error)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionAsync
// -----------------------------------------------------------------------------
//
class LocUpdateCallBack : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iRequestType;
TInt iTransactionId;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
LocUpdateCallBack(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt LocUpdateCallBack :: HandleNotifyL(HPositionGenericInfo *currPos , TInt /*aError*/)
{
// User::After(60000000);
TInt aRetVal = KErrNone;
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsync Test>\n "));
CloseFile();
TPosition outPos ;
currPos->GetPosition(outPos) ;
aRetVal = ValidatePosition(outPos);
if( KErrNone == aRetVal )
{
OpenFile();
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
return KErrNone ;
}
TInt GetLocFunctionL()
{
TBuf8<20> retBuf;
TRealFormat retFormat;
__UHEAP_MARK ;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsync Test>\n"));
LogFile.Write(_L8("Failed(CoreObj Creation)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
LocUpdateCallBack MyUpdates(10,GETLOCATION) ;
CoreObj->GetLocationL(&MyUpdates) ;
// User::After(60000000);
CActiveScheduler :: Start() ;
retBuf.Num(returnCode,retFormat) ;
OpenFile();
LogFile.Write(_L8("\nreturnCode : "));
LogFile.Write(retBuf);
CloseFile();
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::GetPositionAsync( CStifItemParser& /*aItem*/ )
{
TRequestStatus status = KRequestPending;
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionAsync" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , aRet = GetLocFunctionL()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionAsyncOpts1
// -----------------------------------------------------------------------------
//
class LocUpdateCallBackOpts1 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
LocUpdateCallBackOpts1(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral) //Default constructor
{
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt LocUpdateCallBackOpts1 :: HandleNotifyL(HPositionGenericInfo* /*currPos*/ , TInt aError)
{
if(KErrTimedOut == aError)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts1 Async test>\n "));
LogFile.Write(_L8("Passed..\n "));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("GetPositionAsyncOpts1 Async failed "));
CloseFile();
returnCode = KErrGeneral;
}
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
return KErrNone ;
}
TInt GetLocFunctionOpts1L()
{
__UHEAP_MARK ;
TInt ret;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 100;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts1 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
LocUpdateCallBackOpts1 MyUpdates(11,GETLOCATION) ;
aOptions.SetUpdateTimeOut(aTimeOut);
TRAP(ret,CoreObj->GetLocationL(&MyUpdates,0,NULL ,&aOptions)) ;
if(KErrNone == ret)
{
CActiveScheduler :: Start() ;
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return KErrNone;;
}
TInt CSAPILocTest::GetPositionAsyncOpts1( CStifItemParser& /*aItem*/ )
{
TRequestStatus status = KRequestPending;
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionAsyncOpts1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TInt start = User::CountAllocCells();
TRAPD(err ,aRet = GetLocFunctionOpts1L()) ;
if( err || aRet)
returnCode = KErrGeneral;
TInt end = User::CountAllocCells();
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionAsyncOpts2
// -----------------------------------------------------------------------------
//
class LocUpdateCallBackOpts2 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iRequestType;
TInt iTransactionId;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
LocUpdateCallBackOpts2(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt LocUpdateCallBackOpts2 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
// User::After(60000000);
if(KErrNone == aError)
{
TPosition currPos1;
currPos->GetPosition(currPos1);
// ValidatePosition(currPos1);
TBuf8<50> buf;
TRealFormat format ;
TInt64 aTime1;;
TTime aTimeStamp1;
aTimeStamp1 = currPos1.Time();
aTime1 = aTimeStamp1.Int64();
buf.Num(aTime1 , format) ;
if(aTime1)
{
OpenFile();
LogFile.Write(_L8("Time = "));
LogFile.Write(buf) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\nFailed(Time value).."));
CloseFile();
returnCode = KErrGeneral;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\nFailed(Handlenotifyl error).."));
CloseFile();
returnCode = KErrGeneral;
}
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
return KErrNone ;
}
TInt GetLocFunctionOpts2L()
{
__UHEAP_MARK ;
TInt ret;
TPositionInfo aPosition1,aPosition2,aPosition3;
TPosition aPos1,aPos2,aPos3;
TPositionUpdateOptions aOptions;
TTime start,end;
TTimeIntervalMicroSeconds aTimeOut = 6000000;
TTimeIntervalMicroSeconds aInterval = 60000000;
TTimeIntervalMicroSeconds aActualInterval;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts2 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
LocUpdateCallBackOpts2 MyUpdates(12,GETLOCATION) ;
aOptions.SetUpdateTimeOut(aTimeOut);
aOptions.SetUpdateInterval(aInterval);
TRAP(ret ,CoreObj->GetLocationL(&MyUpdates,0,NULL,&aOptions) );
if( KErrArgument == ret )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts1 test>\n"));
LogFile.Write(_L8("Passed\n"));
CloseFile();
returnCode = KErrNone;
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return returnCode;
}
else
{
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
returnCode = KErrGeneral;
__UHEAP_MARKEND ;
return returnCode;
}
}
TInt CSAPILocTest::GetPositionAsyncOpts2( CStifItemParser& /*aItem*/ )
{
TRequestStatus status = KRequestPending;
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionAsyncOpts2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err ,aRet = GetLocFunctionOpts2L()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionAsyncOpts3
// -----------------------------------------------------------------------------
//
class LocUpdateCallBackOpts3 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
LocUpdateCallBackOpts3(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt LocUpdateCallBackOpts3 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
// User::After(60000000);
if(KErrNone == aError)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts3 test>\n"));
CloseFile();
TBuf8<50> buf;
TRealFormat format ;
TInt64 aTime1;;
TTime aTimeStamp1;
TPosition currPos1;
currPos->GetPosition(currPos1);
aTimeStamp1 = currPos1.Time();
aTime1 = aTimeStamp1.Int64();
buf.Num(aTime1 , format) ;
if(aTime1)
{
OpenFile();
LogFile.Write(_L8("Time = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\nFailed to write Time value"));
CloseFile();
returnCode = KErrGeneral;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\nFailed.."));
CloseFile();
returnCode = KErrGeneral;
}
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
return KErrNone ;
}
TInt GetLocFunctionOpts3L()
{
__UHEAP_MARK ;
TInt ret;
TPositionInfo aPosition1,aPosition2,aPosition3;
TPosition aPos1,aPos2,aPos3;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 60000000;
TTimeIntervalMicroSeconds aInterval = 6000000;
TBool aAcceptPartialUpdates = ETrue;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts3 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
LocUpdateCallBackOpts3 MyUpdates(29,GETLOCATION) ;
aOptions.SetUpdateTimeOut(aTimeOut);
aOptions.SetUpdateInterval(aInterval);
aOptions.SetAcceptPartialUpdates(aAcceptPartialUpdates);
TRAP(ret,CoreObj->GetLocationL(&MyUpdates,0,NULL,&aOptions)) ;
if( KErrNone == ret)
{
CActiveScheduler :: Start() ;
if( KErrNone == returnCode )
{
CoreObj->GetLocationL(&aPosition1,&aOptions);
//CoreObj->GetLocationL(&aPosition2,&aOptions);
//CoreObj->GetLocationL(&aPosition3,&aOptions);
aPosition1.GetPosition(aPos1);
returnCode = ValidatePosition(aPos1);
/* if( KErrNone == returnCode)
{
aPosition2.GetPosition(aPos2);
returnCode = ValidatePosition(aPos2);
}
if( KErrNone == returnCode)
{
aPosition3.GetPosition(aPos3);
returnCode = ValidatePosition(aPos3);
}
*/
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return returnCode;
}
else
{
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return returnCode;
}
}
else
{
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return KErrGeneral;
}
}
TInt CSAPILocTest::GetPositionAsyncOpts3( CStifItemParser& /*aItem*/ )
{
TRequestStatus status = KRequestPending;
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionAsyncOpts3" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , aRet = GetLocFunctionOpts3L()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionAsyncOpts4
// -----------------------------------------------------------------------------
//
class LocUpdateCallBackOpts4 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
LocUpdateCallBackOpts4(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt LocUpdateCallBackOpts4 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
//User::After(120000000);
if(KErrNone == aError)
{
TPosition currPos1;
currPos->GetPosition(currPos1);
TBuf8<50> buf;
TRealFormat format ;
TInt64 aTime1;
TTime aTimeStamp1;
aTimeStamp1 = currPos1.Time();
aTime1 = aTimeStamp1.Int64();
buf.Num(aTime1 , format) ;
if(aTime1)
{
OpenFile();
LogFile.Write(_L8("Time = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\nFailed(No TimeStamp).. "));
CloseFile();
returnCode = KErrGeneral;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\nFailed(HandleNotifyL error).."));
CloseFile();
returnCode = KErrGeneral;
}
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
return returnCode ;
}
TInt GetLocFunctionOpts4L()
{
__UHEAP_MARK ;
TInt ret;
TPositionInfo aPosition1;
TPosition aPos1;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 10000000;
TTimeIntervalMicroSeconds aInterval = 6000000;
TBool aAcceptPartialUpdates = EFalse;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts4 Test>\n"));
LogFile.Write(_L8("Failed(Null CoreObj)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
LocUpdateCallBackOpts4 MyUpdates(30,GETLOCATION) ;
aOptions.SetUpdateTimeOut(aTimeOut);
aOptions.SetUpdateInterval(aInterval);
aOptions.SetAcceptPartialUpdates(aAcceptPartialUpdates);
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts4 test>\n"));
CloseFile();
TRAP(ret , CoreObj->GetLocationL(&MyUpdates,0,NULL,&aOptions) );
if( KErrNone == ret)
{
CActiveScheduler :: Start() ;
if( KErrNone == returnCode )
{
CoreObj->GetLocationL(&aPosition1,&aOptions);
aPosition1.GetPosition(aPos1);
// ValidatePosition(aPos1);
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return returnCode;
}
else
{
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return returnCode;
}
}
else
{
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return returnCode;
}
}
TInt CSAPILocTest::GetPositionAsyncOpts4( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionAsyncOpts4" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , aRet = GetLocFunctionOpts4L()) ;
if( err )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionAsyncOpts5
// -----------------------------------------------------------------------------
//
TInt GetLocFunctionOpts5L()
{
TInt ret1,ret2;
TPositionInfo aPosition1,aPosition2,aPosition3;
TPosition aPos1,aPos2,aPos3;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 10000000;
TTimeIntervalMicroSeconds aInterval = 6000000;
TBool aAcceptPartialUpdates = ETrue;
__UHEAP_MARK ;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts5 Test>\n"));
LogFile.Write(_L8("Failed(CoreObj Creation)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
LocUpdateCallBackOpts4 MyUpdates1(32,GETLOCATION) ;
LocUpdateCallBackOpts4 MyUpdates2(33,GETLOCATION) ;
aOptions.SetUpdateTimeOut(aTimeOut);
aOptions.SetUpdateInterval(aInterval);
aOptions.SetAcceptPartialUpdates(aAcceptPartialUpdates);
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts5 test>\n"));
CloseFile();
TRAP(ret1 ,CoreObj->GetLocationL(&MyUpdates1) );
TRAP(ret2, CoreObj->GetLocationL(&MyUpdates2)) ;
if( KErrNone == ret1 && KErrNone == ret2 )
{
TBuf8<20> retBuf;
TRealFormat retFormat;
CActiveScheduler :: Start() ;
OpenFile();
LogFile.Write(_L8("\nreturnCode : "));
LogFile.Write(retBuf);
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::GetPositionAsyncOpts5( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionAsyncOpts5" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err ,aRet = GetLocFunctionOpts5L()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionAsyncOpts6
// -----------------------------------------------------------------------------
//
TInt GetLocFunctionOpts6L()
{
__UHEAP_MARK ;
TInt aRet,aRet1;
TPosition aPosition1;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 60000000;
TTimeIntervalMicroSeconds aInterval = 6000000;
TBool aAcceptPartialUpdates = ETrue;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts6 Test>\n"));
LogFile.Write(_L8("Failed(Null CoreObj)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
LocUpdateCallBackOpts2 MyUpdates(13,GETLOCATION) ;
aOptions.SetUpdateTimeOut(aTimeOut);
aOptions.SetUpdateInterval(aInterval);
aOptions.SetAcceptPartialUpdates(aAcceptPartialUpdates);
TRAP(aRet , CoreObj->GetLocationL(&MyUpdates) );
if( KErrNone == aRet )
{
aRet1 = CoreObj->CancelOnGoingService(0);
if( KErrNone == aRet1 )
{
TBuf8<20> retBuf;
TRealFormat retFormat;
TRAP(aRet ,CoreObj->GetLocationL(&MyUpdates)) ;
if( KErrNone == aRet)
OpenFile();
LogFile.Write(_L8("\n<GetPositionAsyncOpts6 test>\n"));
CloseFile();
CActiveScheduler :: Start() ;
retBuf.Num(returnCode,retFormat);
OpenFile();
LogFile.Write(_L8("\nreturnCode : "));
LogFile.Write(retBuf);
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::GetPositionAsyncOpts6( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionAsyncOpts6" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , aRet = GetLocFunctionOpts6L()) ;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition
// -----------------------------------------------------------------------------
//
class TraceLCallBack : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iRequestType;
TInt iTransactionId;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
TraceLCallBack(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt TraceLCallBack :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
// User::After(60000000);
if(KErrNone == aError && iCount<2)
{
TPosition currPos1;
currPos->GetPosition(currPos1);
// ValidatePosition(currPos1);
iCount++;
}
else
{
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
// returnCode = KErrNone;
}
return returnCode;
}
TInt TraceLFunctionL()
{
__UHEAP_MARK ;
TInt ret;
TPosition aPosition1;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TraceLCallBack MyUpdates(14,TRACE) ;
TRAP(ret, CoreObj->TraceL(&MyUpdates) );
if( KErrNone == ret)
{
TBuf8<20> retBuf;
TRealFormat retFormat;
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition test>\n"));
CloseFile();
CActiveScheduler :: Start() ;
retBuf.Num(returnCode,retFormat);
OpenFile();
LogFile.Write(_L8("\nreturnCode : "));
LogFile.Write(retBuf);
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::TraceLPosition( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPosition" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err ,aRet = TraceLFunctionL() ) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition1
// -----------------------------------------------------------------------------
//
TInt TraceLFunction1L()
{
TInt ret1,ret2;
TPosition aPosition1;
__UHEAP_MARK ;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition1 Test>\n"));
LogFile.Write(_L8("Failed(Null CoreObj)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TraceLCallBack MyUpdates(15,TRACE) ;
TRAP(ret1, CoreObj->TraceL(&MyUpdates)) ;
TRAP(ret2 , CoreObj->TraceL(&MyUpdates) );
if( KErrNone == ret1 && KErrNone == ret2)
{
TBuf8<20> retBuf;
TRealFormat retFormat;
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition1 test>\n"));
CloseFile();
CActiveScheduler :: Start() ;
retBuf.Num(returnCode,retFormat);
OpenFile();
LogFile.Write(_L8("\nreturnCode : "));
LogFile.Write(retBuf);
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::TraceLPosition1( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPosition1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err ,aRet = TraceLFunction1L()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition2
// -----------------------------------------------------------------------------
//
class TraceLCallBack2 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iRequestType;
TInt iTransactionId;
CLocationService *CoreObj;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
TraceLCallBack2(TInt transId,TInt req,CLocationService* LocObj,TInt count = 0,TInt status = KErrGeneral)
{
iRequestType = req;
iCount = count;
iTransactionId = transId;
iRetStatus = status;
CoreObj = LocObj;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt TraceLCallBack2 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
// User::After(60000000);
TInt aRet1;
if(iCount<2)
{
TBuf8<20> retBuf;
TRealFormat retFormat;
retBuf.Num(aError,retFormat);
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition2 HandleNotifyL>\n"));
LogFile.Write(retBuf);
CloseFile();
TPosition currPos1;
currPos->GetPosition(currPos1);
// ValidatePosition(currPos1);
iCount++;
}
else
{
aRet1 = CoreObj->CancelOnGoingService(1);
TBuf8<20> retBuf;
TRealFormat retFormat;
retBuf.Num(aRet1,retFormat);
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition2 CancelOnGoingService>\n"));
LogFile.Write(retBuf);
CloseFile();
if( KErrNone == aRet1 )
{
returnCode = KErrNone;
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
}
else
{
returnCode = KErrGeneral;
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
}
}
return KErrNone;
}
TInt TraceLFunction2L()
{
__UHEAP_MARK ;
TInt ret;
TPosition aPosition1;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition2 Test>\n"));
LogFile.Write(_L8("Failed(CoreObj Creation)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TraceLCallBack2 MyUpdates(16,TRACE,CoreObj) ;
TRAP(ret,CoreObj->TraceL(&MyUpdates) );
if( KErrNone == ret)
{
TBuf8<20> retBuf;
TRealFormat retFormat;
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition2 test>\n"));
CloseFile();
CActiveScheduler :: Start() ;
retBuf.Num(returnCode,retFormat);
OpenFile();
LogFile.Write(_L8("\nreturnCode : "));
LogFile.Write(retBuf);
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::TraceLPosition2( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPosition2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , aRet = TraceLFunction2L()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition3
// -----------------------------------------------------------------------------
//
TInt TraceLFunction3L()
{
__UHEAP_MARK ;
TInt ret1,ret2,ret3;
TPosition aPosition1;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition3 Test>\n"));
LogFile.Write(_L8("Failed(Null CoreObj)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TraceLCallBack MyUpdates(31,TRACE) ;
TRAP(ret1 , CoreObj->TraceL(&MyUpdates) );
// ret2 = CoreObj->TraceL(&MyUpdates) ;
if( KErrNone == ret1 )
{
ret3 = CoreObj->CancelOnGoingService(1);
if( KErrNone == ret3 )
{
TBuf8<20> retBuf;
TRealFormat retFormat;
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition3 test>\n"));
CloseFile();
TRAP(ret1 , CoreObj->TraceL(&MyUpdates) );
if(KErrNone == ret1)
CActiveScheduler :: Start() ;
retBuf.Num(returnCode,retFormat);
OpenFile();
LogFile.Write(_L8("\nreturnCode : "));
LogFile.Write(retBuf);
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return KErrNone;
}
TInt CSAPILocTest::TraceLPosition3( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPosition3" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , aRet = TraceLFunction3L()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition4
// -----------------------------------------------------------------------------
//
class TraceLCallBack4 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iCallIdentity;
TInt iRequestType;
TInt iTransactionId;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
TraceLCallBack4(TInt transId,TInt req,TInt identity, TInt count = 0 , TInt status = KErrGeneral)
{
iTransactionId = transId;
iRequestType = req;
iCallIdentity = identity;
iCount = count;
iRetStatus = status;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt TraceLCallBack4 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
if(iCallIdentity == 1 && KErrNone == aError )
{
TPosition currPos1;
currPos->GetPosition(currPos1);
// ValidatePosition(currPos1);
// returnCode = KErrNone ;
}
else if(KErrNone == aError && iCount<2)
{
TPosition currPos1;
currPos->GetPosition(currPos1);
// ValidatePosition(currPos1);
iCount++;
}
else if(iCount>=2)
{
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
returnCode = KErrNone;
}
else
{
returnCode = KErrGeneral;
}
return returnCode;
}
TInt TraceLFunction4L()
{
__UHEAP_MARK ;
TInt ret1,ret2;
TPosition aPosition1;
CLocationService *CoreObj = CLocationService ::NewL() ;
TraceLCallBack4 MyUpdates1(17,GETLOCATION,1) ;
TraceLCallBack4 MyUpdates2(18,TRACE,2) ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TRAP(ret1 , CoreObj->GetLocationL(&MyUpdates1) );
TRAP(ret2 , CoreObj->TraceL(&MyUpdates2) );
if( KErrNone == ret1 && KErrNone == ret2)
{
TBuf8<50> buf ;
TRealFormat format ;
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition4 test>\n"));
CActiveScheduler :: Start() ;
//Logging returnCode
buf.Num(returnCode , format) ;
LogFile.Write(_L8("returnCode = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return KErrNone;
}
TInt CSAPILocTest::TraceLPosition4( CStifItemParser& /*aItem*/ )
{
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPosition4" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err ,aRet = TraceLFunction4L()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition5
// -----------------------------------------------------------------------------
//
class CTraceLCallBack5 : public CBase , public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
CLocationService *CoreObj;
CTraceLCallBack5* iSelf;
TInt iRequestType;
TInt iTransactionId;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
CTraceLCallBack5(TInt transId,TInt req,CLocationService* LocObj,TInt count = 0,TInt status = KErrGeneral)
{
iTransactionId = transId;
iRequestType = req;
iCount = count;
iRetStatus = status;
CoreObj = LocObj;
}
virtual ~CTraceLCallBack5();
static CTraceLCallBack5* NewL(TInt aTransId,TInt req,CLocationService*) ;
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
CTraceLCallBack5* CTraceLCallBack5 :: NewL(TInt aTransId,TInt req,CLocationService* obj)
{
CTraceLCallBack5* temp = new(ELeave) CTraceLCallBack5(aTransId,req,obj);
temp->iSelf = temp;
return temp;
}
CTraceLCallBack5 :: ~CTraceLCallBack5()
{
delete (this->CoreObj);
this->CoreObj = NULL;
}
TInt CTraceLCallBack5 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
// User::After(30000000);
TInt aRet1;
if(KErrNone == aError && iCount<2)
{
TPosition currPos1;
currPos->GetPosition(currPos1);
ValidatePosition(currPos1);
iCount++;
}
else
{
aRet1 = CoreObj->CancelOnGoingService(1);
if( KErrNone == aRet1 )
{
returnCode = KErrNone;
delete this;
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
}
else
{
returnCode = KErrGeneral;
delete this;
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
}
}
return KErrNone;
}
class LocUpdateCallBack5 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iRequestType;
TInt iTransactionId;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
LocUpdateCallBack5(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt LocUpdateCallBack5 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt /*aError*/)
{
TInt aRet;
TPosition currPos1;
currPos->GetPosition(currPos1);
aRet = ValidatePosition(currPos1);
if ( KErrNone == aRet )
{
TPosition aPosition2;
CLocationService *CoreObj1 = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj1->SetRequestorIdentityL(aRequestorStack) ;*/
CTraceLCallBack5 *MyUpdates2 = CTraceLCallBack5::NewL(18,TRACE,CoreObj1);
CoreObj1->TraceL(MyUpdates2) ;
//aRequestorStack.Close();
}
return KErrNone ;
}
TInt TraceLFunction5L()
{
__UHEAP_MARK ;
TInt ret1;
TPosition aPosition1;
CLocationService *CoreObj = CLocationService ::NewL() ;
LocUpdateCallBack5 MyUpdates1(28,GETLOCATION) ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TRAP(ret1 ,CoreObj->GetLocationL(&MyUpdates1) );
if( KErrNone == ret1)
{
TBuf8<20> retBuf;
TRealFormat retFormat;
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition5 test>\n"));
CloseFile();
CActiveScheduler :: Start() ;
retBuf.Num(returnCode,retFormat);
OpenFile();
LogFile.Write(_L8("\nreturn code : "));
LogFile.Write(retBuf);
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return KErrNone;
}
TInt CSAPILocTest::TraceLPosition5( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPosition5" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , TraceLFunction5L()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition6
// -----------------------------------------------------------------------------
//
class CLocUpdateCallBack6 : public CBase , public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
CLocUpdateCallBack6* iSelf;
CLocationService *CoreObj;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
CLocUpdateCallBack6(TInt transId,TInt req,CLocationService* LocObj,TInt count = 0,TInt status = KErrGeneral)
{
iCount = count;
iRetStatus = status;
CoreObj = LocObj;
iTransactionId =transId;
iRequestType = req;
}
static CLocUpdateCallBack6* NewL(TInt transid,TInt req,CLocationService* obj);
virtual ~CLocUpdateCallBack6();
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
CLocUpdateCallBack6* CLocUpdateCallBack6 :: NewL(TInt transid,TInt req,CLocationService* obj)
{
CLocUpdateCallBack6* temp = new(ELeave) CLocUpdateCallBack6(transid,req,obj);
temp->iSelf = temp;
return temp;
}
CLocUpdateCallBack6 :: ~CLocUpdateCallBack6()
{
delete (this->CoreObj);
}
TInt CLocUpdateCallBack6 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt /*aError*/)
{
TInt aRet;
TPosition currPos1;
currPos->GetPosition(currPos1);
aRet = ValidatePosition(currPos1);
if( KErrNone == aRet )
{
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
returnCode = KErrNone;
delete this;
}
else
{
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
returnCode = KErrGeneral;
delete this;
}
OpenFile();
LogFile.Write(_L8("CLocUpdateCallBack6 :: Before retrunin to runl"));
LogFile.Write(_L8("\n")) ;
CloseFile();
return KErrNone ;
}
class TraceLCallBack6 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
CLocationService *CoreObj;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
TraceLCallBack6(TInt transId,TInt req,CLocationService* LocObj,TInt count = 0,TInt status = KErrGeneral)
{
iTransactionId = transId;
iRequestType = req;
iCount = count;
iRetStatus = status;
CoreObj = LocObj;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt TraceLCallBack6 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
TInt aRet1;
if(KErrNone == aError && iCount<1)
{
TPosition currPos1;
currPos->GetPosition(currPos1);
ValidatePosition(currPos1);
iCount++;
}
else
{
aRet1 = CoreObj->CancelOnGoingService(1);
if( KErrNone == aRet1 )
{
TPosition aPosition2;
CLocationService *CoreObj1 = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj1->SetRequestorIdentityL(aRequestorStack) ;*/
CLocUpdateCallBack6 *MyUpdates1 = CLocUpdateCallBack6 :: NewL(26,GETLOCATION,CoreObj1);
CoreObj1->GetLocationL(MyUpdates1) ;
//aRequestorStack.Close();
returnCode = KErrNone;
}
else
{
returnCode = KErrGeneral;
}
}
return KErrNone;
}
TInt TraceLFunction6L()
{
__UHEAP_MARK;
CActiveScheduler *Scheduler = new CActiveScheduler ;
CActiveScheduler :: Install(Scheduler) ;
TInt ret1;
TPosition aPosition1;
CLocationService *CoreObj = CLocationService ::NewL() ;
TraceLCallBack6 MyUpdates2(36,TRACE,CoreObj) ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TPositionUpdateOptions updateOpts;
updateOpts.SetUpdateInterval(5000000);
TRAP(ret1 , CoreObj->TraceL(&MyUpdates2,0,NULL,&updateOpts) );
if( KErrNone == ret1)
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition6 test>\n"));
CloseFile();
CActiveScheduler :: Start() ;
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
delete Scheduler ;
__UHEAP_MARKEND;
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition6 test after uheap>\n"));
CloseFile();
return KErrNone;
}
TInt CSAPILocTest::TraceLPosition6( CStifItemParser& /*aItem*/ )
{
_LIT(KTLocTest ,"TLocTest");
iLog->Log(KTLocTest) ;
TRequestStatus Status = KRequestPending ;
RThread FunctionThread ;
FunctionThread.Create(_L("GetLocationAsynch Thread") , TraceLPosition6T ,KDefaultStackSize ,
KMinHeapSize , KDefaultStackSize ,(TAny *) NULL);
FunctionThread.Logon(Status) ;
FunctionThread.Resume() ;
User :: WaitForRequest (Status) ;
FunctionThread.Close();
return Status.Int() ;
}
TInt TraceLPosition6T( TAny */*Arg*/)
{
returnCode = KErrNone;
TInt err = KErrNone;
CTrapCleanup* cleanup = CTrapCleanup::New();
TRAP(err , TraceLFunction6L()) ;
if(err)
{
returnCode = KErrGeneral;
}
//TInt alloc1 = User::CountAllocCells();
delete cleanup ;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition7
// -----------------------------------------------------------------------------
//
class TraceLCallBack7 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
CLocationService *CoreObj;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
TraceLCallBack7(TInt transId,TInt req,CLocationService* LocObj,TInt count = 0,TInt status = KErrGeneral)
{
iTransactionId= transId;
iRequestType = req;
iCount = count;
iRetStatus = status;
CoreObj = LocObj;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt TraceLCallBack7 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
//User::After(30000000);
TInt aRet1;
if(KErrNone == aError && iCount<2)
{
TPosition currPos1;
currPos->GetPosition(currPos1);
// ValidatePosition(currPos1);
iCount++;
}
else
{
aRet1 = CoreObj->CancelOnGoingService(1);
if( KErrNone == aRet1 )
{
TPosition aPosition2;
CLocationService *CoreObj1 = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj1->SetRequestorIdentityL(aRequestorStack) ;*/
CTraceLCallBack5 *MyUpdates2 = CTraceLCallBack5::NewL(19,TRACE,CoreObj1);
CoreObj1->TraceL(MyUpdates2) ;
// User::After(30000000) ;
//aRequestorStack.Close();
returnCode = KErrNone;
}
else
{
returnCode = KErrGeneral;
}
}
return KErrNone;
}
TInt TraceLFunction7L()
{
__UHEAP_MARK ;
TInt ret1;
TPosition aPosition1;
CLocationService *CoreObj = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TraceLCallBack7 MyUpdates1(20,TRACE,CoreObj) ;
TRAP(ret1 , CoreObj->TraceL(&MyUpdates1) );
if( KErrNone == ret1)
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition7 test>\n"));
CloseFile();
CActiveScheduler :: Start() ;
}
else
{
returnCode = KErrGeneral;
}
//aRequestorStack.Close();
delete CoreObj;
__UHEAP_MARKEND ;
return KErrNone;
}
TInt CSAPILocTest::TraceLPosition7( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPosition7" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , TraceLFunction7L()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPosition8
// -----------------------------------------------------------------------------
//
class LocUpdateCallBack8 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iRequestType;
TInt iTransactionId;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
LocUpdateCallBack8(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt LocUpdateCallBack8 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt /*aError*/)
{
TInt aRet;
TPosition currPos1;
currPos->GetPosition(currPos1);
aRet = ValidatePosition(currPos1);
if ( KErrNone == aRet)
{
TPosition aPosition2;
CLocationService *CoreObj1 = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj1->SetRequestorIdentityL(aRequestorStack) ;*/
CLocUpdateCallBack6 *MyUpdates2 = CLocUpdateCallBack6 :: NewL(27,GETLOCATION,CoreObj1);
CoreObj1->GetLocationL(MyUpdates2) ;
/*aRequestorStack.Close();
delete identityInfo;*/
}
return KErrNone ;
}
TInt TraceLFunction8L()
{
__UHEAP_MARK ;
TInt ret1;
TPosition aPosition1;
CLocationService *CoreObj = CLocationService ::NewL() ;
LocUpdateCallBack8 MyUpdates1(21,GETLOCATION) ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TPositionUpdateOptions updateOpts;
updateOpts.SetUpdateInterval(5000000);
TRAP(ret1 , CoreObj->GetLocationL(&MyUpdates1,0,NULL,&updateOpts) );
if( KErrNone == ret1)
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPosition8 test>\n"));
CloseFile();
CActiveScheduler :: Start() ;
}
else
{
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return KErrNone;
}
TInt CSAPILocTest::TraceLPosition8( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPosition8" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , TraceLFunction8L()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPositionOpts
// -----------------------------------------------------------------------------
//
class TraceLCallBackTO : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
TraceLCallBackTO(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt TraceLCallBackTO :: HandleNotifyL(HPositionGenericInfo* /*currPos*/ , TInt aError)
{
if(KErrTimedOut == aError)
{
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
OpenFile();
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
return KErrNone ;
}
else
{
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
OpenFile();
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
return KErrNone;
}
}
TInt TraceLFunctionOptsL()
{
__UHEAP_MARK ;
TInt ret1;
TPosition aPosition1;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 10;
CLocationService *CoreObj = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
aOptions.SetUpdateTimeOut(aTimeOut);
TraceLCallBackTO MyUpdates(22,TRACE);
TRAP(ret1 , CoreObj->TraceL(&MyUpdates,0,NULL,&aOptions) );
if( KErrNone == ret1)
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPositionOpts test>\n"));
CloseFile();
CActiveScheduler::Start();
}
else
{
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::TraceLPositionOpts( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPositionOpts" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , TraceLFunctionOptsL()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPositionOpts1
// -----------------------------------------------------------------------------
//
class TraceLCallBackOpts1 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
CLocationService *CoreObj;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
TraceLCallBackOpts1(TInt transId,TInt req,TInt count = 0,TInt status = KErrGeneral)
{
iRequestType = req;
iTransactionId = transId;
iCount = count;
iRetStatus = status;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt TraceLCallBackOpts1 :: HandleNotifyL(HPositionGenericInfo* /*currPos*/ , TInt /*aError*/){return 0;}
TInt TraceLFunctionOpts1L()
{
TInt ret1;
TPosition aPosition1;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 10000000;
TTimeIntervalMicroSeconds aTimeInterval = 30000000;
CLocationService *CoreObj = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
aOptions.SetUpdateTimeOut(aTimeOut);
aOptions.SetUpdateInterval(aTimeInterval);
TraceLCallBackOpts1 MyUpdates(23,TRACE);
TRAP(ret1 , CoreObj->TraceL(&MyUpdates,0,NULL,&aOptions) );
if( KErrArgument == ret1)
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPositionOpts1 test>\n"));
LogFile.Write(_L8("Passed\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
return 0;
}
TInt CSAPILocTest::TraceLPositionOpts1( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPositionOpts1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , TraceLFunctionOpts1L()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPositionOpts2
// -----------------------------------------------------------------------------
//
TInt TraceLFunctionOpts2L()
{
__UHEAP_MARK ;
TInt ret1;
TPosition aPosition1;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 60000000;
TTimeIntervalMicroSeconds aTimeInterval = 30000000;
TTimeIntervalMicroSeconds aInterval;
TTime start,end;
CLocationService *CoreObj = CLocationService ::NewL() ;
//not needed any more
/*_LIT(Kidentity ,"Coreclass Testing" ) ;
RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
aOptions.SetUpdateTimeOut(aTimeOut);
aOptions.SetUpdateInterval(aTimeInterval);
TraceLCallBack MyUpdates(34,TRACE);
TRAP(ret1 , CoreObj->TraceL(&MyUpdates,0,NULL,&aOptions) );
if( KErrNone == ret1)
{
OpenFile();
LogFile.Write(_L8("\n<TraceLPositionOpts2 test>\n"));
CloseFile();
start.HomeTime();
CActiveScheduler::Start();
end.HomeTime();
aInterval = end.MicroSecondsFrom(start);
// if(aInterval<150000000)
// returnCode = KErrGeneral;
}
else
{
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::TraceLPositionOpts2( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPositionOpts2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , TraceLFunctionOpts2L()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::TraceLPositionOpts3
// -----------------------------------------------------------------------------
//
class TraceLCallBackOpts3 : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
TraceLCallBackOpts3(TInt transId,TInt req) :iCount(0) , iRetStatus(KErrGeneral){+
iTransactionId = transId;
iRequestType = req;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt TraceLCallBackOpts3 :: HandleNotifyL(HPositionGenericInfo* currPos , TInt aError)
{
TTime timeStamp;
TInt64 timeInt;
TBuf8<50> buf ;
TRealFormat format ;
if(KErrNone == aError && iCount<2)
{
//User::After(60000000);
TPosition currPos1;
currPos->GetPosition(currPos1);
timeStamp = currPos1.Time();
timeInt = timeStamp.Int64();
if(timeInt)
{
OpenFile();
buf.Num(timeInt , format) ;
LogFile.Write(_L8("\nTimestamp = "));
LogFile.Write(buf) ;
CloseFile();
returnCode = KErrNone;
}
else
{
returnCode = KErrGeneral;
return 0;
}
iCount++;
}
else
{
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
}
return 0;
}
TInt TraceLFunctionOpts3L()
{
__UHEAP_MARK ;
TInt ret1;
TPosition aPosition1;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 20000000;
TTimeIntervalMicroSeconds aTimeInterval = 5000000;
TTimeIntervalMicroSeconds aInterval;
TTime start,end;
TBool aAcceptPartialUpdates = ETrue;
CLocationService *CoreObj = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
aOptions.SetUpdateTimeOut(aTimeOut);
aOptions.SetUpdateInterval(aTimeInterval);
aOptions.SetAcceptPartialUpdates(aAcceptPartialUpdates);
TraceLCallBackOpts3 MyUpdates(24,TRACE);
TRAP(ret1 , CoreObj->TraceL(&MyUpdates,0,NULL,&aOptions) );
if( KErrNone == ret1)
{
TBuf8<20> retBuf;
TRealFormat retFormat;
OpenFile();
LogFile.Write(_L8("\n<TraceLPositionOpts3 test>\n"));
CloseFile();
start.HomeTime();
CActiveScheduler::Start();
end.HomeTime();
aInterval = end.MicroSecondsFrom(start);
// if(aInterval<150000000)
// returnCode = KErrGeneral;
retBuf.Num(returnCode,retFormat);
OpenFile();
LogFile.Write(_L8("\nreturnCode : "));
LogFile.Write(retBuf);
CloseFile();
}
else
{
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::TraceLPositionOpts3( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "TraceLPositionOpts3" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , TraceLFunctionOpts3L()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::CancelService1
// -----------------------------------------------------------------------------
//
TInt CancelFunction1L()
{
__UHEAP_MARK ;
TInt ret1,ret2;
CLocationService *CoreObj = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
ret1 = CoreObj->CancelOnGoingService(0) ;
ret2 = CoreObj->CancelOnGoingService(1) ;
if( KErrNotFound == ret1 && KErrNotFound == ret2 )
{
OpenFile();
LogFile.Write(_L8("\n<CancelService1 test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::CancelService1( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "CancelService1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , CancelFunction1L()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::CancelService2
// -----------------------------------------------------------------------------
//
TInt CancelFunction2L()
{
__UHEAP_MARK ;
TInt ret1,ret2;
CLocationService *CoreObj = CLocationService ::NewL() ;
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
ret1 = CoreObj->CancelOnGoingService(4) ;
ret2 = CoreObj->CancelOnGoingService(6) ;
if( KErrArgument == ret1 && KErrArgument == ret2 )
{
OpenFile();
LogFile.Write(_L8("\n<CancelService2 test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::CancelService2( CStifItemParser& /*aItem*/ )
{
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "CancelService2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , CancelFunction2L()) ;
if(err)
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetTime
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetTime( CStifItemParser& /*aItem*/ )
{
TInt ret;
TPositionInfo currPos;
TPosition currPos1;
TTime currPosTime;
TDateTime currPosDateTime;
TBuf8<50> buf ;
TRealFormat format ;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetTime" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetTime Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
TRAP(ret , CoreObj->GetLocationL(&currPos));
if(KErrNone == ret)
{
currPos.GetPosition(currPos1);
currPosTime = currPos1.Time();
currPosDateTime = currPosTime.DateTime();
TInt aDay = currPosDateTime.Day();
TInt aHour = currPosDateTime.Hour();
TInt aMicroSecond = currPosDateTime.MicroSecond();
TInt aMinute = currPosDateTime.Minute();
TInt aMonth = currPosDateTime.Month();
TInt aSecond = currPosDateTime.Second();
TInt aYear = currPosDateTime.Year();
TReal32 aVerAcc = currPos1.VerticalAccuracy();
TReal32 aHorAcc = currPos1.HorizontalAccuracy();
OpenFile();
LogFile.Write(_L8("\n<GetTime test> \n"));
buf.Num(aHorAcc,format);
LogFile.Write(_L8("Horizontal Acc = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
buf.Num(aVerAcc,format);
LogFile.Write(_L8("Vertical Acc = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
buf.Num(aDay , format) ;
LogFile.Write(_L8("Time = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("-")) ;
buf.Num(aMonth , format) ;
LogFile.Write(buf) ;
LogFile.Write(_L8("-")) ;
buf.Num(aYear , format) ;
LogFile.Write(buf) ;
LogFile.Write(_L8(" ")) ;
buf.Num(aHour , format) ;
LogFile.Write(buf) ;
LogFile.Write(_L8(":")) ;
buf.Num(aMinute , format) ;
LogFile.Write(buf) ;
LogFile.Write(_L8(":")) ;
buf.Num(aSecond , format) ;
LogFile.Write(buf) ;
LogFile.Write(_L8(":")) ;
buf.Num(aMicroSecond , format) ;
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
ValidatePosition(currPos1);
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetTime Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetSpeed
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetSpeed( CStifItemParser& /*aItem*/ )
{
TInt ret;
TPositionInfo currPos;
TPosition currPos1,fromPos;
TTime currPosTime;
TTime fromPosTime;
TDateTime currPosDateTime;
TReal64 aLatitude1 = 8;
TReal64 aLongitude1 = 70;
TReal32 aAltitude1 = 700;
TReal32 aSpeed;
fromPosTime = 63342890700000000;
fromPos.SetCoordinate(aLatitude1,aLongitude1,aAltitude1);
fromPos.SetTime(fromPosTime);
returnCode =KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetSpeed" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetSpeed Test>\n"));
LogFile.Write(_L8("Failed(CoreObj creation)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
//not needed any more
/*_LIT(Kidentity ,"Coreclass Testing" ) ;
RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
// User::After(120000000);
TRAP(ret , CoreObj->GetLocationL(&currPos));
if(KErrNone == ret)
{
currPos.GetPosition(currPos1);
currPos1.Speed(fromPos,aSpeed);
OpenFile();
TBuf8<50> buf ;
TRealFormat format ;
LogFile.Write(_L8("\n<GetSpeed test> \n"));
buf.Num(aSpeed , format) ;
LogFile.Write(_L8("Speed = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
ValidatePosition(currPos1);
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetSpeed Test>\n"));
LogFile.Write(_L8("Failed(getloc error)..\n"));
TBuf8<50> buf ;
TRealFormat format ;
LogFile.Write(_L8("\n<GetSpeed test> \n"));
buf.Num(ret , format) ;
LogFile.Write(buf);
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionOpts
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPositionOpts( CStifItemParser& /*aItem*/ )
{
TInt ret;
TPositionInfo currPos;
TPosition currPos1;
TPositionUpdateOptions aOptions;
TTimeIntervalMicroSeconds aTimeOut = 100;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionOpts" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
//not needed any more
/*_LIT(Kidentity ,"Coreclass Testing" ) ;
RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
aOptions.SetUpdateTimeOut(aTimeOut);
TRAP(ret , CoreObj->GetLocationL(&currPos,&aOptions));
if(KErrTimedOut==ret)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts Test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionOpts1
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPositionOpts1( CStifItemParser& /*aItem*/ )
{
TInt ret;
TPositionInfo currPos;
TPositionUpdateOptions options;
TTimeIntervalMicroSeconds aTimeOut = 0;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPositionOpts1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts1 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;
options.SetUpdateTimeOut(aTimeOut);
ret = CoreObj->GetLocationL(&currPos,&options);*/
if(KErrTimedOut==ret)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts1 Test>\n"));
LogFile.Write(_L8("Failed(timed out)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts1 Test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionOpts2
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPositionOpts2( CStifItemParser& /*aItem*/ )
{
TInt ret1,ret2;
TPositionInfo currPos1,currPos2;
TPosition cPos1,cPos2;
TPositionUpdateOptions options;
// TTimeIntervalMicroSeconds aTimeOut = 0;
// TTimeIntervalMicroSeconds aInterval = 30000000;
TTimeIntervalMicroSeconds aActualInterval;
TTime start;
TTime end;
TInt64 aActualInt;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPostionOpts2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts2 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
// options.SetUpdateTimeOut(aTimeOut);
// options.SetUpdateInterval(aInterval);
//User::After(120000000);
TRAP(ret1 , CoreObj->GetLocationL(&currPos1/*,&options*/));
if( (KErrNone != ret1))
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts2 Test>\n"));
LogFile.Write(_L8("Failed(coreobj 1)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
else
{
start.HomeTime();
TRAP(ret2 , CoreObj->GetLocationL(&currPos2/*,&options*/));
end.HomeTime();
aActualInterval=end.MicroSecondsFrom(start);
aActualInt = aActualInterval.Int64();
if(KErrNone == ret2)
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format ;
LogFile.Write(_L8("\n<GetPositionOpts2 Test>\n"));
buf.Num(aActualInt, format) ;
LogFile.Write(_L8("TimeTaken = "));
LogFile.Write(buf) ;
CloseFile();
currPos1.GetPosition(cPos1);
currPos2.GetPosition(cPos2);
ValidatePosition(cPos1);
ValidatePosition(cPos2);
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts2 Test>\n"));
LogFile.Write(_L8("Failed(coreObj 2)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionOpts3
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPositionOpts3( CStifItemParser& /*aItem*/ )
{
TInt ret1,ret2,ret3;
TPositionInfo currPos1,currPos2,currPos3;
TPosition cPos1,cPos2,cPos3;
TPositionUpdateOptions options;
TTimeIntervalMicroSeconds aTimeOut = 30000000;
TTimeIntervalMicroSeconds aInterval = 120000000;
TTimeIntervalMicroSeconds aActualInterval;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPostionOpts3");
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts3 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
options.SetUpdateTimeOut(aTimeOut);
options.SetUpdateInterval(aInterval);
TRAP(ret1 , CoreObj->GetLocationL(&currPos1,&options));
TRAP(ret2 , CoreObj->GetLocationL(&currPos2,&options));
TRAP(ret3 , CoreObj->GetLocationL(&currPos2,&options));
if( KErrArgument == ret1 && KErrArgument == ret2 && KErrArgument == ret3 )
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts3 Test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts3 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionOpts4
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPositionOpts4( CStifItemParser& /*aItem*/ )
{
TInt ret1,ret2;
TPositionInfo currPos1,currPos2,currPos3;
TPosition cPos1,cPos2,cPos3;
TPositionUpdateOptions options;
TTimeIntervalMicroSeconds aTimeOut = 80000000;
TTimeIntervalMicroSeconds aInterval = 10000000;
TTimeIntervalMicroSeconds aMaxAge = 5000000;
TTimeIntervalMicroSeconds aActualInterval;
TTime start;
TTime end;
TInt64 aActualInt;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPostionOpts4");
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts4 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
options.SetUpdateTimeOut(aTimeOut);
options.SetUpdateInterval(aInterval);
options.SetMaxUpdateAge(aMaxAge);
TRAP(ret1 , CoreObj->GetLocationL(&currPos1,&options));
start.HomeTime();
TRAP(ret2 , CoreObj->GetLocationL(&currPos2,&options));
end.HomeTime();
aActualInterval=end.MicroSecondsFrom(start);
// if( aActualInterval<=10000000 || ret1 || ret2 )
if( (KErrNone == ret1) && (KErrNone == ret2 ))
{
aActualInt = aActualInterval.Int64();
OpenFile();
TBuf8<50> buf ;
TRealFormat format ;
LogFile.Write(_L8("\n<GetPositionOpts4 Test> \n"));
buf.Num(aActualInt, format) ;
LogFile.Write(_L8("TimeTaken = "));
LogFile.Write(buf) ;
CloseFile();
currPos1.GetPosition(cPos1);
currPos2.GetPosition(cPos2);
// ValidatePosition(cPos1);
// ValidatePosition(cPos2);
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts4 Test>\n"));
LogFile.Write(_L8("Failed(error in ret values)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetPositionOpts5
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetPositionOpts5( CStifItemParser& /*aItem*/ )
{
TInt ret1,ret2;
TInt64 aTime1,aTime2;
TPositionInfo currPos1,currPos2;
TPosition cPos1,cPos2;
TPositionUpdateOptions options;
TTimeIntervalMicroSeconds aTimeOut = 10000000;
TTimeIntervalMicroSeconds aInterval = 2000000;
TTimeIntervalMicroSeconds aActualInterval;
TTime aTimeStamp1,aTimeStamp2;
TBool aAcceptPartialUpdates = ETrue;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetPostionOpts5");
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts5 Test>\n"));
LogFile.Write(_L8("Failed(Null CoreObj)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
options.SetUpdateTimeOut(aTimeOut);
options.SetUpdateInterval(aInterval);
options.SetAcceptPartialUpdates(aAcceptPartialUpdates);
//User::After(120000000);
TRAP(ret1 , CoreObj->GetLocationL(&currPos1,&options));
if(KErrNone == ret1)
{
TRAP(ret2 , CoreObj->GetLocationL(&currPos2,&options));
if(KErrNone == ret2)
{
currPos1.GetPosition(cPos1);
currPos2.GetPosition(cPos2);
aTimeStamp1 = cPos1.Time();
aTimeStamp2 = cPos2.Time();
aTime1 = aTimeStamp1.Int64();
aTime2 = aTimeStamp2.Int64();
if((aTime1) && (aTime2))
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts5 Test>\n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts5 Test>\n"));
LogFile.Write(_L8("Failed(no timeStamp)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts5 Test>\n"));
LogFile.Write(_L8("Failed(getLoc2 error)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetPositionOpts5 Test>\n"));
LogFile.Write(_L8("Failed(getLoc error)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetLastPosition
// -----------------------------------------------------------------------------
//
//TInt CSAPILocTest::GetLastPosition( CStifItemParser& /*aItem*/ )
/* {
TInt ret;
TPosition currPos;
TTime currPosTime;
TDateTime currPosDateTime;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetLastPosition" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
// Print to log file
iLog->Log( KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
iLog->Log( _L("CLocationService object creation failed") );
return KErrGeneral;
}
ret = CoreObj->GetLastKnownLoc(currPos);
if( KErrUnknown==ret )
{
iLog->Log( _L("GetLastLocation failed to return values") );
aRequestorStack.Close();
delete identityInfo;
delete CoreObj;
__UHEAP_MARKEND;
return KErrNone;
}
else
{
iLog->Log( _L("GetLastLocation returned") );
aRequestorStack.Close();
delete identityInfo;
delete CoreObj;
__UHEAP_MARKEND;
return KErrGeneral;
}
}*/
// -----------------------------------------------------------------------------
// CSAPILocTest::GetLastPosition1
// -----------------------------------------------------------------------------
//
//TInt CSAPILocTest::GetLastPosition1( CStifItemParser& /*aItem*/ )
/* {
TInt aRet,aRet1;
TPosition aCurrPos,aLastPos;
TTime aCurrPosTime,aLastPosTime;
TDateTime aCurrPosDateTime;
TReal64 aLatitude1,aLatitude2;
TReal64 aLongitude1,aLongitude2;
TReal32 aAltitude1,aAltitude2;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetLastPosition1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
// Print to log file
iLog->Log( KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
iLog->Log( _L("CLocationService object creation failed") );
__UHEAP_MARKEND;
return KErrGeneral;
}
aRet = CoreObj->GetLocationL(aCurrPos);
if(aRet)
{
iLog->Log( _L("GetLocationL failed") );
aRequestorStack.Close();
delete identityInfo;
delete CoreObj;
__UHEAP_MARKEND;
return KErrGeneral;
}
aCurrPosTime = aCurrPos.Time();
aRet1 = CoreObj->GetLastKnownLoc(aLastPos);
if(!aRet1)
{
aLastPosTime = aLastPos.Time();
if( aCurrPosTime != aLastPosTime )
{
iLog->Log( _L("Timestamp mismatch") );
aRequestorStack.Close();
delete identityInfo;
delete CoreObj;
__UHEAP_MARKEND;
return KErrGeneral;
}
else
{
aLatitude1 = aCurrPos.Latitude();
aLongitude1 = aCurrPos.Longitude();
aAltitude1 = aCurrPos.Altitude();
aLatitude2 = aLastPos.Latitude();
aLongitude2 = aLastPos.Longitude();
aAltitude2 = aLastPos.Altitude();
if( (aLatitude1 != aLatitude2) || (aLongitude1 != aLongitude2) || (aAltitude1 != aAltitude2 ))
{
iLog->Log( _L("Returned coordinates are wrong") );
aRequestorStack.Close();
delete identityInfo;
delete CoreObj;
__UHEAP_MARKEND;
return KErrGeneral;
}
else
{
iLog->Log( _L("Last postion value returned") );
aRequestorStack.Close();
delete identityInfo;
delete CoreObj;
__UHEAP_MARKEND;
return KErrNone;
}
}
}
else
{
iLog->Log( _L("GetLastKnownLoc failed"));
aRequestorStack.Close();
delete identityInfo;
delete CoreObj;
__UHEAP_MARKEND;
return KErrNone;
}
}*/
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance test> \n"));
LogFile.Write(_L8("Failed..\n")) ;
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return KErrNone;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance2
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance2( CStifItemParser& /*aItem*/ )
{
TInt aRet;
// TPositionInfo currPos[2];
TPosition currPos1[2];
inpparam aInputParam;
TReal64 aLatitude1 = 10,aLatitude2 = 20;
TReal64 aLongitude1 = 120,aLongitude2 = 140;
TReal32 aAltitude1 = 500,aAltitude2 = 500;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance2 Test>\n"));
LogFile.Write(_L8("Failed(CoreObj Creation)..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
/*for( TInt i=0;i<2;i++)
{
ret[i] = CoreObj->GetLocationL(&currPos[i]);
}
if( !ret[0] && !ret[1])
{
currPos[0].GetPosition(currPos1[0]);
currPos[1].GetPosition(currPos1[1]);
aLatitude1 = currPos1[0].Latitude();
aLongitude1 = currPos1[0].Longitude() ;
aAltitude1 = currPos1[0].Altitude() ;
aLatitude2 = currPos1[1].Latitude();
aLongitude2 = currPos1[1].Longitude() ;
aAltitude2 = currPos1[1].Altitude() ;
*/
aInputParam.servicechoice = 10;
aInputParam.source.SetCoordinate(aLatitude1,aLongitude1,aAltitude1);
aInputParam.destination.SetCoordinate(aLatitude2,aLongitude2,aAltitude2);
aRet = CoreObj->MathOperation(aInputParam);
if(KErrNotSupported == aRet)
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetDistance2 test> \n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance2 test> \n"));
LogFile.Write(_L8("Failed(Wrong error)..\n"));
CloseFile();
returnCode = KErrGeneral;
}
/* }
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance2 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
*/
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance3
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance3( CStifItemParser& /*aItem*/ )
{
TInt ret[2],aRet;
TPositionInfo currPos[2];
TPosition currPos1[2];
inpparam aInputParam;
returnCode = KErrNone;
TReal64 aLatitude1,aLatitude2;
TReal64 aLongitude1,aLongitude2;
TReal32 aAltitude1,aAltitude2;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance3" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance3 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
for( TInt i=0;i<2;i++)
{
TRAP(ret[i] , CoreObj->GetLocationL(&currPos[i]));
}
if( (KErrNone == ret[0]) && (KErrNone == ret[1] ))
{
currPos[0].GetPosition(currPos1[0]);
currPos[1].GetPosition(currPos1[1]);
aLatitude1 = currPos1[0].Latitude();
aLongitude1 = currPos1[0].Longitude() ;
aAltitude1 = currPos1[0].Altitude() ;
aLatitude2 = currPos1[1].Latitude();
aLongitude2 = currPos1[1].Longitude() ;
aAltitude2 = currPos1[1].Altitude() ;
aInputParam.servicechoice = 0;
aInputParam.source.SetCoordinate(aLatitude1,aLongitude1,aAltitude1);
aInputParam.destination.SetCoordinate(aLatitude2,aLongitude2,aAltitude2);
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetDistance3 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Distance = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
if( aInputParam.result<0 )
{
returnCode = KErrGeneral;
}
else
{
returnCode = KErrNone;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance3 test> \n"));
LogFile.Write(_L8("Failed(Math op).. \n"));
CloseFile();
returnCode = KErrGeneral;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance3 test> \n"));
LogFile.Write(_L8("Failed(getloc error).. \n"));
CloseFile();
returnCode = KErrGeneral;
}
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance4
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance4( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TCoordinate aCoordinate1(90,180),aCoordinate2(-90,0);
// TLocality aLocality1(aCordinate1,5),aLocality2(aCordinate2,5);
// TPosition aPosition1(aLocality1,aCurrentTime),aPosition2(aLocality2,aCurrentTime);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance4" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance4 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCoordinate1;
aInputParam.destination = aCoordinate2;
// aInputParam.source.SetPosition(aPosition1);
// aInputParam.destination.SetPosition(aPosition2);
aRet = CoreObj->MathOperation(aInputParam);
if(KErrNone == aRet)
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetDistance4 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Distance = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
if( aInputParam.result<0 )
{
returnCode = KErrGeneral;
}
else
{
returnCode = KErrNone;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance4 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance5
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance5( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TCoordinate aCoordinate1(0,0),aCoordinate2(0,0);
// TLocality aLocality1(aCordinate1,5),aLocality2(aCordinate2,5);
// TPosition aPosition1(aLocality1,aCurrentTime),aPosition2(aLocality2,aCurrentTime);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance5" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance5 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCoordinate1;
aInputParam.destination = aCoordinate2;
// aInputParam.source.SetPosition(aPosition1);
// aInputParam.destination.SetPosition(aPosition2);
aRet = CoreObj->MathOperation(aInputParam);
if(( KErrNone == aRet ) && (aInputParam.result == 0))
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetDistance5 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Distance = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
if( aInputParam.result<0 )
{
returnCode = KErrGeneral;
}
else
{
returnCode = KErrNone;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance5 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance6
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance6( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TCoordinate aCordinate1(80,190),aCordinate2(-80,-210);
// TLocality aLocality1(aCordinate1,5),aLocality2(aCordinate2,5);
// TPosition aPosition1(aLocality1,aCurrentTime),aPosition2(aLocality2,aCurrentTime);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance6" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance6 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
// aInputParam.source.SetPosition(aPosition1);
// aInputParam.destination.SetPosition(aPosition2);
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetDistance6 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Distance = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
if( aInputParam.result<0 )
{
returnCode = KErrGeneral;
}
else
{
returnCode = KErrNone;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance6 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance7
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance7( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TCoordinate aCordinate1(105,190),aCordinate2(-105,-210);
// TLocality aLocality1(aCordinate1,5),aLocality2(aCordinate2,5);
// TPosition aPosition1(aLocality1,aCurrentTime),aPosition2(aLocality2,aCurrentTime);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance7" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance7 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
// aInputParam.source.SetPosition(aPosition1);
// aInputParam.destination.SetPosition(aPosition2);
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet)
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetDistance7 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Distance = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
if( aInputParam.result<0 )
{
returnCode = KErrGeneral;
}
else
{
returnCode = KErrNone;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance7 position returned error> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance8
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance8( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TCoordinate aCordinate1(360,400),aCordinate2(200,480);
// TLocality aLocality1(aCordinate1,5),aLocality2(aCordinate2,5);
// TPosition aPosition1(aLocality1,aCurrentTime),aPosition2(aLocality2,aCurrentTime);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance8" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance8 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
// aInputParam.source.SetPosition(aPosition1);
// aInputParam.destination.SetPosition(aPosition2);
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetDistance8 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Distance = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
if( aInputParam.result<0 )
{
returnCode = KErrGeneral;
}
else
{
returnCode = KErrNone;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance8 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance9
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance9( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(nan,170),aCordinate2(70,170);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance9" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance9 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance9 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance9 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance10
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance10( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(30,nan),aCordinate2(70,170);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance10" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance10 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance10 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance10 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance11
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance11( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(30,110),aCordinate2(nan,170);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance11" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance11 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance11 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance11 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetDistance12
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetDistance12( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(30,110),aCordinate2(40,nan);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetDistance12" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance12 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 0;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance12 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetDistance12 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
TTime aCurrentTime;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing1
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing1( CStifItemParser& /*aItem*/ )
{
TInt ret[2],aRet;
TPositionInfo currPos[2];
TPosition currPos1[2];
inpparam aInputParam;
TReal64 aLatitude1,aLatitude2;
TReal64 aLongitude1,aLongitude2;
TReal32 aAltitude1,aAltitude2;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing1 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
/* for( TInt i=0;i<2;i++)
{
ret[i] = CoreObj->GetLocationL(&currPos[i]);
}
*/
TRAP(ret[0] , CoreObj->GetLocationL(&currPos[0]) );
//User::After(30000000) ;
TRAP(ret[1] , CoreObj->GetLocationL(&currPos[1]) );
if( !ret[0] && !ret[1])
{
aInputParam.servicechoice = 1;
currPos[0].GetPosition(currPos1[0]);
currPos[1].GetPosition(currPos1[1]);
aLatitude1 = currPos1[0].Latitude();
aLongitude1 = currPos1[0].Longitude() ;
//aAltitude1 = currPos1[0].Altitude() ;
//aAltitude1 = NaN;
aLatitude2 = currPos1[1].Latitude();
aLongitude2 = currPos1[1].Longitude() ;
//aAltitude2 = currPos1[1].Altitude() ;
aInputParam.source.SetCoordinate(aLatitude1,aLongitude1/*,aAltitude1*/);
aInputParam.destination.SetCoordinate(aLatitude2,aLongitude2/*,aAltitude2*/);
aRet = CoreObj->MathOperation(aInputParam);
if(KErrNone == aRet)
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing1 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Bearing = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
returnCode = KErrNone;
}
else if(aRet == KErrPositionIncalculable )
{
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing1 test> \n"));
LogFile.Write(_L8("Failed @ math op..\n"));
CloseFile();
returnCode = KErrGeneral;
}
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing1 test> \n"));
LogFile.Write(_L8("Failed * coreob..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing2
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing2( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(90,90),aCordinate2(90,90);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing2 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if(KErrPositionIncalculable == aRet)
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing2 test> \n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing2 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing3
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing3( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(0,0),aCordinate2(0,0);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing3" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing3 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if(KErrPositionIncalculable == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing3 test> \n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing3 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing4
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing4( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(40,90),aCordinate2(30,120);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing4" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing4 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing4 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Bearing = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing4 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing5
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing5( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(90,180),aCordinate2(-90,-180);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing5" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing5 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if(KErrPositionIncalculable == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing5 test> \n"));
LogFile.Write(_L8("Passed..\n"));
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing5 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing6
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing6( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(-120,-180),aCordinate2(160,180);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing6" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing6 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing6 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Bearing = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing6 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing7
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing7( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(35,360),aCordinate2(-80,-200);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing7" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing7 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing7 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Bearing = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing7 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing8
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing8( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(-30,160),aCordinate2(120,240);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing8" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing8 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing8 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Bearing = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing8 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing9
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing9( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(105,190),aCordinate2(-105,-210);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing9" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing9 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing9 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Bearing = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing9 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing10
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing10( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TCoordinate aCordinate1(75,190),aCordinate2(-20,-220);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing10" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing10 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<GetBearing10 test> \n"));
buf.Num(aInputParam.result, format) ;
LogFile.Write(_L8("Bearing = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing10 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing11
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing11( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(nan,190),aCordinate2(-20,-220);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing11" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing11 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing11 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing11 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing12
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing12( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(40,nan),aCordinate2(-20,-220);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing12" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing12 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing12 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing12 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing13
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing13( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(40,140),aCordinate2(nan,-220);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing13" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing13 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing13 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing13 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::GetBearing14
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::GetBearing14( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(40,140),aCordinate2(60,nan);
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "GetBearing14" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing14 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 1;
aInputParam.source = aCordinate1;
aInputParam.destination = aCordinate2;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing14 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<GetBearing14 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Move1
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::Move1( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(nan,140);
TReal32 aDist=1000,aBearing=100;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Move1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move1 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 2;
aInputParam.source = aCordinate1;
aInputParam.bearing = aBearing;
aInputParam.distance = aDist;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<Move1 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<Move1 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Move2
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::Move2( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(40,nan);
TReal32 aDist=1000,aBearing=100;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Move2" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move2 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 2;
aInputParam.source = aCordinate1;
aInputParam.bearing = aBearing;
aInputParam.distance = aDist;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrArgument == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<Move2 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<Move2 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Move3
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::Move3( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(90,0);
TReal32 aDist=1000,aBearing=100;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Move3" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move3 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 2;
aInputParam.source = aCordinate1;
aInputParam.bearing = aBearing;
aInputParam.distance = aDist;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrPositionIncalculable == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<Move3 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<Move3 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Move4
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::Move4( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(-90,0);
TReal32 aDist=1000,aBearing=100;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Move4" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move4 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 2;
aInputParam.source = aCordinate1;
aInputParam.bearing = aBearing;
aInputParam.distance = aDist;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrPositionIncalculable == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<Move4 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<Move4 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Move5
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::Move5( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(0,0);
TReal32 aDist=1000,aBearing=100;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Move5" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move5 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 2;
aInputParam.source = aCordinate1;
aInputParam.bearing = aBearing;
aInputParam.distance = aDist;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
LogFile.Write(_L8("\n<Move5 test> \n"));
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<Move5 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Move6
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::Move6( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(20,120);
TReal32 aDist=1000,aBearing=100;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Move6" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move6 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 2;
aInputParam.source = aCordinate1;
aInputParam.bearing = aBearing;
aInputParam.distance = aDist;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<Move6 test> \n"));
TReal64 aLatitude = aCordinate1.Latitude();
buf.Num(aLatitude, format) ;
LogFile.Write(_L8("Latitude = "));
LogFile.Write(buf) ;
TReal64 aLongitude = aCordinate1.Longitude();
buf.Num(aLongitude, format) ;
LogFile.Write(_L8("Longitude = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<Move6 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Move7
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::Move7( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(-30,-70);
TReal32 aDist=1000,aBearing=100;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Move7" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move7 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 2;
aInputParam.source = aCordinate1;
aInputParam.bearing = aBearing;
aInputParam.distance = aDist;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<Move7 test> \n"));
TReal64 aLatitude = aCordinate1.Latitude();
buf.Num(aLatitude, format) ;
LogFile.Write(_L8("Latitude = "));
LogFile.Write(buf) ;
TReal64 aLongitude = aCordinate1.Longitude();
buf.Num(aLongitude, format) ;
LogFile.Write(_L8("Longitude = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("Passed..\n")) ;
CloseFile();
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<Move7 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Move8
// -----------------------------------------------------------------------------
//
TInt CSAPILocTest::Move8( CStifItemParser& /*aItem*/ )
{
TInt aRet;
inpparam aInputParam;
returnCode = KErrNone;
TRealX nan;
nan.SetNaN();
TCoordinate aCordinate1(20,120);
TReal32 aDist=0,aBearing=0;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Move8" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move8 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aInputParam.servicechoice = 2;
aInputParam.source = aCordinate1;
aInputParam.bearing = aBearing;
aInputParam.distance = aDist;
aRet = CoreObj->MathOperation(aInputParam);
if( KErrNone == aRet )
{
OpenFile();
TBuf8<50> buf ;
TRealFormat format;
LogFile.Write(_L8("\n<Move8 test> \n"));
TReal64 aLatitude = aCordinate1.Latitude();
buf.Num(aLatitude, format) ;
LogFile.Write(_L8("Latitude = "));
LogFile.Write(buf) ;
TReal64 aLongitude = aCordinate1.Longitude();
buf.Num(aLongitude, format) ;
LogFile.Write(_L8("Longitude = "));
LogFile.Write(buf) ;
CloseFile();
if( aLatitude != 20 || aLongitude != 120)
returnCode = KErrGeneral;
else
returnCode = KErrNone;
}
else
{
OpenFile();
LogFile.Write(_L8("\n<Move8 test> \n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}
// -----------------------------------------------------------------------------
// CSAPILocTest::Modinfo1
// -----------------------------------------------------------------------------
//
//TInt CSAPILocTest::Modinfo1( CStifItemParser& /*aItem*/ )
/* {
TInt aRet;
TPositionModuleInfo currPos;
inpparam aInputParam;
returnCode = KErrNone;
TReal32 aDist=0,aBearing=0;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Modinfo1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
CLocationService *CoreObj = CLocationService :: NewL();
if( NULL == CoreObj)
{
OpenFile();
LogFile.Write(_L8("\n<Move8 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
aRet = CoreObj->GetModuleInfo(currPos);
TPositionModuleInfo :: TCapabilities currCapability = currPos.Capabilities() ;
if ( iLocinfoCategory == EGenericInfo )
{
if(currCapability & TPositionModuleInfo :: ECapabilitySpeed) //Populate output param with speed info
{
TReal32 speedinfo = 0 ;
if(!aGenericInfo->GetValue(EPositionFieldHorizontalSpeed , speedinfo) ) //Extract speed
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldHorizontalSpeed , TAiwVariant((TReal)speedinfo))) ;
}
if(!aGenericInfo->GetValue(EPositionFieldHorizontalSpeedError , speedinfo))
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldHorizontalSpeedError , TAiwVariant((TReal)speedinfo))) ;
}
} //End of EcapabilitySpeed
if(currCapability & TPositionModuleInfo :: ECapabilitySatellite) //Extract satellitinfo if any and append it
{ //as part of out parm list
TInt8 satinfo = 0;
if(!aGenericInfo->GetValue(EPositionFieldSatelliteNumInView , satinfo))
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldSatelliteNumInView ,TAiwVariant((TInt32)satinfo) )) ;
}
}
if(currCapability & TPositionModuleInfo :: ECapabilityDirection) //Extract direction info if any and append it
{ // as part of out parm list
TReal32 direcinfo = 0;
if(!aGenericInfo->GetValue(EPositionFieldTrueCourse , direcinfo) )
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldTrueCourse , TAiwVariant((TInt32)direcinfo))) ;
}
if(!aGenericInfo->GetValue(EPositionFieldTrueCourseError , direcinfo) )
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldTrueCourseError , TAiwVariant((TInt32)direcinfo))) ;
}
if(!aGenericInfo->GetValue(EPositionFieldMagneticCourseError , direcinfo) )
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldMagneticCourseError , TAiwVariant((TInt32)direcinfo))) ;
}
if(!aGenericInfo->GetValue(EPositionFieldMagneticCourse , direcinfo) )
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldMagneticCourse , TAiwVariant((TInt32)direcinfo))) ;
}
}
if(currCapability & TPositionModuleInfo :: ECapabilityCompass) //Extract compass info if any and append it
{ // as part of out parm list
TReal32 compassinfo ;
if(!aGenericInfo->GetValue(EPositionFieldHeading , compassinfo) )
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldHeading , TAiwVariant((TInt32)compassinfo))) ;
}
if(!aGenericInfo->GetValue(EPositionFieldHeadingError , compassinfo) )
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldHeadingError , TAiwVariant((TInt32)compassinfo))) ;
}
if(!aGenericInfo->GetValue(EPositionFieldMagneticHeading , compassinfo) )
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldMagneticHeading , TAiwVariant((TInt32)compassinfo))) ;
}
if(!aGenericInfo->GetValue(EPositionFieldMagneticHeadingError , compassinfo) )
{
iOutParmList->AppendL(TAiwGenericParam(KPositionFieldMagneticHeadingError , TAiwVariant((TInt32)compassinfo))) ;
}
}
if( currCapability & TPositionModuleInfo :: ECapabilityNmea ) //Extract Nmea info if any and append it
{ //as part of out param list
TUint8 numSentences ;
if(!aGenericInfo->GetValue(EPositionFieldNMEASentences , numSentences) )
{
iOutParmList->AppendL(TAiwGenericParam (KPositionFieldNMEASentences ,TAiwVariant((TInt32)numSentences) )) ;
}
TBuf8 <20> nmeaSentences ;
if(!aGenericInfo->GetValue(EPositionFieldNMEASentencesStart , nmeaSentences) )
{
iOutParmList->AppendL(TAiwGenericParam (KPositionFieldNMEASentencesStart , TAiwVariant(nmeaSentences))) ;
}
}
aRequestorStack.Close();
delete identityInfo;
delete CoreObj;
__UHEAP_MARKEND;
return returnCode;
}*/
// -----------------------------------------------------------------------------
// CSAPILocTest::Modinfo1
// -----------------------------------------------------------------------------
//
class Modinfo1CallBack : public MLocationCallBack
{
TInt iCount ;
TInt iRetStatus ;
CLocationService *iCoreObj;
TInt iTransactionId;
TInt iRequestType;
public :
TInt HandleNotifyL(HPositionGenericInfo* aOutPos , TInt aError) ;
Modinfo1CallBack(TInt transId,TInt req,CLocationService *obj,TInt cnt=0,TInt retStatus=KErrGeneral)
{
iTransactionId = transId;
iRequestType = req;
iCoreObj = obj;
iCount = cnt;
iRetStatus = retStatus;
}
inline TUint GetRequestType(void)
{
return iRequestType ;
}
/**
* GetTransactionId function returns transcation id associated with current async object
*
*/
inline TInt32 GetTransactionId(void)
{
return iTransactionId ;
}
};
TInt Modinfo1CallBack :: HandleNotifyL(HPositionGenericInfo *currPos , TInt /*aError*/)
{
TInt aRetVal = KErrNone;
TPositionModuleInfo modInfo;
OpenFile();
LogFile.Write(_L8("\n<Modinfo1 Test>\n "));
CloseFile();
TPosition outPos ;
currPos->GetPosition(outPos) ;
aRetVal = ValidatePosition(outPos);
if( KErrNone == aRetVal )
{
aRetVal = iCoreObj->GetModuleInfo(modInfo);
TPositionModuleInfo :: TCapabilities currCapability = modInfo.Capabilities() ;
// if ( iLocinfoCategory == EGenericInfo )
// {
//if( (currCapability & TPositionModuleInfo :: ECapabilitySpeed) && returnCode == KErrNone) //Populate output param with speed info
if (currCapability & TPositionModuleInfo :: ECapabilitySpeed)
{
TReal32 speedinfo = 0 ;
if(!currPos->GetValue(EPositionFieldHorizontalSpeed , speedinfo) ) //Extract speed
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(speedinfo , format) ;
OpenFile();
LogFile.Write(_L8("HorizontalSpeed = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else if(!currPos->GetValue(EPositionFieldHorizontalSpeedError , speedinfo))
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(speedinfo , format) ;
OpenFile();
LogFile.Write(_L8("HorizontalSpeedError = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
/* else
{
returnCode = KErrGeneral;
}
*/
} //End of EcapabilitySpeed
// if((currCapability & TPositionModuleInfo :: ECapabilitySatellite) && returnCode == KErrNone ) //Extract satellitinfo if any and append it
if(currCapability & TPositionModuleInfo :: ECapabilitySatellite)
{ //as part of out parm list
TInt8 satinfo = 0;
if(!currPos->GetValue(EPositionFieldSatelliteNumInView , satinfo))
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(satinfo , format) ;
OpenFile();
LogFile.Write(_L8("SatelliteNumInView = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
/* else
{
returnCode = KErrGeneral;
}
*/
}
if( (currCapability & TPositionModuleInfo :: ECapabilityDirection) && returnCode == KErrNone) //Extract direction info if any and append it
{ // as part of out parm list
TReal32 direcinfo = 0;
if(!currPos->GetValue(EPositionFieldTrueCourse , direcinfo) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(direcinfo , format) ;
OpenFile();
LogFile.Write(_L8("TrueCourse = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else if(!currPos->GetValue(EPositionFieldTrueCourseError , direcinfo) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(direcinfo , format) ;
OpenFile();
LogFile.Write(_L8("TrueCourseError = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else if(!currPos->GetValue(EPositionFieldMagneticCourseError , direcinfo) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(direcinfo , format) ;
OpenFile();
LogFile.Write(_L8("MagneticCourseError = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else if(!currPos->GetValue(EPositionFieldMagneticCourse , direcinfo) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(direcinfo , format) ;
OpenFile();
LogFile.Write(_L8("MagneticCourse = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
/*else
{
returnCode = KErrGeneral;
}
*/
}
//if((currCapability & TPositionModuleInfo :: ECapabilityCompass) && returnCode == KErrNone) //Extract compass info if any and append it
if(currCapability & TPositionModuleInfo :: ECapabilityCompass)
{ // as part of out parm list
TReal32 compassinfo ;
if(!currPos->GetValue(EPositionFieldHeading , compassinfo) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(compassinfo , format) ;
OpenFile();
LogFile.Write(_L8("FieldHeading = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else if(!currPos->GetValue(EPositionFieldHeadingError , compassinfo) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(compassinfo , format) ;
OpenFile();
LogFile.Write(_L8("FieldHeadingError = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else if(!currPos->GetValue(EPositionFieldMagneticHeading , compassinfo) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(compassinfo , format) ;
OpenFile();
LogFile.Write(_L8("MagneticHeading = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else if(!currPos->GetValue(EPositionFieldMagneticHeadingError , compassinfo) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(compassinfo , format) ;
OpenFile();
LogFile.Write(_L8("MagneticHeadingError = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
/*else
{
returnCode = KErrGeneral;
}
*/
}
//if( (currCapability & TPositionModuleInfo :: ECapabilityNmea) && returnCode == KErrNone )//Extract Nmea info if any and append it
if(currCapability & TPositionModuleInfo :: ECapabilityNmea)
{ //as part of out param list
TUint8 numSentences ;
TBuf8 <20> nmeaSentences ;
if(!currPos->GetValue(EPositionFieldNMEASentences , numSentences) )
{
TBuf8<50> buf ;
TRealFormat format ;
buf.Num(numSentences , format) ;
OpenFile();
LogFile.Write(_L8("NMEASentences = "));
LogFile.Write(buf) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
else if(!currPos->GetValue(EPositionFieldNMEASentencesStart , nmeaSentences) )
{
TRealFormat format ;
OpenFile();
LogFile.Write(_L8("NMEASentencesStart = "));
LogFile.Write(nmeaSentences) ;
LogFile.Write(_L8("\n")) ;
CloseFile();
}
/* else
{
returnCode = KErrGeneral;
}
*/
}
}
else
{
OpenFile();
LogFile.Write(_L8("Failed..\n"));
CloseFile();
returnCode = KErrGeneral;
}
CActiveScheduler *Current = CActiveScheduler :: Current() ;
Current->Stop() ;
return KErrNone ;
}
TInt ModinfoFunctionL()
{
__UHEAP_MARK ;
CLocationService *CoreObj = CLocationService ::NewL() ;
if( NULL == CoreObj )
{
OpenFile();
LogFile.Write(_L8("\n<Modinfo1 Test>\n"));
LogFile.Write(_L8("Failed..\n"));
CloseFile();
return KErrGeneral;
}
_LIT(Kidentity ,"Coreclass Testing" ) ;
//not needed any more
/*RRequestorStack aRequestorStack;
const CRequestor* identityInfo = CRequestor::NewL(1 , 1 , Kidentity) ;
aRequestorStack.Insert(identityInfo,0);
CoreObj->SetRequestorIdentityL(aRequestorStack) ;*/
Modinfo1CallBack MyUpdates(25,GETLOCATION,CoreObj) ;
CoreObj->GetLocationL(&MyUpdates) ;
CActiveScheduler :: Start() ;
/*aRequestorStack.Close();
delete identityInfo;*/
delete CoreObj;
__UHEAP_MARKEND ;
return 0;
}
TInt CSAPILocTest::Modinfo1( CStifItemParser& /*aItem*/ )
{
TRequestStatus status = KRequestPending;
TInt aRet = KErrNone;
returnCode = KErrNone;
// Print to UI
_LIT( KSAPILocTest, "SAPILocTest" );
_LIT( KExample, "Modinfo1" );
TestModuleIf().Printf( 0, KSAPILocTest, KExample );
__UHEAP_MARK;
TRAPD(err , aRet = ModinfoFunctionL()) ;
if( err || aRet )
returnCode = KErrGeneral;
__UHEAP_MARKEND;
return returnCode;
}