locationmanager/geoconverter/inc/cgeoconverter.h
changeset 36 aa5a574040a4
child 48 1389872e7c51
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationmanager/geoconverter/inc/cgeoconverter.h	Tue Jul 06 14:44:37 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  A class for converting CGI Info to lat, long.
+*
+*/
+
+#ifndef C_GEOCONVERTER_H
+#define C_GEOCONVERTER_H
+
+/**
+ *
+ *  @since S60 9.2
+ */
+#ifdef LOC_GEOTAGGING_CELLID
+#include <lbslocationinfoconverter.h>
+#include <lbslocationinfo.h>
+#endif
+#include <lbsposition.h>
+#include <etel3rdparty.h>
+
+class MGeoConverterObserver
+    {
+public:    
+    /**
+     * This method is used for notifying completion of geotagging
+     * @param aError error code
+     * @param aPosition position (lat/lon) for the correcponding n/w info
+     */
+    virtual void ConversionCompletedL( const TInt aError, TLocality& aPosition ) = 0;
+
+	/**
+	* This method is used to handle any error during conversion
+	* @param aError the error code
+	*/
+	virtual void HandleConversionError(TInt aError) = 0;
+    };
+
+// Class to handle conversion operations
+class CGeoConverter : public CBase
+#ifdef LOC_GEOTAGGING_CELLID    
+               , public MLbsLocationInfoConverterObserver
+#endif
+    {     
+public:
+    /**
+     * 2-phased constructor.
+     */
+    IMPORT_C static  CGeoConverter* NewL( MGeoConverterObserver& aObserver );
+    /**
+     * C++ destructor.
+     */
+    IMPORT_C virtual ~CGeoConverter();
+    
+    IMPORT_C void ConvertL( const CTelephony::TNetworkInfoV1& aNetworkInfo );
+        
+protected:
+    // From MLbsLocationInfoConverterObserver
+    void OnConversionComplete( TInt aStatusCode );
+    
+private:
+    /**
+     * C++ constructor.
+     */
+    CGeoConverter( MGeoConverterObserver& aObserver );
+    /**
+     * 2nd phase constructor.
+     */
+    void ConstructL();    
+    
+private:
+    MGeoConverterObserver& iObserver;
+#ifdef LOC_GEOTAGGING_CELLID    
+    CLbsLocationInfoConverter*  iLocConverter;
+    CLbsLocationInfo*   iLocInfo;
+    CLbsGsmCellInfo* iGsmCellInfo;
+    CLbsWcdmaCellInfo* iWcdmaCellInfo;
+#endif
+    };
+
+#endif // C_GEOCONVERTER_H
+
+// End of file.