00001 /* 00002 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 00003 * All rights reserved. 00004 * This component and the accompanying materials are made available 00005 * under the terms of "Eclipse Public License v1.0" 00006 * which accompanies this distribution, and is available 00007 * at the URL "http://www.eclipse.org/legal/epl-v10.html". 00008 * 00009 * Initial Contributors: 00010 * Nokia Corporation - initial contribution. 00011 * 00012 * Contributors: 00013 * 00014 * Description: Class that implements location information converter 00015 * information 00016 * 00017 */ 00018 00019 00020 #ifndef LBSLOCATIONINFOCONVERTERIMPL_H_ 00021 #define LBSLOCATIONINFOCONVERTERIMPL_H_ 00022 00023 00024 #include <e32base.h> 00025 #include <lbs/lbslocationinfo.h> 00026 #include "rlbslocmonitorsession.h" 00027 #include "rlbslocinfoconverter.h" 00028 #include <lbs/lbslocationinfoconvertercommon.h> 00029 00030 00031 // forward declaration 00032 class MLbsLocationInfoConverterObserver; 00033 00034 00038 class CLbsLocationInfoConverterImpl : public CActive 00039 { 00040 public: 00048 static CLbsLocationInfoConverterImpl* NewL( MLbsLocationInfoConverterObserver& aObserver, 00049 const TUid aConversionModuleId ); 00050 00054 ~CLbsLocationInfoConverterImpl(); 00055 00068 void ConvertLocationInfoL( CLbsLocationInfoBase& aLocationInfo, 00069 TLbsConversionPrefs aConversionPrefs, 00070 const TLbsConversionOutputInfoMask aRequestedInfo ); 00071 00084 void ConvertLocationInfoL( RLbsLocationInfoBaseArray& aLocationInfoArray, 00085 TLbsConversionPrefs aConversionPrefs, 00086 const TLbsConversionOutputInfoMask aRequestedInfo ); 00087 00091 void CancelConvertLocationInfo(); 00092 00093 protected: // From CActive 00094 void RunL(); 00095 00096 void DoCancel(); 00097 00098 private: 00102 CLbsLocationInfoConverterImpl( MLbsLocationInfoConverterObserver& aObserver ); 00103 00107 CLbsLocationInfoConverterImpl( CLbsLocationInfoConverterImpl& ); 00108 00112 CLbsLocationInfoConverterImpl& operator=( CLbsLocationInfoConverterImpl& ); 00113 00117 void ConstructL( const TUid aConversionModuleId ); 00118 00119 private: // data 00120 00124 MLbsLocationInfoConverterObserver& iObserver; 00125 00129 RLbsLocMonitorSession iLocMoniterSession; 00130 00134 RLbsLocInfoConverter iLocInfoConverter; 00135 00139 TUid iConversionModuleId; 00140 }; 00141 00142 #endif // LBSLOCATIONINFOCONVERTERIMPL_H_