00001 /* 00002 * ============================================================================== 00003 * Name : EPos_CPosLandmarkParser.h 00004 * Part of : Mobile Location Framework/Landmarks 00005 * Interface : SDK/S60, Landmarks API 00006 * Description : CPosLandmarkParser class 00007 * Version : %version: bh1cfloc#3 % 00008 * 00009 * Copyright © 2005-2006 Nokia. All rights reserved. 00010 * This material, including documentation and any related computer 00011 * programs, is protected by copyright controlled by Nokia. All 00012 * rights are reserved. Copying, including reproducing, storing, 00013 * adapting or translating, any or all of this material requires the 00014 * prior written consent of Nokia. This material also contains 00015 * confidential information which may not be disclosed to others 00016 * without the prior written consent of Nokia. 00017 * ============================================================================ 00018 * Template version: 4.0 00019 */ 00020 00021 #ifndef CPOSLANDMARKPARSER_H 00022 #define CPOSLANDMARKPARSER_H 00023 00024 #include <e32base.h> 00025 #include <f32file.h> 00026 #include "epos_landmarks.h" 00027 #include "epos_cposlandmark.h" 00028 #include "epos_cposlandmarkcategory.h" 00029 #include "epos_cposlmoperation.h" 00030 00031 class CPosLandmarkParserExtension; 00032 00064 class CPosLandmarkParser : public CBase 00065 { 00066 public: 00067 00079 IMPORT_C static CPosLandmarkParser* NewL( const TDesC8& aContentMimeType ); 00080 00084 IMPORT_C virtual ~CPosLandmarkParser(); 00085 00086 public: 00087 00099 virtual void SetInputBuffer( const TDesC8& aBuffer ) = 0; 00100 00114 virtual void SetInputFileL( const TDesC& aFile ) = 0; 00115 00126 virtual void SetInputFileHandleL( RFile& aFileHandle ) = 0; 00127 00171 virtual CPosLmOperation* ParseContentL( TBool aBuildIndex = EFalse ) = 0; 00172 00181 virtual TUint32 NumOfParsedLandmarks() const = 0; 00182 00196 virtual TPosLmCollectionDataId FirstCollectionDataId() const = 0; 00197 00212 virtual TPosLmCollectionDataId NextCollectionDataId( 00213 TPosLmCollectionDataId aCollectionData 00214 ) const = 0; 00215 00229 virtual TPtrC CollectionData( TPosLmCollectionDataId aDataId ) const = 0; 00230 00268 virtual CPosLandmark* LandmarkLC( 00269 TUint aLandmarkIndex = KPosLastParsedLandmark 00270 ) const = 0; 00271 00293 virtual CPosLandmarkCategory* LandmarkCategoryLC( 00294 TPosLmItemId aCategoryId 00295 ) const = 0; 00296 00297 protected: 00298 00299 // C++ constructor. 00300 IMPORT_C CPosLandmarkParser(); 00301 00302 private: 00303 00304 // Prohibit copy constructor 00305 CPosLandmarkParser( const CPosLandmarkParser& ); 00306 // Prohibit assigment operator 00307 CPosLandmarkParser& operator= ( const CPosLandmarkParser& ); 00308 00309 private: 00310 00311 CPosLandmarkParserExtension* iExtension; 00312 00313 // Implementation Uid 00314 TUid iDtorIdKey; 00315 00316 }; 00317 00318 // CPOSLANDMARKPARSER_H 00319 #endif 00320 00321