diff -r b12ea03c50a3 -r 834e27cad510 landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp35.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/inc/FT_CPosTp35.h Tue Jul 06 14:44:11 2010 +0300 @@ -0,0 +1,191 @@ +/* +* Copyright (c) 2005 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 "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* ?description_line +* +*/ + + +#ifndef CPOSTP35_H +#define CPOSTP35_H + +// INCLUDES +#include +#include "FT_CLandmarkTestProcedureBase.h" + +class CNearestSearchResultTp35; + + +// CLASS DECLARATION + +/** +* Test procedure 35 +*/ +class CPosTp35 : public CLandmarkTestProcedureBase + { + public: // Constructors and destructor + + /** + * C++ default constructor. + */ + + CPosTp35(TInt tpno, CStifLogger* aLog) : CLandmarkTestProcedureBase(tpno, aLog) {}; + /** + * Destructor. + */ + ~CPosTp35() {}; + + public: // Functions from base classes + + + /** + * From CLandmarkTestProcedureBase + * Runs the test in the module + */ + void StartL(); + + void CloseTest(); + + + void CheckSearchResultL(CNearestSearchResultTp35& aSearchResult); + + private: + + void SearchL(const TBool& aSync=EFalse); + + void SearchAndCancelL(const TBool& aInCallback=EFalse); + + void AppendNearestSearchResultsL(); + + CPosLandmarkDatabase* UseNearestSearchGeneratedDbFileL(); + + void SearchWithSortOrderL(); + + private: + + + RPointerArray iNearestSearchResults; + + }; + + +class TSearchResultTp35 + { + public: + + TSearchResultTp35(); + + TSearchResultTp35(const TPosLmItemId& aId, const TReal32& aDistance); + + TReal64 Distance() const; + + TPosLmItemId Id() const; + + private: + friend class CPosTp35; + + + TReal32 iDistance; + TPosLmItemId iId; + + }; + +class CNearestSearchResultTp35 : public CSearchResultBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CNearestSearchResultTp35* NewL( + const TDesC& aDes, + const TInt& aIndex, + RFs& aFileSession); + + /** + * Destructor. + */ + CNearestSearchResultTp35::~CNearestSearchResultTp35(); + + public: + + TReal64 Latitude() const; + + TReal64 Longitude() const; + + TBool UseCoverageRadius() const; + + TReal32 MaxDistance() const; + + TInt ErrorCode() const; + + void Print(TDes& aDes); + + void PrintDistances(TDes& aPrint); + + private: + + /** + * Constructor. + */ + CNearestSearchResultTp35(RFs& aFileSession); + + void ConstructL(const TDesC& aDes, const TInt& aIndex); + + void AppendDistancesL(const TInt& aIndex); + + void ParseDistanceL(const TDesC& aDes, const TInt& aIndex, const TPosLmItemId& aId); + + void SortDistances(); + + private: + + // By default, prohibit copy constructor + CNearestSearchResultTp35(const CNearestSearchResultTp35&); + // Prohibit assigment operator + CNearestSearchResultTp35& operator=(const CNearestSearchResultTp35&); + + private: // Data + + friend class CPosTp35; + + enum TValueIndex + { + ELatitude =1, + ELongitude =2, + EUseCoverageRadius =3, + EMaxDistance =4, + EErrorCode =5, + ERedefined =6, + EMaxSearchResult =7, + ESearchResult =8 + }; + + TInt iErrorCode; + TReal64 iLatitude; + TReal64 iLongitude; + TBool iUseCoverageRadius; + TReal32 iMaxDistance; + TInt iMaxSearchResult; + + RArray iDistances; + + CPosLandmarkDatabase* iDatabase; + RFs& iFileSession; + }; + +#endif // CPOSTP35_H + +// End of File