supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasupletel.cpp
changeset 0 667063e416a2
child 20 2b4ea9893b66
equal deleted inserted replaced
-1:000000000000 0:667063e416a2
       
     1 /*
       
     2 * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   Implementation of COMASuplEtel Class
       
    15 *  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 
       
    21 // INCLUDE FILES
       
    22 #include "epos_comasupltrace.h"
       
    23 #include "epos_comasupletel.h"
       
    24 #include "epos_comasupllocationid.h"
       
    25 
       
    26 _LIT(KTraceFileName,"SUPL_OMA_SESSION::EPos_COMASuplETel.cpp");
       
    27 
       
    28 // ============================ MEMBER FUNCTIONS OF COMASuplETel ===============================
       
    29 
       
    30 // -----------------------------------------------------------------------------
       
    31 // COMASuplETel::COMASuplETel,constuctor
       
    32 // (other items were commented in a header).
       
    33 // -----------------------------------------------------------------------------
       
    34 //
       
    35 
       
    36 COMASuplETel::COMASuplETel(MOMASuplETelObserver& aObserver,RMobilePhone& aPhone) 
       
    37 					    : CActive(EPriorityStandard),
       
    38 					      iPhone(aPhone),
       
    39 					      iNetworkInfoPkg( iNetworkInfo),
       
    40 					      iObserver(aObserver),
       
    41 					      iCellInfoPckg( iMmCellInfo )
       
    42 	{
       
    43 		 CActiveScheduler::Add(this);            
       
    44 	}
       
    45 
       
    46 // -----------------------------------------------------------------------------
       
    47 // COMASuplETel::ConstructL,two phase constuctor
       
    48 // (other items were commented in a header).
       
    49 // -----------------------------------------------------------------------------
       
    50 //
       
    51 void COMASuplETel::ConstructL()
       
    52     {
       
    53         	iTrace = COMASuplTrace::NewL();	
       
    54         	iTrace->Trace(_L("COMASuplETel::ConstructL"), KTraceFileName, __LINE__); 
       
    55     }
       
    56 
       
    57 // -----------------------------------------------------------------------------
       
    58 // COMASuplETel::NewL,two phase constuctor
       
    59 // (other items were commented in a header).
       
    60 // -----------------------------------------------------------------------------
       
    61 //
       
    62 COMASuplETel* COMASuplETel::NewL(MOMASuplETelObserver& aObserver,
       
    63 								 RMobilePhone& aPhone)
       
    64     {
       
    65     COMASuplETel* self = new( ELeave ) COMASuplETel(aObserver,aPhone);
       
    66     
       
    67     CleanupStack::PushL( self );
       
    68     self->ConstructL();
       
    69     CleanupStack::Pop(self);
       
    70 
       
    71     return self;
       
    72     }
       
    73 
       
    74 
       
    75 // -----------------------------------------------------------------------------
       
    76 // COMASuplETel::DoCancel
       
    77 // (other items were commented in a header).
       
    78 // -----------------------------------------------------------------------------
       
    79 //
       
    80 void COMASuplETel::DoCancel()
       
    81     {
       
    82     	if(iCellMode == EOMASuplCellId || iCellMode == EOMASuplCompareCellId)
       
    83     		{
       
    84     			iPhone.CancelAsyncRequest( EMobilePhoneGetCurrentNetwork );            
       
    85     		}
       
    86     	else
       
    87     		{
       
    88     			#ifdef USE_E_CELL_ID_STUB
       
    89     				iCustomAPI.CancelAsyncRequest();
       
    90     			#else
       
    91     				iPhone.CancelAsyncRequest(ECustomGetCellInfoIPC) ;
       
    92     			#endif	
       
    93     		}	
       
    94     }            
       
    95 
       
    96 // -----------------------------------------------------------------------------
       
    97 // COMASuplETel::~COMASuplETel,Destructor
       
    98 // (other items were commented in a header).
       
    99 // -----------------------------------------------------------------------------
       
   100 //
       
   101 COMASuplETel::~COMASuplETel()
       
   102     {
       
   103     	Cancel();
       
   104     	iCustomAPI.Close();
       
   105     	delete iTrace;
       
   106     }
       
   107             
       
   108 // -----------------------------------------------------------------------------
       
   109 // COMASuplETel::GetLocationID,For retriving the cell id information
       
   110 // (other items were commented in a header).
       
   111 // -----------------------------------------------------------------------------
       
   112 //
       
   113 void COMASuplETel::GetLocationID()
       
   114     {
       
   115 	    iCellMode = EOMASuplCellId;
       
   116     iTrace->Trace(_L("COMASuplETel::GetLocationID..."),KTraceFileName, __LINE__); 							
       
   117     iPhone.GetCurrentNetwork( iStatus, iNetworkInfoPkg, iLocationInfo );
       
   118     SetActive();            
       
   119     }  
       
   120       
       
   121 // -----------------------------------------------------------------------------
       
   122 // COMASuplETel::GetECellID,For retriving the E-cell id information
       
   123 // (other items were commented in a header).
       
   124 // -----------------------------------------------------------------------------
       
   125 //
       
   126 void COMASuplETel::GetECellID()      
       
   127 	{
       
   128 		iCellMode = EOMASuplECellId; 
       
   129 		iTrace->Trace(_L("COMASuplETel::GetECellID..."),KTraceFileName, __LINE__); 
       
   130 		TInt err = iCustomAPI.Open(iPhone);
       
   131 		if(err == KErrNone)
       
   132 			{
       
   133 				iCustomAPI.GetCellInfo(iStatus,iCellInfoPckg );								
       
   134 				SetActive();            
       
   135 			}
       
   136 		else
       
   137 			{
       
   138 				TRequestStatus* pStat = &iStatus;
       
   139 				User::RequestComplete(pStat, KErrNone);//go ahead evenif it fails...
       
   140 				SetActive();
       
   141 			}	
       
   142 	}
       
   143 	
       
   144 // -----------------------------------------------------------------------------
       
   145 // COMASuplETel::GetComparisionLocationID,For retriving the cell id information
       
   146 //                                        for comparision
       
   147 // (other items were commented in a header).
       
   148 // -----------------------------------------------------------------------------
       
   149 //
       
   150 void COMASuplETel::GetComparisionLocationID()
       
   151     {
       
   152     iCellMode = EOMASuplCompareCellId;
       
   153     iTrace->Trace(_L("COMASuplETel::GetLocationID..."),KTraceFileName, __LINE__);                           
       
   154     iPhone.GetCurrentNetwork( iStatus, iNetworkInfoPkg, iLocationInfo );
       
   155     SetActive();            
       
   156     }
       
   157 // COMASuplETel::RunL
       
   158 // (other items were commented in a header).
       
   159 // -----------------------------------------------------------------------------
       
   160 //
       
   161 void COMASuplETel::RunL()
       
   162     {
       
   163     if (iStatus == KErrNone)
       
   164         {       
       
   165         	if(iCellMode == EOMASuplCellId || iCellMode == EOMASuplCompareCellId)
       
   166         		{
       
   167         			HandleLocationIdL();
       
   168         		}
       
   169         	else
       
   170         		{
       
   171         			HandleECellIdL();
       
   172         		}
       
   173         }
       
   174     else
       
   175         {
       
   176         	if(iCellMode == EOMASuplCellId)
       
   177 	    		{
       
   178 					// Error while processing
       
   179 					iTrace->Trace(_L("Error in getting Location Id"),KTraceFileName, __LINE__); 							
       
   180 					iObserver.LocationIDRequestCompletedL(NULL,iStatus.Int());    
       
   181 	    		}
       
   182         	else if(iCellMode == EOMASuplCompareCellId)
       
   183         	    {
       
   184             	    // Error while processing
       
   185             	    iTrace->Trace(_L("Error in getting Comparision Location Id"),KTraceFileName, __LINE__);                             
       
   186             	    iObserver.ComparisionLocationIDRequestCompletedL(NULL,iStatus.Int());
       
   187             	}
       
   188 	    	else
       
   189 	    		{
       
   190 					// Error while processing
       
   191 					iTrace->Trace(_L("Error in getting ECell Id"),KTraceFileName, __LINE__); 							
       
   192 					iObserver.LocationECellIdRequestCompletedL(iOMASuplECellInfo,iStatus.Int());    
       
   193 	    		}	
       
   194         }                
       
   195     }
       
   196 
       
   197 // -----------------------------------------------------------------------------
       
   198 // COMASuplETel::HandleLocationIdL(),
       
   199 // (other items were commented in a header).
       
   200 // -----------------------------------------------------------------------------
       
   201 //
       
   202 void COMASuplETel::HandleLocationIdL()
       
   203 	{
       
   204          switch (iNetworkInfo.iMode) 
       
   205             {
       
   206             case RMobilePhone::ENetworkModeGsm:
       
   207                 {
       
   208                 // For GSM Cell Information
       
   209                 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
       
   210                 CleanupStack::PushL(locationId);
       
   211      			COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
       
   212      			CleanupStack::PushL(gsmCellInfo);
       
   213                 COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
       
   214                
       
   215                 TInt    MCC=0;
       
   216                 TInt64  MNC=0;
       
   217                 TUint   LAC, CellId;
       
   218                 TLex LexMCC(iNetworkInfo.iCountryCode);
       
   219                 TLex LexMNC(iNetworkInfo.iNetworkId);
       
   220 
       
   221                 LexMCC.Val(MCC);
       
   222                 LexMNC.Val(MNC);
       
   223                 LAC = iLocationInfo.iLocationAreaCode;
       
   224                 CellId = iLocationInfo.iCellId;
       
   225                 
       
   226                                 
       
   227                 gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
       
   228                 locationId->SetSuplLocationId(gsmCellInfo,lStatus);
       
   229                 CleanupStack::Pop(gsmCellInfo);
       
   230                 CleanupStack::Pop(locationId); 
       
   231                 
       
   232         		#if defined(_DEBUG)  //This is only for logging purpose. 
       
   233 				TBuf<128> msg;
       
   234 				
       
   235 				msg.Copy(_L("It is GSM Network. MCC = "));					
       
   236 				msg.AppendNum(MCC);
       
   237 				
       
   238 				msg.Append(_L(" MNC = "));					
       
   239 				msg.AppendNum(MNC);
       
   240 
       
   241 
       
   242 				msg.Append(_L(" CellId = "));					
       
   243 				msg.AppendNum(CellId);
       
   244 				
       
   245 
       
   246 				msg.Append(_L(" LAC = "));					
       
   247 				msg.AppendNum(LAC);
       
   248 				
       
   249 				iTrace->Trace(msg,KTraceFileName, __LINE__); 							
       
   250         		#endif
       
   251         		
       
   252 				if(iCellMode == EOMASuplCellId)
       
   253 				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
       
   254 				else if(iCellMode == EOMASuplCompareCellId)
       
   255 				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
       
   256                 break;                             
       
   257                 }                    
       
   258             case RMobilePhone::ENetworkModeWcdma:
       
   259                 {
       
   260                 // For WCDMA  Cell Information
       
   261                 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
       
   262                 CleanupStack::PushL(locationId);
       
   263      			COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
       
   264      			CleanupStack::PushL(wcdmaCellInfo);
       
   265      			
       
   266                 COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
       
   267                 TInt    MCC=0;
       
   268                 TInt64  MNC=0;
       
   269                 TUint   UC;
       
   270                 TLex LexMCC(iNetworkInfo.iCountryCode);
       
   271                 TLex LexMNC(iNetworkInfo.iNetworkId);
       
   272 
       
   273                 LexMCC.Val(MCC);
       
   274                 LexMNC.Val(MNC);
       
   275                 UC = iLocationInfo.iCellId;
       
   276 
       
   277                                 
       
   278                 wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, UC);                
       
   279                 locationId->SetSuplLocationId(wcdmaCellInfo,lStatus);
       
   280                 CleanupStack::Pop(wcdmaCellInfo);
       
   281                 CleanupStack::Pop(locationId);
       
   282                 
       
   283            		#if defined(_DEBUG)  //This is only for logging purpose. 
       
   284 				TBuf<128> msg;
       
   285 				
       
   286 				msg.Copy(_L("It is CDMA Network. MCC = "));					
       
   287 				msg.AppendNum(MCC);
       
   288 				
       
   289 				msg.Append(_L(" MNC = "));					
       
   290 				msg.AppendNum(MNC);
       
   291 
       
   292 
       
   293 				msg.Append(_L(" UC = "));					
       
   294 				msg.AppendNum(UC);
       
   295 				
       
   296 				iTrace->Trace(msg,KTraceFileName, __LINE__); 							
       
   297         		#endif
       
   298 
       
   299 				if(iCellMode == EOMASuplCellId)
       
   300 				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
       
   301 				else if(iCellMode == EOMASuplCompareCellId)
       
   302 				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
       
   303                 break;                             
       
   304                 }                    
       
   305             default:            
       
   306             	{
       
   307             	#if _DEBUG 
       
   308 	            	// For GSM Cell Information
       
   309 	            	COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
       
   310                 	CleanupStack::PushL(locationId);
       
   311      				COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
       
   312      				CleanupStack::PushL(gsmCellInfo);
       
   313      				
       
   314 	                COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
       
   315 	                TInt    MCC=0;
       
   316 	                TInt64  MNC=0;
       
   317 	                TUint   LAC, CellId;
       
   318 	                TLex LexMCC(iNetworkInfo.iCountryCode);
       
   319 	                TLex LexMNC(iNetworkInfo.iNetworkId);
       
   320 
       
   321 	                LexMCC.Val(MCC);
       
   322 	                LexMNC.Val(MNC);
       
   323 	                LAC = iLocationInfo.iLocationAreaCode;
       
   324 	                CellId = iLocationInfo.iCellId;
       
   325 	                
       
   326                 
       
   327 	           		gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
       
   328 	                locationId->SetSuplLocationId(gsmCellInfo,lStatus);
       
   329 	                CleanupStack::Pop(gsmCellInfo);
       
   330                 	CleanupStack::Pop(locationId);  
       
   331                 	
       
   332 					#if defined(_DEBUG)  //This is only for logging purpose. 
       
   333 					TBuf<128> msg;
       
   334 					msg.Copy(_L("It is GSM Network. MCC = "));					
       
   335 					msg.AppendNum(MCC);
       
   336 
       
   337 					msg.Append(_L(" MNC = "));					
       
   338 					msg.AppendNum(MNC);
       
   339 
       
   340 					msg.Append(_L(" CellId = "));					
       
   341 					msg.AppendNum(CellId);
       
   342 
       
   343 					msg.Append(_L(" LAC = "));					
       
   344 					msg.AppendNum(LAC);
       
   345 
       
   346 					iTrace->Trace(msg,KTraceFileName, __LINE__); 							
       
   347 					
       
   348 					#endif
       
   349 					if(iCellMode == EOMASuplCellId)
       
   350 					    iObserver.LocationIDRequestCompletedL(locationId,KErrNone); 
       
   351 					else if(iCellMode == EOMASuplCompareCellId)
       
   352 					    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);					
       
   353                 #else
       
   354                 	iTrace->Trace(_L("Error in getting Location Id"),KTraceFileName, __LINE__); 							
       
   355                 	if(iCellMode == EOMASuplCellId)
       
   356                 	    iObserver.LocationIDRequestCompletedL(NULL,KErrNotSupported); 
       
   357                 	else if(iCellMode == EOMASuplCompareCellId)
       
   358                 	    iObserver.ComparisionLocationIDRequestCompletedL(NULL,KErrNotSupported);                 	
       
   359                 #endif
       
   360                 break;        	
       
   361             	}                     
       
   362             }
       
   363 		
       
   364 	}
       
   365 
       
   366 // -----------------------------------------------------------------------------
       
   367 // COMASuplETel::HandleECellIdL(),
       
   368 // (other items were commented in a header).
       
   369 // -----------------------------------------------------------------------------
       
   370 //
       
   371 void COMASuplETel::HandleECellIdL()
       
   372 	{
       
   373 	
       
   374 		switch(iMmCellInfo.iMode)
       
   375 			{
       
   376 				case RMmCustomAPI::TMmCellInfo::EGSM:
       
   377 					{
       
   378 						FillECellGSMInfoL();
       
   379 						break;	
       
   380 					}
       
   381 					
       
   382 				case RMmCustomAPI::TMmCellInfo::EWCDMA:
       
   383 					{
       
   384 						FillECellWCDMAInfoL();
       
   385 						break;	
       
   386 					}
       
   387 					
       
   388 				default:break;
       
   389 
       
   390 			}
       
   391 	}
       
   392 	
       
   393 // -----------------------------------------------------------------------------
       
   394 // COMASuplETel::RunError, Will be called by framework,if RunL leaves.
       
   395 // (other items were commented in a header).
       
   396 // -----------------------------------------------------------------------------
       
   397 //
       
   398 TInt COMASuplETel::RunError(TInt aError)
       
   399 	{
       
   400 		if(iCellMode == EOMASuplCellId)
       
   401 		{
       
   402 			// Error while processing
       
   403 			iTrace->Trace(_L("RunL leaved for Cell id"),KTraceFileName, __LINE__); 							
       
   404 			TRAP_IGNORE(iObserver.LocationIDRequestCompletedL(NULL,aError));    
       
   405 		}
       
   406 		else
       
   407 		{
       
   408 
       
   409 			// Error while processing
       
   410 			iTrace->Trace(_L("RunL leaved for E - cell id"),KTraceFileName, __LINE__); 							
       
   411 			TRAP_IGNORE(iObserver.LocationECellIdRequestCompletedL(iOMASuplECellInfo,aError));    
       
   412 		}	
       
   413 		
       
   414 	 return KErrNone;
       
   415 	}
       
   416 
       
   417 // -----------------------------------------------------------------------------
       
   418 // COMASuplETel::FillECellWCDMAInfoL, 
       
   419 // (other items were commented in a header).
       
   420 // -----------------------------------------------------------------------------
       
   421 //
       
   422 void COMASuplETel::FillECellWCDMAInfoL()
       
   423 	{
       
   424 		iCustomWCDMACellInfo = iMmCellInfo.iWcdmaCellInfo;
       
   425 		//memcpy(&iOMASuplwcdmaCellInfo,&iCustomWCDMACellInfo,sizeof(iCustomWCDMACellInfo)); Manish
       
   426 		CopyWCDMAData();
       
   427 		iOMASuplECellInfo.SetWCDMACellInfo(iOMASuplwcdmaCellInfo);
       
   428 		iTrace->Trace(_L("Filled WCDMA Struct for E-CellId"),KTraceFileName, __LINE__); 							
       
   429 		iObserver.LocationECellIdRequestCompletedL(iOMASuplECellInfo,KErrNone);    
       
   430 	}
       
   431 	
       
   432 // -----------------------------------------------------------------------------
       
   433 // COMASuplETel::FillECellGSMInfoL, 
       
   434 // (other items were commented in a header).
       
   435 // -----------------------------------------------------------------------------
       
   436 //
       
   437 void COMASuplETel::FillECellGSMInfoL()
       
   438 	{
       
   439 		RMmCustomAPI::TMmCellInfo::TGSMCellInfo  gsmCellInfo = iMmCellInfo.iGsmCellInfo;
       
   440 		TOMASuplGSMCellinfo suplgsmCellInfo; //Make sure both struct are same.....
       
   441 		memcpy(&suplgsmCellInfo,&gsmCellInfo,sizeof(gsmCellInfo));
       
   442 
       
   443 		iOMASuplECellInfo.SetGSMCellInfo(suplgsmCellInfo);
       
   444 		iTrace->Trace(_L("Filled GSM Struct for E-CellId"),KTraceFileName, __LINE__); 							
       
   445 		iObserver.LocationECellIdRequestCompletedL(iOMASuplECellInfo,KErrNone);    
       
   446 	}
       
   447 
       
   448 // -----------------------------------------------------------------------------
       
   449 // COMASuplETel::CopyWCDMAData, 
       
   450 // (other items were commented in a header).
       
   451 // -----------------------------------------------------------------------------
       
   452 //
       
   453 void COMASuplETel::CopyWCDMAData()
       
   454 	{
       
   455 
       
   456 	 if(KFddDLMin <= iCustomWCDMACellInfo.iFrequencyInfo.iFddDL && iCustomWCDMACellInfo.iFrequencyInfo.iFddDL <= KFddDLMax)
       
   457 	 	{
       
   458 	 		iOMASuplwcdmaCellInfo.iFrequencyInfo.iFddDL =  iCustomWCDMACellInfo.iFrequencyInfo.iFddDL;
       
   459 	 	}
       
   460 	 else
       
   461 	 	{
       
   462 	 		iOMASuplwcdmaCellInfo.iFrequencyInfo.iFddDL = -1;
       
   463 	 	}	
       
   464 
       
   465 	 
       
   466 	 if(KFddULMin <= iCustomWCDMACellInfo.iFrequencyInfo.iFddUL && iCustomWCDMACellInfo.iFrequencyInfo.iFddUL <= KFddULMax)
       
   467 	 	{
       
   468 	 		iOMASuplwcdmaCellInfo.iFrequencyInfo.iFddUL =  iCustomWCDMACellInfo.iFrequencyInfo.iFddUL;
       
   469 	 	}
       
   470 	 else
       
   471 	 	{
       
   472 	 		iOMASuplwcdmaCellInfo.iFrequencyInfo.iFddUL = -1;
       
   473 	 	}
       
   474 	 	
       
   475 
       
   476 	 if(KTddDtMin <= iCustomWCDMACellInfo.iFrequencyInfo.iTddNt && iCustomWCDMACellInfo.iFrequencyInfo.iTddNt <= KTddDtMax)
       
   477 	 	{
       
   478 	 		iOMASuplwcdmaCellInfo.iFrequencyInfo.iTddNt =  iCustomWCDMACellInfo.iFrequencyInfo.iTddNt;
       
   479 	 	}
       
   480 	 else
       
   481 	 	{
       
   482 	 		iOMASuplwcdmaCellInfo.iFrequencyInfo.iTddNt = -1;
       
   483 	 	}	
       
   484 	 
       
   485 	 
       
   486 	 iOMASuplwcdmaCellInfo.iPrimaryScrambilingCode = iCustomWCDMACellInfo.iPrimaryScrambilingCode;
       
   487 	 
       
   488 	 for(TInt i = 0; i < KOMASUPLMaxNetworkMeasureReports; i++ )
       
   489 	 	{
       
   490 
       
   491 			iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddDL =  -1;
       
   492 			iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddUL =  -1;
       
   493 			iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iFrequencyInfo.iTddNt =  -1;
       
   494 			
       
   495 			if(KFddDLMin <= iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddDL  && iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddDL <= KFddDLMax)
       
   496 				{
       
   497 					iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddDL =  iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddDL;
       
   498 				}
       
   499 			
       
   500 			if(KFddULMin <= iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddUL && iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddUL <= KFddULMax)
       
   501 				{
       
   502 					iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddUL =  iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iFddUL;
       
   503 				}
       
   504 
       
   505 	 		if(KTddDtMin <= iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iTddNt && iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iTddNt <= KTddDtMax)
       
   506 	 			{
       
   507 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iFrequencyInfo.iTddNt =  iCustomWCDMACellInfo.iNwkMeasureReport[i].iFrequencyInfo.iTddNt;	
       
   508 	 			}
       
   509 	 			
       
   510 	 		iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCarrierRSSI = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCarrierRSSI;
       
   511 	 		
       
   512 	 		for(TInt j = 0; j < KOMASUPLMaxCellMeasuredResults; j++ )
       
   513 	 			{
       
   514 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iCID = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iCID ;
       
   515 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iFddInfo.iPrimaryCPICH = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iFddInfo.iPrimaryCPICH;
       
   516 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iFddInfo.iCpichEcN0 = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iFddInfo.iCpichEcN0;
       
   517 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iFddInfo.iCichRscp = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iFddInfo.iCpichRscp;
       
   518 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iFddInfo.iPathloss = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iFddInfo.iPathloss;
       
   519 	 				
       
   520 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iCellParamID = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iCellParamID; 
       
   521 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iProposedTGSN = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iProposedTGSN;
       
   522 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPrimaryCcpchRscp = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPrimaryCcpchRscp;
       
   523 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPathloss = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPathloss;
       
   524 	 				
       
   525 						for(TInt k = 0; k < KOMASUPLMaxTimeSlotIscpAmount; k++ )	 				
       
   526 							{
       
   527 								iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k] = iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k];
       
   528 							}
       
   529 	 					
       
   530 	 			}
       
   531 	 		
       
   532 	 	}
       
   533 	 
       
   534 	}
       
   535 //  End of File