locationmgmt/locmonitor/test/ExampleLocationConverter/src/ExampleLocationConverter.cpp
branchRCL_3
changeset 65 a796fdeeb33c
parent 58 87622fad6b51
--- a/locationmgmt/locmonitor/test/ExampleLocationConverter/src/ExampleLocationConverter.cpp	Wed Sep 15 00:02:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
-* Copyright (c) 2008 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:  Definition of CdummyMvmtDet class.
-*
-*/
-
-
-
-#include <ecom/ecom.h>
-#include <e32math.h>
-#include <ecom/implementationproxy.h>
-#include "ExampleLocationConverter.h"
-
-// the test code sets the timing advance in the GSM vell info to this value
-// which instructs the test converter to constuct TLocalitys with
-// latitude ser to country code, longitude set to 
-// network code and altitiude set to local area code
-const TInt KTimingAdvanceSpecialValue= 254;
-
-const TInt KTimingAdvanceSaveToCacheTrue= 253;
-
-const TInt KTimingAdvanceSaveToCacheFalse= 252;
-
-const TInt KScramblingCodeWcdmaTests = 254;
-
-
-// ECOM implementation specifics
-static const TImplementationProxy implTable[] =
-	{
-    IMPLEMENTATION_PROXY_ENTRY(0x2002140D, CExampleLocationConverter::NewL)
-	}; 
-
-
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(implTable) / sizeof(TImplementationProxy);
-
-    return implTable;
-    }
- 
-
-// Class methods
-
-//------------------------------------------------------------
-// CLbsLocInfoConversionPluginBase::NewL
-// Symbian Two - phase constructor
-//------------------------------------------------------------
-//
-CExampleLocationConverter* CExampleLocationConverter::NewL( TLbsLocInfoConverterPluginParams& aParams)
-	{
-	CExampleLocationConverter* self = new (ELeave) CExampleLocationConverter(aParams);
-	CleanupStack::PushL(self);
-	self->ConstructL(aParams);
-	CleanupStack::Pop();
-	return self;
-	}
-
-
-//------------------------------------------------------------
-// CLbsLocInfoConversionPluginBase::ConstructL
-//------------------------------------------------------------
-//
-void CExampleLocationConverter::ConstructL( TLbsLocInfoConverterPluginParams& /*aParams*/ )
-	{
-    CLbsLocInfoConverterPluginBase::Version();
-    TInt aFunctionNumber = 1982; 
-    TAny* aPtr1 = &aFunctionNumber;
-    TAny* aPtr2 = &aFunctionNumber;
-    CLbsLocInfoConverterPluginBase::ExtendedInterface(aFunctionNumber, aPtr1, aPtr2);
-    
-    iObserver.Version();
-	}
-
-
-//-----------------------------------------------------------------
-// CLbsLocInfoConversionPluginBase::CLbsLocInfoConversionPluginBase
-// C++ Default constructor
-//------------------------------------------------------------------
-//
-CExampleLocationConverter::CExampleLocationConverter(TLbsLocInfoConverterPluginParams& aParams):iObserver(aParams.Observer()),
-		iRetainLocalityInCache(ETrue)
-	{
-	
-	}
-
-
-//------------------------------------------------------------
-// CLbsLocInfoConversionPluginBase::~CLbsLocInfoConversionPluginBase
-// Destructor
-//------------------------------------------------------------
-//
-CExampleLocationConverter::~CExampleLocationConverter()
-	{
-	
-	}
-
-
-//------------------------------------------------------------
-// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
-//------------------------------------------------------------
-//	
-void CExampleLocationConverter::ConvertLocationInfoL( RLbsLocationInfoArray& aLocationInfoArray,
-                                                        const TLbsConversionPrefs /*aConversionPrefs*/, 
-                                                        const TLbsConversionOutputInfoMask aRequestedInfo)
-	{
-	if(aRequestedInfo == ELbsConversionOutputNotDefined)
-	   {
-	   iObserver.OnConversionComplete(KErrArgument);
-	   return;
-	   }
-	TInt count = aLocationInfoArray.Count();	
-	for(TInt i=0 ; i<count;i++)
-	    {
-	    switch(aRequestedInfo)
-    	    {
-    	    case ELbsConversionOutputPosition:
-    	        {
-				TBool specialTreatmentOfPos = EFalse;
-
-    	        // Extract the area info provided by the client.
-    	        // If client has specified only coordinate info,
-    	        // return KErrNotSupported.
-    	        RLbsAreaInfoBaseArray areaInfoArray; 
-    	        CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
-    	        areaInfoMask |= CLbsLocationInfo::ELbsGsmInfo | 
-                                CLbsLocationInfo::ELbsWcdmaInfo |
-                                CLbsLocationInfo::ELbsWlanInfo;
-    	        aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
-    	        TInt count = areaInfoArray.Count();
-    	     	        
-    	        if( count == 0 )
-    	            {
-    	            iObserver.OnConversionComplete(KErrNotSupported);
-    	            return;
-    	            }
-
-    	        TLocality locality;
-				if (areaInfoArray[0]->Type() == ELbsAreaGsmCellInfoClass)
-					{
-					CLbsGsmCellInfo* posInfo =
-							static_cast<CLbsGsmCellInfo*> (areaInfoArray[0]);
-
-					TInt timingAdvance = posInfo->TimingAdvance();
-
-					if (timingAdvance == KTimingAdvanceSaveToCacheFalse)
-						{
-						iRetainLocalityInCache = EFalse;
-						}
-					else
-						{
-						// for all others values ensure that we put
-						// localities in cache
-						iRetainLocalityInCache = ETrue;
-						}
-
-					if ((timingAdvance == KTimingAdvanceSpecialValue)
-							|| (timingAdvance
-									== KTimingAdvanceSaveToCacheTrue)
-							|| (timingAdvance
-									== KTimingAdvanceSaveToCacheFalse))
-						{
-						// For all the special GSM tests
-						TReal64 lat = posInfo->MobileCountryCode();
-						TReal64 lng = posInfo->MobileNetworkCode();
-						TReal32 alt = posInfo->LocationAreaCode();
-
-						TReal32 horAcc = posInfo->CellId();
-
-						locality.SetCoordinate(lat, lng, alt);
-						locality.SetAccuracy(horAcc, 11.0);
-
-						specialTreatmentOfPos = ETrue;
-						}
-					}
-				else if (areaInfoArray[0]->Type() == ELbsAreaWcmdaCellInfoClass)
-					{
-					iRetainLocalityInCache = ETrue;
-					
-					CLbsWcdmaCellInfo* posInfo =
-							static_cast<CLbsWcdmaCellInfo*> (areaInfoArray[0]);
-
-					if (posInfo->ScramblingCode() == KScramblingCodeWcdmaTests )
-						{
-						// For all the special wcdma tests
-						// note we don't set the horiz accuracy to same as cell id (as in GSM tests) as this
-						// makes the accuracy too low!
-						TReal64 lat = posInfo->MobileCountryCode();
-						TReal64 lng = posInfo->MobileNetworkCode();
-						TReal32 alt = 25.6;
-
-						locality.SetCoordinate(lat, lng, alt);
-						locality.SetAccuracy(24.3, 11.0);
-
-						specialTreatmentOfPos = ETrue;
-						}
-					}
-
-				// For the original tests we stick with a set position value
-				if (!specialTreatmentOfPos)
-					{
-					locality.SetCoordinate(62.5285, 23.9385, 1.22f);
-					locality.SetAccuracy(10.0f, 0.0);
-					}
-
-    	        areaInfoArray.ResetAndDestroy();
-     
-    	        CLbsPositionInfo* positionInfo = CLbsPositionInfo::NewL( locality );
-    	        CleanupStack::PushL( positionInfo );
-    	        aLocationInfoArray[i]->AddAreaInfoL( positionInfo );
-    	        CleanupStack::Pop( positionInfo );
-    	        break;
-    	        }
-
-    	    case ELbsConversionOutputGsm:
-    	        {
-                // Extract the area info provided by the client.
-    	        // If client has specified only gsm info,
-    	        // return KErrNotSupported.
-    	        RLbsAreaInfoBaseArray areaInfoArray; 
-                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
-                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
-                                CLbsLocationInfo::ELbsWcdmaInfo |
-                                CLbsLocationInfo::ELbsWlanInfo;
-                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
-                TInt count = areaInfoArray.Count();
-                areaInfoArray.ResetAndDestroy();
-                
-                if( count == 0 )
-                    {
-                    iObserver.OnConversionComplete(KErrNotSupported);
-                    return;
-                    }
-                    
-    	        CLbsGsmCellInfo* gsmCellInfo = CLbsGsmCellInfo::NewL( 100,101,102,103);
-    	        CleanupStack::PushL( gsmCellInfo );
-    	        aLocationInfoArray[i]->AddAreaInfoL( gsmCellInfo );
-                CleanupStack::Pop( gsmCellInfo );
-                break;
-    	        }
-    	    case ELbsConversionOutputWcdma:
-    	        {
-                // Extract the area info provided by the client.
-                // If client has specified only wcdma info,
-                // return KErrNotSupported.
-                RLbsAreaInfoBaseArray areaInfoArray; 
-                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
-                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
-                                CLbsLocationInfo::ELbsGsmInfo |
-                                CLbsLocationInfo::ELbsWlanInfo;
-                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
-                TInt count = areaInfoArray.Count();
-                areaInfoArray.ResetAndDestroy();
-                
-                if( count == 0 )
-                    {
-                    iObserver.OnConversionComplete(KErrNotSupported);
-                    return;
-                    }
-    	        
-    	        CLbsWcdmaCellInfo* wcdmaCellInfo = CLbsWcdmaCellInfo::NewL( 100,101,102 );
-    	        CleanupStack::PushL( wcdmaCellInfo );
-                aLocationInfoArray[i]->AddAreaInfoL( wcdmaCellInfo );
-                CleanupStack::Pop( wcdmaCellInfo );
-                break;
-    	        }
-    	    case ELbsConversionOutputWlan:
-    	        {
-                // Extract the area info provided by the client.
-                // If client has specified only wlan info,
-                // return KErrNotSupported.
-                RLbsAreaInfoBaseArray areaInfoArray; 
-                CLbsLocationInfo::TAreaInfoMask areaInfoMask = 0;
-                areaInfoMask |= CLbsLocationInfo::ELbsPosInfo | 
-                                CLbsLocationInfo::ELbsGsmInfo |
-                                CLbsLocationInfo::ELbsWcdmaInfo;
-                aLocationInfoArray[i]->GetAreaInfoL( areaInfoArray,areaInfoMask );
-                TInt count = areaInfoArray.Count();
-                areaInfoArray.ResetAndDestroy();
-                
-                if( count == 0 )
-                    {
-                    iObserver.OnConversionComplete(KErrNotSupported);
-                    return;
-                    }
-                
-    	        TLbsWlanMacAddress macAddress(_L8("10.0.1"));
-    	        CLbsWlanInfo* WlanInfo = CLbsWlanInfo::NewL( macAddress,10.1);
-    	        CleanupStack::PushL( WlanInfo );
-                aLocationInfoArray[i]->AddAreaInfoL( WlanInfo );
-                CleanupStack::Pop( WlanInfo );
-    	        }
-    	    default:
-    	        break;
-    	    }
-	    
-	    }
-	iObserver.OnConversionComplete(KErrNone);
-	}
-
-//------------------------------------------------------------
-// CLbsLocInfoConversionPluginBase::ConvertLocationInfoL
-//------------------------------------------------------------
-//  
-void CExampleLocationConverter::CancelConvertLocationInfo( )
-    {
-     
-    }
-
-//------------------------------------------------------------
-// CLbsLocInfoConversionPluginBase::ValidateClient
-//------------------------------------------------------------
-//  
-void CExampleLocationConverter::ValidateClient(  const TSecureId& /*aSecureId*/, 
-                                                 const TVendorId& /*aVendorId*/,
-                                                 const TLbsConversionOutputInfoMask /*aRequestedInfo*/ )
-    {
-    iObserver.OnValidationComplete( KErrNone ); 
-    }
-	
-//------------------------------------------------------------
-// CLbsLocInfoConversionPluginBase::ValidateClient
-//------------------------------------------------------------
-//  
-void CExampleLocationConverter::CancelValidateClient()
-    {
-
-    }
-
-//------------------------------------------------------------
-// CExampleLocationConverter::ConversionPluginPreferences
-//------------------------------------------------------------
-// 
-void CExampleLocationConverter::ConversionPluginPreferences(
-                 TLbsConversionPluginInfo& aPluginInfo )
-	{
-	aPluginInfo.SetIsPluginPositionToBeCached(iRetainLocalityInCache);
-	
-	//Note: The capability mask is currently not used anywhere in the location
-	//monitor. 
-	TLbsConversionPluginCapabilityMask capabilityMask;
-	capabilityMask = aPluginInfo.PluginCapabilitiesMask();
-	capabilityMask = ( ELbsPluginCapabilityGsmInfo|ELbsPluginCapabilityPosInfo|ELbsPluginCapabilityWlanInfo);
-	aPluginInfo.SetPluginCapabilitiesMask(capabilityMask);
-	}