00001 /* 00002 * ============================================================================== 00003 * Name : EPos_CPosLandmarkEncoder.h 00004 * Part of : Mobile Location Framework/Landmarks 00005 * Interface : SDK/S60, Landmarks API 00006 * Description : CPosLandmarkEncoder 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 CPOSLANDMARKENCODER_H 00022 #define CPOSLANDMARKENCODER_H 00023 00024 #include <e32base.h> 00025 #include "epos_landmarks.h" 00026 #include "epos_cposlandmark.h" 00027 #include "epos_cposlandmarkcategory.h" 00028 #include "epos_cposlmoperation.h" 00029 00030 class CPosLandmarkEncoderExtension; 00031 00061 class CPosLandmarkEncoder : public CBase 00062 { 00063 public: 00064 00076 IMPORT_C static CPosLandmarkEncoder* NewL( const TDesC8& aContentMimeType ); 00077 00081 IMPORT_C virtual ~CPosLandmarkEncoder(); 00082 00083 public: 00084 00095 virtual CBufBase* SetUseOutputBufferL() = 0; 00096 00114 virtual void SetOutputFileL( const TDesC& aOutputFile ) = 0; 00115 00144 virtual void AddCollectionDataL( 00145 TPosLmCollectionDataId aDataId, 00146 const TDesC& aCollectionData 00147 ) = 0; 00148 00164 virtual void AddLandmarkL( const CPosLandmark& aLandmark ) = 0; 00165 00183 virtual void AddCategoryForLatestLandmarkL( 00184 const CPosLandmarkCategory& aCategory 00185 ) = 0; 00186 00210 virtual CPosLmOperation* FinalizeEncodingL() = 0; 00211 00212 protected: 00213 00214 // C++ constructor. 00215 IMPORT_C CPosLandmarkEncoder(); 00216 00217 private: 00218 00219 // Prohibit copy constructor 00220 CPosLandmarkEncoder( const CPosLandmarkEncoder& ); 00221 // Prohibit assigment operator 00222 CPosLandmarkEncoder& operator= ( const CPosLandmarkEncoder& ); 00223 00224 private: 00225 CPosLandmarkEncoderExtension* iExtension; 00226 00227 // Implementation Uid 00228 TUid iDtorIdKey; 00229 }; 00230 00231 // CPOSLANDMARKENCODER_H 00232 #endif 00233 00234