// ----------------------------------------------------------------------------- // PosGenericInfoUser::CopyHGenericInfo // ----------------------------------------------------------------------------- // TInt PosGenericInfoUser::CopyHGenericInfo( const HPositionGenericInfo& aSrc, HPositionGenericInfo& aDes ) { //TRACESTRING( "PosGenericInfoUser::CopyHGenericInfo start" ) //TRACEHEX2( reinterpret_cast < const TUint8* >( &aSrc ), aSrc.PositionClassSize() ) //Set position TPosition position; aSrc.GetPosition( position ); aDes.SetPosition( position ); TInt err( KErrNone ); TInt fieldId = aDes.FirstRequestedFieldId(); while ( fieldId != EPositionFieldNone ) { //TRACESTRING2( "FieldId=%d", fieldId ) if ( aSrc.IsFieldAvailable( fieldId ) ) { err = CopyField( aSrc, aDes, fieldId ); if ( err != KErrNone ) { return err; } } fieldId = aDes.NextRequestedFieldId( fieldId ); } //TRACESTRING( "PosGenericInfoUser::CopyHGenericInfo end" ) return err; }
// --------------------------------------------------------- // CPosPSYClearPositionDataTest::HandlePositionCompleteL // // (other items were commented in a header). // --------------------------------------------------------- // void CPosPSYClearPositionDataTest::HandlePositionCompleteL( TInt aCompleteCode, TTimeIntervalMicroSeconds /*aRequestTime*/) { if (iTestStatus == KErrCancel) { CompleteClearPositionDataTest(iTestStatus); return; } if (iCurrentTestClass == 0 || iCurrentTestClass == EPositionInfoClass) { _LIT(KTitleTestInfo, "==== Testing clearing of TPositionInfo ===="); AddTestResultL(KTitleTestInfo, EDisplayMessage); if (iPSYInfo.ClassesSupported() & EPositionInfoClass && !(iClassesTested & EPositionInfoClass)) { iCurrentTestClass = EPositionInfoClass; if (iRequestNumber == 0) { iClassesTested |= EPositionInfoClass; PerformTestL(aCompleteCode); } } else { _LIT(KTestInfo, "Clearing of position data tests not performed with TPositionInfo because PSY didn't support it."); AddTestResultL(KTestInfo, EInfoMessage); } } if (iCurrentTestClass == 0 || iCurrentTestClass == EPositionGenericInfoClass) { if (iRequestNumber == 0) { _LIT(KTestInfoGeneric, "==== Testing clearing of HPositionGenericInfo ===="); AddTestResultL(KTestInfoGeneric, EDisplayMessage); } if (iPSYInfo.ClassesSupported() & EPositionGenericInfoClass && !(iClassesTested & EPositionGenericInfoClass)) { iCurrentTestClass = EPositionGenericInfoClass; if (iRequestNumber == 1) { iClassesTested |= EPositionGenericInfoClass; PerformTestL(aCompleteCode); } else { HPositionGenericInfo* genInfo = HPositionGenericInfo::NewLC(KPositionGenericInfoDefaultBufferSize * 2, KPositionGenericInfoDefaultMaxFields * 2); SetHPositionGenericInfoDataL(*genInfo); CleanupStack::Pop(genInfo); genInfo->SetPosition(iPosition); iPosInfo = static_cast<TPositionInfo*> (genInfo); iRequester->MakeRequest(*iPosInfo); iRequestNumber++; } } else { _LIT(KTestInfo, "Clearing of position data tests not performed with HPositionGenericInfo because PSY didn't support it."); AddTestResultL(KTestInfo, EInfoMessage); } } if (iCurrentTestClass == 0 || iCurrentTestClass == EPositionCourseInfoClass) { if (iRequestNumber == 0) { _LIT(KTestInfo, "==== Testing clearing of TPositionCourseInfo ===="); AddTestResultL(KTestInfo, EDisplayMessage); } if (iPSYInfo.ClassesSupported() & EPositionCourseInfoClass && !(iClassesTested & EPositionCourseInfoClass)) { iCurrentTestClass = EPositionCourseInfoClass; if (iRequestNumber == 1) { iClassesTested |= EPositionCourseInfoClass; PerformTestL(aCompleteCode); } else { TPositionCourseInfo* courseInfo = new (ELeave) TPositionCourseInfo; courseInfo->SetCourse(iCourse); courseInfo->SetPosition(iPosition); iPosInfo = static_cast<TPositionInfo*> (courseInfo); iRequester->MakeRequest(*iPosInfo); iRequestNumber++; } } else { _LIT(KTestInfo, "Clearing of position data tests not performed with TPositionCourseInfo because PSY didn't support it."); AddTestResultL(KTestInfo, EInfoMessage); } } if (iCurrentTestClass == 0 || iCurrentTestClass == EPositionSatelliteInfoClass) { if (iRequestNumber == 0) { _LIT(KTestInfo, "==== Testing clearing of TPositionSatelliteInfo ===="); AddTestResultL(KTestInfo, EDisplayMessage); } if (iPSYInfo.ClassesSupported() & EPositionSatelliteInfoClass && !(iClassesTested & EPositionSatelliteInfoClass)) { iCurrentTestClass = EPositionSatelliteInfoClass; if (iRequestNumber == 1) { iClassesTested |= EPositionSatelliteInfoClass; PerformTestL(aCompleteCode); } else { TPositionSatelliteInfo* satInfo = new (ELeave) TPositionSatelliteInfo; satInfo->SetSatelliteTime(KSatelliteTime); satInfo->SetHorizontalDoP(KSatelliteHorizontalDoP); satInfo->SetVerticalDoP(KSatelliteVerticalDoP); satInfo->SetTimeDoP(KSatelliteTimeDoP); for (TInt i = 0; i < KSatelliteNumInView; i++) { TSatelliteData satellite; satellite.SetSatelliteId(KSatelliteId+i); satellite.SetAzimuth(KAzimuth); satellite.SetElevation(KElevation); satellite.SetIsUsed(KIsUsed); satellite.SetSignalStrength(KSignalStrength); satInfo->AppendSatelliteData(satellite); } satInfo->SetCourse(iCourse); satInfo->SetPosition(iPosition); iPosInfo = static_cast<TPositionInfo*> (satInfo); iRequester->MakeRequest(*iPosInfo); iRequestNumber++; } } else { _LIT(KTestInfo, "Clearing of position data tests not performed with TPositionSatelliteInfo because PSY didn't support it."); AddTestResultL(KTestInfo, EInfoMessage); } } }