// ---------------------------------------------------------
// CPosPSYClearPositionDataTest::CheckCourseInfoClearsL
//
// (other items were commented in a header).
// ---------------------------------------------------------
//    
void CPosPSYClearPositionDataTest::CheckCourseInfoClearsL(
	const TDesC& aPositionType)
    {
    TCourse course;
	TBool allIsCleared = ETrue;

	TPositionCourseInfo* courseInfo = static_cast<TPositionCourseInfo*> (iPosInfo);
	courseInfo->GetCourse(course);	

	if (!Math::IsNaN(course.Speed()))
		{
		if (course.Speed() == KSpeed)
			{
			_LIT(KError, "Speed not cleared for ");
			AddMessageL(KError, aPositionType, EErrorMessage);
			allIsCleared = EFalse;
			}
		}	
	if (!Math::IsNaN(course.Heading()))
		{
		if (course.Heading() == KHeading)
			{
			_LIT(KError, "Heading not cleared for ");
			AddMessageL(KError, aPositionType, EErrorMessage);
			allIsCleared = EFalse;
			}
		}
	if (!Math::IsNaN(course.SpeedAccuracy()))
		{
		if (course.SpeedAccuracy() == KSpeedAccuracy)
			{
			_LIT(KError, "Speed Accuracy not cleared for ");
			AddMessageL(KError, aPositionType, EErrorMessage);
			allIsCleared = EFalse;
			}
		}
	if (!Math::IsNaN(course.HeadingAccuracy()))
		{
		if (course.HeadingAccuracy() == KHeadingError)
			{	
			_LIT(KError, "Heading Accuracy not cleared for ");
			AddMessageL(KError, aPositionType, EErrorMessage);
			allIsCleared = EFalse;
			}
		}
	
	if (allIsCleared)
		{
		_LIT(KInfo, "All TPositionCourseInfo fields were cleared for ");
		AddMessageL(KInfo, aPositionType, EInfoMessage);
		}
    }
Ejemplo n.º 2
0
void CT_LbsClientPosTp2::CheckPositionCourseInfoL(TPositionCourseInfo& aCourseInfo)
	{
	CheckPositionInfoL(aCourseInfo);
	TCourse course;
	aCourseInfo.GetCourse(course);
	if (course.Heading() != KHeading ||
		course.Speed() != KSpeed ||
		course.SpeedAccuracy() != KSpeedAcc ||
		course.HeadingAccuracy() != KHeadingAcc )
		{
		_LIT(KErrCourse, "Course not correct");
		LogErrorAndLeaveL(KErrCourse);
		}
	}