--- a/locationmanager/geoconverter/src/cgeoconverter.cpp Wed Sep 15 12:40:59 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* 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 creating country and city tags for media files
-*
-*/
-
-//#include "locationmanagerdebug.h"
-#include "cgeoconverter.h"
-#include "locationmanagerdebug.h"
-
-
-
-// --------------------------------------------------------------------------
-// CGeoConverter::NewL
-// --------------------------------------------------------------------------
-//
-EXPORT_C CGeoConverter* CGeoConverter::NewL( MGeoConverterObserver& aObserver )
- {
- LOG("CGeoConverter::NewL");
- CGeoConverter* self = new( ELeave ) CGeoConverter( aObserver );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(); // self
- return self;
- }
-
-// --------------------------------------------------------------------------
-// CGeoConverter::CGeoConverter()
-// --------------------------------------------------------------------------
-//
-CGeoConverter::CGeoConverter( MGeoConverterObserver& aObserver )
- :iObserver( aObserver )
-#ifdef LOC_GEOTAGGING_CELLID
- ,iLocConverter(NULL),
- iLocInfo(NULL),
- iGsmCellInfo(NULL),
- iWcdmaCellInfo(NULL)
-#endif
- {
- }
-
-// --------------------------------------------------------------------------
-// CGeoConverter::~CGeoConverter
-// --------------------------------------------------------------------------
-//
-EXPORT_C CGeoConverter::~CGeoConverter()
- {
- LOG("CGeoConverter::~CGeoConverter, begin");
-#ifdef LOC_GEOTAGGING_CELLID
- delete iGsmCellInfo;
- iGsmCellInfo = NULL;
- delete iWcdmaCellInfo;
- iWcdmaCellInfo = NULL;
- delete iLocInfo;
- iLocInfo = NULL;
- delete iLocConverter;
- iLocConverter = NULL;
-#endif
- LOG("CGeoConverter::~CGeoConverter, end");
- }
-
-// --------------------------------------------------------------------------
-// CGeoConverter::OnConversionComplete()
-// --------------------------------------------------------------------------
-//
-void CGeoConverter::OnConversionComplete( TInt aStatusCode )
- {
- LOG("CGeoConverter::OnConversionComplete, begin");
-#ifdef LOC_GEOTAGGING_CELLID
- //16. Retrieve position estimate that is updated by Location Monitor server
- //after a conversion operation is completed successfully.
- RLbsAreaInfoBaseArray posInfoList;
- TLocality position;
-
-
- LOG1("Status Code - %d",aStatusCode);
-
- if( KErrNone == aStatusCode )
- {
- TRAP_IGNORE(iLocInfo->GetAreaInfoL( posInfoList, CLbsLocationInfo::ELbsPosInfo );)
-
- //Get geo-coordinates.
-
- LOG1("PposInfoList Count - %d",posInfoList.Count());
- if ( posInfoList.Count() )
- {
- static_cast<CLbsPositionInfo*>(posInfoList[0])->GetLocality(position);
- }
- else
- {
- aStatusCode = KErrNotFound;
- }
- }
- TRAPD(err,iObserver.ConversionCompletedL( aStatusCode, position);)
- if(err != KErrNone)
- {
- iObserver.HandleConversionError(err);
- }
- posInfoList.Close();
-#endif
- LOG("CGeoConverter::OnConversionComplete, end");
- }
-
-// --------------------------------------------------------------------------
-// CGeoConverter::ConstructL()
-// --------------------------------------------------------------------------
-//
-void CGeoConverter::ConstructL()
- {
- LOG("CGeoConverter::ConstructL, begin");
-#ifdef LOC_GEOTAGGING_CELLID
- iLocInfo = CLbsLocationInfo::NewL();
- TUid pluginUid = TUid::Uid( 0x20027011 );
- LOG("CGeoConverter::ConstructL");
- iLocConverter = CLbsLocationInfoConverter::NewL( *this, pluginUid );
-#endif
- LOG("CGeoConverter::ConstructL, end");
- }
-
-// --------------------------------------------------------------------------
-// CGeoConverter::ConvertL()
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CGeoConverter::ConvertL( const CTelephony::TNetworkInfoV1& aNetworkInfo )
- {
- LOG("CGeoConverter::ConvertL, begin");
-#ifdef LOC_GEOTAGGING_CELLID
-
- //Set mobile country code
- TLex lexer( aNetworkInfo.iCountryCode );
- TUint countryCode = 0;
-
- User::LeaveIfError( lexer.Val( countryCode, EDecimal) );
- //Set mobile network code
- lexer = aNetworkInfo.iNetworkId;
- TUint networkCode = 0;
- User::LeaveIfError( lexer.Val( networkCode, EDecimal) );
- LOG1("Network mode - %d", aNetworkInfo.iMode);
- CLbsAreaInfoBase* areaInfoBase = NULL;
- switch(aNetworkInfo.iAccess)
- {
- case CTelephony::ENetworkAccessGsm:
- case CTelephony::ENetworkAccessGsmCompact:
- {
- LOG("2G network.");
- if(iGsmCellInfo == NULL)
- {
- iGsmCellInfo = CLbsGsmCellInfo::NewL();
- }
- iGsmCellInfo->SetMobileCountryCode( countryCode );
-
- iGsmCellInfo->SetMobileNetworkCode( networkCode );
- //Set cell id
- iGsmCellInfo->SetCellId( aNetworkInfo.iCellId );
-
- if(aNetworkInfo.iAreaKnown)
- {
- //Set location area code
- iGsmCellInfo->SetLocationAreaCode( aNetworkInfo.iLocationAreaCode );
- }
-
- areaInfoBase = iGsmCellInfo;
- }
- break;
- case CTelephony::ENetworkAccessUtran:
- {
- LOG("3G network.");
- if(iWcdmaCellInfo == NULL)
- {
- iWcdmaCellInfo = CLbsWcdmaCellInfo::NewL();
- }
- iWcdmaCellInfo->SetMobileCountryCode(countryCode);
- iWcdmaCellInfo->SetMobileNetworkCode(networkCode);
- iWcdmaCellInfo->SetUniqueCellId(aNetworkInfo.iCellId);
- areaInfoBase = iWcdmaCellInfo;
- }
- break;
- default:
- LOG("Unknown network mode");
- User::Leave(KErrNotSupported);
- }
- //Add the cell information to the location info class. This class
- //would be sent to the Location Monitor server that would perform the
- //requested conversion and update the position estimate
- if(areaInfoBase != NULL) // self check
- {
- // reset previous one.. to clear the local info.
- iLocInfo->ResetAreaInfo(CLbsLocationInfo::ELbsAreaInfoAll);
- iLocInfo->AddAreaInfoL( areaInfoBase );
- //ownership is transferred.
- iWcdmaCellInfo = NULL;
- iGsmCellInfo = NULL;
- //Request conversion of GSM cell information to corresponding coordinate information
- iLocConverter->ConvertLocationInfoL( *iLocInfo, ELbsConversionSilent,
- ELbsConversionOutputPosition );
- }
-#endif
- LOG("CGeoConverter::ConvertL, end");
- }
-
-// End of file
-