locationtriggering/ltclientlib/src/lbtgeowcdmacell.cpp
changeset 0 667063e416a2
child 39 3efc7a0e8755
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationtriggering/ltclientlib/src/lbtgeowcdmacell.cpp	Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,198 @@
+/*
+* 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 geo WCDMA cell class.
+*
+*/
+
+
+#include "lbtgeowcdmacell.h"
+
+EXPORT_C TLbtWcdmaCellInfo::~TLbtWcdmaCellInfo()
+	{
+	iMeasurementResult.Close();
+	}
+
+
+// ================= LOCAL FUNCTIONS ========================
+ 
+// ================= MEMBER FUNCTIONS =======================
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::NewLC()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoWcdmaCell* CLbtGeoWcdmaCell::NewLC()
+    {
+    CLbtGeoWcdmaCell* self = CLbtGeoWcdmaCell::NewL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::NewL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoWcdmaCell* CLbtGeoWcdmaCell::NewL()
+    {
+    CLbtGeoWcdmaCell* self = new( ELeave ) CLbtGeoWcdmaCell;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }    
+    
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::NewL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoWcdmaCell* CLbtGeoWcdmaCell::NewL(RMobilePhone::TMobilePhoneNetworkMode aNetworkType,
+                                        RMobilePhone::TMobilePhoneNetworkCountryCode aCountryCode,
+                                        RMobilePhone::TMobilePhoneNetworkIdentity aNetworkId,
+                                        TUint aLocationAreaCode,
+                                        TUint aCellId)
+    {
+    CLbtGeoWcdmaCell* self = CLbtGeoWcdmaCell::NewLC(aNetworkType,aCountryCode,aNetworkId,aLocationAreaCode,
+                                                 aCellId);
+    CleanupStack::Pop( self );
+    return self;
+    }  
+    
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::NewLC()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoWcdmaCell* CLbtGeoWcdmaCell::NewLC(RMobilePhone::TMobilePhoneNetworkMode aNetworkType,
+                                         RMobilePhone::TMobilePhoneNetworkCountryCode aCountryCode,
+                                         RMobilePhone::TMobilePhoneNetworkIdentity aNetworkId,
+                                         TUint aLocationAreaCode,
+                                         TUint aCellId)
+    {
+    CLbtGeoWcdmaCell* self = new( ELeave ) CLbtGeoWcdmaCell();
+    CleanupStack::PushL( self );
+    self->ConstructL( aNetworkType,aCountryCode,aNetworkId,aLocationAreaCode,aCellId);
+    return self;
+    }     
+    
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::CLbtGeoWcdmaCell()
+//
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CLbtGeoWcdmaCell::CLbtGeoWcdmaCell()
+    {
+                                 
+    }   
+    
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::~CLbtGeoWcdmaCell()
+//
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLbtGeoWcdmaCell::~CLbtGeoWcdmaCell()
+    {
+    
+    }
+
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::SetWcdmaCellInfo()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//    
+EXPORT_C void CLbtGeoWcdmaCell::SetWcdmaCellInfo( const TLbtWcdmaCellInfo& aWcdmaCellInfo )
+    {
+    iCellInfo.iCell = aWcdmaCellInfo.iCell;
+    for(TInt i=0;i<aWcdmaCellInfo.iMeasurementResult.Count();++i)
+    	{
+    	TLbtWcdmaCellInfo::TLbtCellMeasuredResult nmr = aWcdmaCellInfo.iMeasurementResult[i];
+    	iCellInfo.iMeasurementResult.Append(nmr);
+    	}    
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::WcdmaCellInfo()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//    
+EXPORT_C const TLbtWcdmaCellInfo& CLbtGeoWcdmaCell::WcdmaCellInfo()
+    {
+    return iCellInfo;
+    }
+
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::CGISpecifiedDuringCreation()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TBool CLbtGeoWcdmaCell::CGISpecifiedDuringCreation() const
+    {
+    return EFalse;
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::DoExternalizeL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//    
+void CLbtGeoWcdmaCell::DoExternalizeL(RWriteStream& aStream) const 
+    {
+    CLbtGeoCell::DoExternalizeL( aStream );
+    aStream.WriteInt8L(iCellInfo.iCell.iCarrierRssi);
+    aStream.WriteInt8L(iCellInfo.iCell.iEcNo);
+    aStream.WriteInt8L(iCellInfo.iCell.iRscp);
+    aStream.WriteInt32L(iCellInfo.iCell.iPathLoss);
+    TInt count = iCellInfo.iMeasurementResult.Count();
+    aStream.WriteInt32L( count ); 
+    for( TInt i=0;i<count;i++ )
+        {
+        TLbtWcdmaCellInfo::TLbtCellMeasuredResult cellMeas = iCellInfo.iMeasurementResult[i];
+	    aStream.WriteInt16L(cellMeas.iEcNo);
+	    aStream.WriteInt16L(cellMeas.iRscp);
+	    }
+    }
+    
+// ---------------------------------------------------------------------------
+// CLbtGeoWcdmaCell::DoInternalizeL()
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//    
+void CLbtGeoWcdmaCell::DoInternalizeL(RReadStream& aStream)
+    {
+    CLbtGeoCell::DoInternalizeL( aStream );
+    iCellInfo.iCell.iCarrierRssi = aStream.ReadInt8L();
+    iCellInfo.iCell.iEcNo = aStream.ReadInt8L();
+    iCellInfo.iCell.iRscp = aStream.ReadInt8L();
+    iCellInfo.iCell.iPathLoss = aStream.ReadInt32L();
+    TInt count = aStream.ReadInt32L();
+    for( TInt i=0;i<count;i++ )
+        {
+        TLbtWcdmaCellInfo::TLbtCellMeasuredResult cellMeas;
+        cellMeas.iEcNo = aStream.ReadInt16L();
+        cellMeas.iRscp = aStream.ReadInt16L();
+        iCellInfo.iMeasurementResult.Append(cellMeas);
+        }
+    }