cmmanager/cmmgr/cmmplugins/cmpluginpacketdata/src/cmpluginpacketdata.cpp
changeset 28 860702281757
parent 20 9c97ad6591ae
child 27 489cf6208544
equal deleted inserted replaced
20:9c97ad6591ae 28:860702281757
   776         RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
   776         RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
   777         RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
   777         RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
   778     {
   778     {
   779     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_UPDATESERVICERECORDL_ENTRY );
   779     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_UPDATESERVICERECORDL_ENTRY );
   780 
   780 
   781     // Delete the original record and create a copy from the parameter
   781     // Delete the original record and create a copy from the parameter.
   782     delete iServiceRecord;
   782     delete iServiceRecord;
   783     iServiceRecord = NULL;
   783     iServiceRecord = NULL;
   784 
   784 
   785     CCDWCDMAPacketServiceRecord* serviceRecord =
       
   786             static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
       
   787 
       
   788     if ( iOutgoing )
   785     if ( iOutgoing )
   789         {
   786         {
   790         iServiceRecord = static_cast<CCDWCDMAPacketServiceRecord *>(
   787         iServiceRecord = static_cast<CCDWCDMAPacketServiceRecord*>(
   791                 CCDRecordBase::RecordFactoryL( KCDTIdOutgoingGprsRecord ) );
   788                 CCDRecordBase::RecordFactoryL( KCDTIdOutgoingGprsRecord ) );
   792         }
   789         }
   793     else
   790     else
   794         {
   791         {
   795         iServiceRecord = static_cast<CCDWCDMAPacketServiceRecord *>(
   792         iServiceRecord = static_cast<CCDWCDMAPacketServiceRecord*>(
   796                 CCDRecordBase::RecordFactoryL( KCDTIdIncomingGprsRecord ) );
   793                 CCDRecordBase::RecordFactoryL( KCDTIdIncomingGprsRecord ) );
   797         }
   794         }
   798 
   795 
   799     CCDWCDMAPacketServiceRecord* origServiceRecord =
   796     CCDWCDMAPacketServiceRecord* origServiceRecord =
   800             static_cast<CCDWCDMAPacketServiceRecord*>( iServiceRecord );
   797             static_cast<CCDWCDMAPacketServiceRecord*>( iServiceRecord );
   801 
   798 
   802     iServiceRecord->SetElementId( serviceRecord->ElementId() );
   799     // Client's copy of packet service record.
   803     iServiceRecord->iRecordName.SetL( serviceRecord->iRecordName );
   800     CCDWCDMAPacketServiceRecord* clientServiceRecordCopy =
   804 
   801             static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
   805     if ( !serviceRecord->iServiceEnableLlmnr.IsNull() )
   802 
   806         {
   803     if ( !clientServiceRecordCopy->iRecordTag.IsNull() )
   807         origServiceRecord->iServiceEnableLlmnr.SetL( serviceRecord->iServiceEnableLlmnr );
   804         {
   808         }
   805         origServiceRecord->iRecordTag.SetL( clientServiceRecordCopy->iRecordTag );
   809 
   806         }
   810     if ( !serviceRecord->iGPRSAPN.IsNull() )
   807     if ( !clientServiceRecordCopy->iRecordName.IsNull() )
   811         {
   808         {
   812         origServiceRecord->iGPRSAPN.SetL( serviceRecord->iGPRSAPN );
   809         origServiceRecord->iRecordName.SetL( clientServiceRecordCopy->iRecordName );
   813         }
   810         }
   814     if ( !serviceRecord->iGPRSPDPType.IsNull() )
   811 
   815         {
   812     if ( !clientServiceRecordCopy->iServiceEnableLlmnr.IsNull() )
   816         origServiceRecord->iGPRSPDPType.SetL( serviceRecord->iGPRSPDPType );
   813         {
   817         }
   814         origServiceRecord->iServiceEnableLlmnr.SetL( clientServiceRecordCopy->iServiceEnableLlmnr );
   818     if ( !serviceRecord->iGPRSPDPAddress.IsNull() )
   815         }
   819         {
   816 
   820         origServiceRecord->iGPRSPDPAddress.SetL( serviceRecord->iGPRSPDPAddress );
   817     if ( !clientServiceRecordCopy->iGPRSAPN.IsNull() )
   821         }
   818         {
   822     if ( !serviceRecord->iGPRSReqPrecedence.IsNull() )
   819         origServiceRecord->iGPRSAPN.SetL( clientServiceRecordCopy->iGPRSAPN );
   823         {
   820         }
   824         origServiceRecord->iGPRSReqPrecedence.SetL( serviceRecord->iGPRSReqPrecedence );
   821     if ( !clientServiceRecordCopy->iGPRSPDPType.IsNull() )
   825         }
   822         {
   826     if ( !serviceRecord->iGPRSReqDelay.IsNull() )
   823         origServiceRecord->iGPRSPDPType.SetL( clientServiceRecordCopy->iGPRSPDPType );
   827         {
   824         }
   828         origServiceRecord->iGPRSReqDelay.SetL( serviceRecord->iGPRSReqDelay );
   825     if ( !clientServiceRecordCopy->iGPRSPDPAddress.IsNull() )
   829         }
   826         {
   830     if ( !serviceRecord->iGPRSReqReliability.IsNull() )
   827         origServiceRecord->iGPRSPDPAddress.SetL( clientServiceRecordCopy->iGPRSPDPAddress );
   831         {
   828         }
   832         origServiceRecord->iGPRSReqReliability.SetL( serviceRecord->iGPRSReqReliability );
   829     if ( !clientServiceRecordCopy->iGPRSReqPrecedence.IsNull() )
   833         }
   830         {
   834     if ( !serviceRecord->iGPRSReqPeakThroughput.IsNull() )
   831         origServiceRecord->iGPRSReqPrecedence.SetL( clientServiceRecordCopy->iGPRSReqPrecedence );
   835         {
   832         }
   836         origServiceRecord->iGPRSReqPeakThroughput.SetL( serviceRecord->iGPRSReqPeakThroughput );
   833     if ( !clientServiceRecordCopy->iGPRSReqDelay.IsNull() )
   837         }
   834         {
   838     if ( !serviceRecord->iGPRSReqMeanThroughput.IsNull() )
   835         origServiceRecord->iGPRSReqDelay.SetL( clientServiceRecordCopy->iGPRSReqDelay );
   839         {
   836         }
   840         origServiceRecord->iGPRSReqMeanThroughput.SetL( serviceRecord->iGPRSReqMeanThroughput );
   837     if ( !clientServiceRecordCopy->iGPRSReqReliability.IsNull() )
   841         }
   838         {
   842     if ( !serviceRecord->iGPRSMinPrecedence.IsNull() )
   839         origServiceRecord->iGPRSReqReliability.SetL( clientServiceRecordCopy->iGPRSReqReliability );
   843         {
   840         }
   844         origServiceRecord->iGPRSMinPrecedence.SetL( serviceRecord->iGPRSMinPrecedence );
   841     if ( !clientServiceRecordCopy->iGPRSReqPeakThroughput.IsNull() )
   845         }
   842         {
   846     if ( !serviceRecord->iGPRSMinDelay.IsNull() )
   843         origServiceRecord->iGPRSReqPeakThroughput.SetL( clientServiceRecordCopy->iGPRSReqPeakThroughput );
   847         {
   844         }
   848         origServiceRecord->iGPRSMinDelay.SetL( serviceRecord->iGPRSMinDelay );
   845     if ( !clientServiceRecordCopy->iGPRSReqMeanThroughput.IsNull() )
   849         }
   846         {
   850     if ( !serviceRecord->iGPRSMinReliability.IsNull() )
   847         origServiceRecord->iGPRSReqMeanThroughput.SetL( clientServiceRecordCopy->iGPRSReqMeanThroughput );
   851         {
   848         }
   852         origServiceRecord->iGPRSMinReliability.SetL( serviceRecord->iGPRSMinReliability );
   849     if ( !clientServiceRecordCopy->iGPRSMinPrecedence.IsNull() )
   853         }
   850         {
   854     if ( !serviceRecord->iGPRSMinPeakThroughput.IsNull() )
   851         origServiceRecord->iGPRSMinPrecedence.SetL( clientServiceRecordCopy->iGPRSMinPrecedence );
   855         {
   852         }
   856         origServiceRecord->iGPRSMinPeakThroughput.SetL( serviceRecord->iGPRSMinPeakThroughput );
   853     if ( !clientServiceRecordCopy->iGPRSMinDelay.IsNull() )
   857         }
   854         {
   858     if ( !serviceRecord->iGPRSMinMeanThroughput.IsNull() )
   855         origServiceRecord->iGPRSMinDelay.SetL( clientServiceRecordCopy->iGPRSMinDelay );
   859         {
   856         }
   860         origServiceRecord->iGPRSMinMeanThroughput.SetL( serviceRecord->iGPRSMinMeanThroughput );
   857     if ( !clientServiceRecordCopy->iGPRSMinReliability.IsNull() )
   861         }
   858         {
   862     if ( !serviceRecord->iGPRSDataCompression.IsNull() )
   859         origServiceRecord->iGPRSMinReliability.SetL( clientServiceRecordCopy->iGPRSMinReliability );
   863         {
   860         }
   864         origServiceRecord->iGPRSDataCompression.SetL( serviceRecord->iGPRSDataCompression );
   861     if ( !clientServiceRecordCopy->iGPRSMinPeakThroughput.IsNull() )
   865         }
   862         {
   866     if ( !serviceRecord->iGPRSHeaderCompression.IsNull() )
   863         origServiceRecord->iGPRSMinPeakThroughput.SetL( clientServiceRecordCopy->iGPRSMinPeakThroughput );
   867         {
   864         }
   868         origServiceRecord->iGPRSHeaderCompression.SetL( serviceRecord->iGPRSHeaderCompression );
   865     if ( !clientServiceRecordCopy->iGPRSMinMeanThroughput.IsNull() )
   869         }
   866         {
   870     if ( !serviceRecord->iGPRSUseEdge.IsNull() )
   867         origServiceRecord->iGPRSMinMeanThroughput.SetL( clientServiceRecordCopy->iGPRSMinMeanThroughput );
   871         {
   868         }
   872         origServiceRecord->iGPRSUseEdge.SetL( serviceRecord->iGPRSUseEdge );
   869     if ( !clientServiceRecordCopy->iGPRSDataCompression.IsNull() )
   873         }
   870         {
   874     if ( !serviceRecord->iGPRSAnonymousAccess.IsNull() )
   871         origServiceRecord->iGPRSDataCompression.SetL( clientServiceRecordCopy->iGPRSDataCompression );
   875         {
   872         }
   876         origServiceRecord->iGPRSAnonymousAccess.SetL( serviceRecord->iGPRSAnonymousAccess );
   873     if ( !clientServiceRecordCopy->iGPRSHeaderCompression.IsNull() )
   877         }
   874         {
   878     if ( !serviceRecord->iGPRSIfParams.IsNull() )
   875         origServiceRecord->iGPRSHeaderCompression.SetL( clientServiceRecordCopy->iGPRSHeaderCompression );
   879         {
   876         }
   880         origServiceRecord->iGPRSIfParams.SetL( serviceRecord->iGPRSIfParams );
   877     if ( !clientServiceRecordCopy->iGPRSUseEdge.IsNull() )
   881         }
   878         {
   882     if ( !serviceRecord->iGPRSIfNetworks.IsNull() )
   879         origServiceRecord->iGPRSUseEdge.SetL( clientServiceRecordCopy->iGPRSUseEdge );
   883         {
   880         }
   884         origServiceRecord->iGPRSIfNetworks.SetL( serviceRecord->iGPRSIfNetworks );
   881     if ( !clientServiceRecordCopy->iGPRSAnonymousAccess.IsNull() )
   885         }
   882         {
   886     if ( !serviceRecord->iGPRSIfPromptForAuth.IsNull() )
   883         origServiceRecord->iGPRSAnonymousAccess.SetL( clientServiceRecordCopy->iGPRSAnonymousAccess );
   887         {
   884         }
   888         origServiceRecord->iGPRSIfPromptForAuth.SetL( serviceRecord->iGPRSIfPromptForAuth );
   885     if ( !clientServiceRecordCopy->iGPRSIfParams.IsNull() )
   889         }
   886         {
   890     if ( !serviceRecord->iGPRSIfAuthName.IsNull() )
   887         origServiceRecord->iGPRSIfParams.SetL( clientServiceRecordCopy->iGPRSIfParams );
   891         {
   888         }
   892         origServiceRecord->iGPRSIfAuthName.SetL( serviceRecord->iGPRSIfAuthName );
   889     if ( !clientServiceRecordCopy->iGPRSIfNetworks.IsNull() )
   893         }
   890         {
   894     if ( !serviceRecord->iGPRSIfAuthPass.IsNull() )
   891         origServiceRecord->iGPRSIfNetworks.SetL( clientServiceRecordCopy->iGPRSIfNetworks );
   895         {
   892         }
   896         origServiceRecord->iGPRSIfAuthPass.SetL( serviceRecord->iGPRSIfAuthPass );
   893     if ( !clientServiceRecordCopy->iGPRSIfPromptForAuth.IsNull() )
   897         }
   894         {
   898     if ( !serviceRecord->iGPRSIfAuthRetries.IsNull() )
   895         origServiceRecord->iGPRSIfPromptForAuth.SetL( clientServiceRecordCopy->iGPRSIfPromptForAuth );
   899         {
   896         }
   900         origServiceRecord->iGPRSIfAuthRetries.SetL( serviceRecord->iGPRSIfAuthRetries );
   897     if ( !clientServiceRecordCopy->iGPRSIfAuthName.IsNull() )
   901         }
   898         {
   902     if ( !serviceRecord->iGPRSIPNetMask.IsNull() )
   899         origServiceRecord->iGPRSIfAuthName.SetL( clientServiceRecordCopy->iGPRSIfAuthName );
   903         {
   900         }
   904         origServiceRecord->iGPRSIPNetMask.SetL( serviceRecord->iGPRSIPNetMask );
   901     if ( !clientServiceRecordCopy->iGPRSIfAuthPass.IsNull() )
   905         }
   902         {
   906     if ( !serviceRecord->iGPRSIPGateway.IsNull() )
   903         origServiceRecord->iGPRSIfAuthPass.SetL( clientServiceRecordCopy->iGPRSIfAuthPass );
   907         {
   904         }
   908         origServiceRecord->iGPRSIPGateway.SetL( serviceRecord->iGPRSIPGateway );
   905     if ( !clientServiceRecordCopy->iGPRSIfAuthRetries.IsNull() )
   909         }
   906         {
   910     if ( !serviceRecord->iGPRSIPAddrFromServer.IsNull() )
   907         origServiceRecord->iGPRSIfAuthRetries.SetL( clientServiceRecordCopy->iGPRSIfAuthRetries );
   911         {
   908         }
   912         origServiceRecord->iGPRSIPAddrFromServer.SetL( serviceRecord->iGPRSIPAddrFromServer );
   909     if ( !clientServiceRecordCopy->iGPRSIPNetMask.IsNull() )
   913         }
   910         {
   914     if ( !serviceRecord->iGPRSIPAddr.IsNull() )
   911         origServiceRecord->iGPRSIPNetMask.SetL( clientServiceRecordCopy->iGPRSIPNetMask );
   915         {
   912         }
   916         origServiceRecord->iGPRSIPAddr.SetL( serviceRecord->iGPRSIPAddr );
   913     if ( !clientServiceRecordCopy->iGPRSIPGateway.IsNull() )
   917         }
   914         {
   918     if ( !serviceRecord->iGPRSIPDNSAddrFromServer.IsNull() )
   915         origServiceRecord->iGPRSIPGateway.SetL( clientServiceRecordCopy->iGPRSIPGateway );
   919         {
   916         }
   920         origServiceRecord->iGPRSIPDNSAddrFromServer.SetL( serviceRecord->iGPRSIPDNSAddrFromServer );
   917     if ( !clientServiceRecordCopy->iGPRSIPAddrFromServer.IsNull() )
   921         }
   918         {
   922     if ( !serviceRecord->iGPRSIPNameServer1.IsNull() )
   919         origServiceRecord->iGPRSIPAddrFromServer.SetL( clientServiceRecordCopy->iGPRSIPAddrFromServer );
   923         {
   920         }
   924         origServiceRecord->iGPRSIPNameServer1.SetL( serviceRecord->iGPRSIPNameServer1 );
   921     if ( !clientServiceRecordCopy->iGPRSIPAddr.IsNull() )
   925         }
   922         {
   926     if ( !serviceRecord->iGPRSIPNameServer2.IsNull() )
   923         origServiceRecord->iGPRSIPAddr.SetL( clientServiceRecordCopy->iGPRSIPAddr );
   927         {
   924         }
   928         origServiceRecord->iGPRSIPNameServer2.SetL( serviceRecord->iGPRSIPNameServer2 );
   925     if ( !clientServiceRecordCopy->iGPRSIPDNSAddrFromServer.IsNull() )
   929         }
   926         {
   930     if ( !serviceRecord->iGPRSIP6DNSAddrFromServer.IsNull() )
   927         origServiceRecord->iGPRSIPDNSAddrFromServer.SetL( clientServiceRecordCopy->iGPRSIPDNSAddrFromServer );
   931         {
   928         }
   932         origServiceRecord->iGPRSIP6DNSAddrFromServer.SetL( serviceRecord->iGPRSIP6DNSAddrFromServer );
   929     if ( !clientServiceRecordCopy->iGPRSIPNameServer1.IsNull() )
   933         }
   930         {
   934     if ( !serviceRecord->iGPRSIP6NameServer1.IsNull() )
   931         origServiceRecord->iGPRSIPNameServer1.SetL( clientServiceRecordCopy->iGPRSIPNameServer1 );
   935         {
   932         }
   936         origServiceRecord->iGPRSIP6NameServer1.SetL( serviceRecord->iGPRSIP6NameServer1 );
   933     if ( !clientServiceRecordCopy->iGPRSIPNameServer2.IsNull() )
   937         }
   934         {
   938     if ( !serviceRecord->iGPRSIP6NameServer2.IsNull() )
   935         origServiceRecord->iGPRSIPNameServer2.SetL( clientServiceRecordCopy->iGPRSIPNameServer2 );
   939         {
   936         }
   940         origServiceRecord->iGPRSIP6NameServer2.SetL( serviceRecord->iGPRSIP6NameServer2 );
   937     if ( !clientServiceRecordCopy->iGPRSIP6DNSAddrFromServer.IsNull() )
   941         }
   938         {
   942     if ( !serviceRecord->iGPRSIPAddrLeaseValidFrom.IsNull() )
   939         origServiceRecord->iGPRSIP6DNSAddrFromServer.SetL( clientServiceRecordCopy->iGPRSIP6DNSAddrFromServer );
   943         {
   940         }
   944         origServiceRecord->iGPRSIPAddrLeaseValidFrom.SetL( serviceRecord->iGPRSIPAddrLeaseValidFrom );
   941     if ( !clientServiceRecordCopy->iGPRSIP6NameServer1.IsNull() )
   945         }
   942         {
   946     if ( !serviceRecord->iGPRSIPAddrLeaseValidTo.IsNull() )
   943         origServiceRecord->iGPRSIP6NameServer1.SetL( clientServiceRecordCopy->iGPRSIP6NameServer1 );
   947         {
   944         }
   948         origServiceRecord->iGPRSIPAddrLeaseValidTo.SetL( serviceRecord->iGPRSIPAddrLeaseValidTo );
   945     if ( !clientServiceRecordCopy->iGPRSIP6NameServer2.IsNull() )
   949         }
   946         {
   950     if ( !serviceRecord->iGPRSConfigDaemonManagerName.IsNull() )
   947         origServiceRecord->iGPRSIP6NameServer2.SetL( clientServiceRecordCopy->iGPRSIP6NameServer2 );
   951         {
   948         }
   952         origServiceRecord->iGPRSConfigDaemonManagerName.SetL( serviceRecord->iGPRSConfigDaemonManagerName );
   949     if ( !clientServiceRecordCopy->iGPRSIPAddrLeaseValidFrom.IsNull() )
   953         }
   950         {
   954     if ( !serviceRecord->iGPRSConfigDaemonName.IsNull() )
   951         origServiceRecord->iGPRSIPAddrLeaseValidFrom.SetL( clientServiceRecordCopy->iGPRSIPAddrLeaseValidFrom );
   955         {
   952         }
   956         origServiceRecord->iGPRSConfigDaemonName.SetL( serviceRecord->iGPRSConfigDaemonName );
   953     if ( !clientServiceRecordCopy->iGPRSIPAddrLeaseValidTo.IsNull() )
   957         }
   954         {
   958     if ( !serviceRecord->iGPRSEnableLCPExtension.IsNull() )
   955         origServiceRecord->iGPRSIPAddrLeaseValidTo.SetL( clientServiceRecordCopy->iGPRSIPAddrLeaseValidTo );
   959         {
   956         }
   960         origServiceRecord->iGPRSEnableLCPExtension.SetL( serviceRecord->iGPRSEnableLCPExtension );
   957     if ( !clientServiceRecordCopy->iGPRSConfigDaemonManagerName.IsNull() )
   961         }
   958         {
   962     if ( !serviceRecord->iGPRSDisablePlainTextAuth.IsNull() )
   959         origServiceRecord->iGPRSConfigDaemonManagerName.SetL( clientServiceRecordCopy->iGPRSConfigDaemonManagerName );
   963         {
   960         }
   964         origServiceRecord->iGPRSDisablePlainTextAuth.SetL( serviceRecord->iGPRSDisablePlainTextAuth );
   961     if ( !clientServiceRecordCopy->iGPRSConfigDaemonName.IsNull() )
   965         }
   962         {
   966     if ( !serviceRecord->iGPRSAPType.IsNull() )
   963         origServiceRecord->iGPRSConfigDaemonName.SetL( clientServiceRecordCopy->iGPRSConfigDaemonName );
   967         {
   964         }
   968         origServiceRecord->iGPRSAPType.SetL( serviceRecord->iGPRSAPType );
   965     if ( !clientServiceRecordCopy->iGPRSEnableLCPExtension.IsNull() )
   969         }
   966         {
   970     if ( !serviceRecord->iGPRSQOSWarningTimeOut.IsNull() )
   967         origServiceRecord->iGPRSEnableLCPExtension.SetL( clientServiceRecordCopy->iGPRSEnableLCPExtension );
   971         {
   968         }
   972         origServiceRecord->iGPRSQOSWarningTimeOut.SetL( serviceRecord->iGPRSQOSWarningTimeOut );
   969     if ( !clientServiceRecordCopy->iGPRSDisablePlainTextAuth.IsNull() )
   973         }
   970         {
   974     if ( !serviceRecord->iGPRSR5DataCompression.IsNull() )
   971         origServiceRecord->iGPRSDisablePlainTextAuth.SetL( clientServiceRecordCopy->iGPRSDisablePlainTextAuth );
   975         {
   972         }
   976         origServiceRecord->iGPRSR5DataCompression.SetL( serviceRecord->iGPRSR5DataCompression );
   973     if ( !clientServiceRecordCopy->iGPRSAPType.IsNull() )
   977         }
   974         {
   978     if ( !serviceRecord->iGPRSR5HeaderCompression.IsNull() )
   975         origServiceRecord->iGPRSAPType.SetL( clientServiceRecordCopy->iGPRSAPType );
   979         {
   976         }
   980         origServiceRecord->iGPRSR5HeaderCompression.SetL( serviceRecord->iGPRSR5HeaderCompression );
   977     if ( !clientServiceRecordCopy->iGPRSQOSWarningTimeOut.IsNull() )
   981         }
   978         {
   982     if ( !serviceRecord->iGPRSPacketFlowIdentifier.IsNull() )
   979         origServiceRecord->iGPRSQOSWarningTimeOut.SetL( clientServiceRecordCopy->iGPRSQOSWarningTimeOut );
   983         {
   980         }
   984         origServiceRecord->iGPRSPacketFlowIdentifier.SetL( serviceRecord->iGPRSPacketFlowIdentifier );
   981     if ( !clientServiceRecordCopy->iGPRSR5DataCompression.IsNull() )
   985         }
   982         {
   986     if ( !serviceRecord->iGPRSUmtsGprsRelease.IsNull() )
   983         origServiceRecord->iGPRSR5DataCompression.SetL( clientServiceRecordCopy->iGPRSR5DataCompression );
   987         {
   984         }
   988         origServiceRecord->iGPRSUmtsGprsRelease.SetL( serviceRecord->iGPRSUmtsGprsRelease );
   985     if ( !clientServiceRecordCopy->iGPRSR5HeaderCompression.IsNull() )
       
   986         {
       
   987         origServiceRecord->iGPRSR5HeaderCompression.SetL( clientServiceRecordCopy->iGPRSR5HeaderCompression );
       
   988         }
       
   989     if ( !clientServiceRecordCopy->iGPRSPacketFlowIdentifier.IsNull() )
       
   990         {
       
   991         origServiceRecord->iGPRSPacketFlowIdentifier.SetL( clientServiceRecordCopy->iGPRSPacketFlowIdentifier );
       
   992         }
       
   993     if ( !clientServiceRecordCopy->iGPRSUmtsGprsRelease.IsNull() )
       
   994         {
       
   995         origServiceRecord->iGPRSUmtsGprsRelease.SetL( clientServiceRecordCopy->iGPRSUmtsGprsRelease );
   989         }
   996         }
   990 
   997 
   991     if ( iPacketDataQoSRecord )
   998     if ( iPacketDataQoSRecord )
   992         {
   999         {
   993         origServiceRecord->iUmtsR99QoSAndOnTable = iPacketDataQoSRecord->RecordId();
  1000         origServiceRecord->iUmtsR99QoSAndOnTable = iPacketDataQoSRecord->RecordId();
   994         }
  1001         }
   995 
  1002 
   996     if ( !iServiceRecord->RecordId() )
  1003     origServiceRecord->SetElementId( clientServiceRecordCopy->ElementId() );
   997         {
  1004 
   998         iServiceRecord->SetRecordId( KCDNewRecordRequest );
  1005     if ( !origServiceRecord->RecordId() )
   999         iServiceRecord->StoreL( iSession );
  1006         {
  1000         serviceRecord->SetElementId( iServiceRecord->ElementId() );
  1007         origServiceRecord->SetRecordId( KCDNewRecordRequest );
       
  1008         origServiceRecord->StoreL( iSession );
       
  1009 
       
  1010         // Update received element ID to client's copy too.
       
  1011         clientServiceRecordCopy->SetElementId( origServiceRecord->ElementId() );
  1001         }
  1012         }
  1002     else
  1013     else
  1003         {
  1014         {
  1004         iServiceRecord->ModifyL( iSession );
  1015         origServiceRecord->ModifyL( iSession );
  1005         }
  1016         }
  1006 
  1017 
  1007     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_UPDATESERVICERECORDL_EXIT );
  1018     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_UPDATESERVICERECORDL_EXIT );
  1008     }
  1019     }
  1009 
  1020 
  1032         {
  1043         {
  1033         iPacketDataQoSRecord->SetRecordId( KCDNewRecordRequest );
  1044         iPacketDataQoSRecord->SetRecordId( KCDNewRecordRequest );
  1034         iPacketDataQoSRecord->StoreL( iSession );
  1045         iPacketDataQoSRecord->StoreL( iSession );
  1035         packetDataQoSRecord->SetElementId( iPacketDataQoSRecord->ElementId() );
  1046         packetDataQoSRecord->SetElementId( iPacketDataQoSRecord->ElementId() );
  1036 
  1047 
  1037         // Set service record to point to QoS record
  1048         // Set service record to point to QoS record.
  1038         ServiceRecord().iUmtsR99QoSAndOnTable = iPacketDataQoSRecord->RecordId();
  1049         ServiceRecord().iUmtsR99QoSAndOnTable = iPacketDataQoSRecord->RecordId();
  1039         ServiceRecord().ModifyL( iSession );
  1050         ServiceRecord().ModifyL( iSession );
  1040 
  1051 
  1041         CCDWCDMAPacketServiceRecord* serviceRecord =
  1052         CCDWCDMAPacketServiceRecord* serviceRecord =
  1042                 static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
  1053                 static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
  1558 // ---------------------------------------------------------------------------
  1569 // ---------------------------------------------------------------------------
  1559 // CCmPluginPacketData::GetBearerBoolAttributeL
  1570 // CCmPluginPacketData::GetBearerBoolAttributeL
  1560 // ---------------------------------------------------------------------------
  1571 // ---------------------------------------------------------------------------
  1561 //
  1572 //
  1562 TBool CCmPluginPacketData::GetBearerBoolAttributeL( TUint32 aAttribute,
  1573 TBool CCmPluginPacketData::GetBearerBoolAttributeL( TUint32 aAttribute,
  1563                                          RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
  1574         RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
  1564                                          RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
  1575         RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
  1565     {
  1576     {
  1566     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERBOOLATTRIBUTEL_ENTRY );
  1577     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERBOOLATTRIBUTEL_ENTRY );
  1567 
  1578 
  1568     TBool retVal( EFalse );
  1579     TBool retVal( EFalse );
  1569 
  1580 
  1570     switch( aAttribute )
  1581     switch ( aAttribute )
  1571         {
  1582         {
  1572         case EPacketDataOutGoing:
  1583         case EPacketDataOutGoing:
  1573             {
  1584             {
  1574             retVal = iOutgoing;
  1585             retVal = iOutgoing;
  1575             }
  1586             }
  1576             break;
  1587             break;
  1577         case ECmCoverage:
  1588         case ECmCoverage:
  1578             {
  1589             {
  1579 #ifndef __WINS__
  1590 #ifndef __WINS__
  1580             CCmPDCoverageCheck* coverage = new (ELeave) CCmPDCoverageCheck;
  1591             CCmPDCoverageCheck* coverage = new( ELeave ) CCmPDCoverageCheck;
  1581             CleanupStack::PushL( coverage );
  1592             CleanupStack::PushL( coverage );
  1582 
  1593 
  1583             retVal = coverage->IsThereCoverageL();
  1594             retVal = coverage->IsThereCoverageL();
  1584 
  1595 
  1585             CleanupStack::PopAndDestroy( coverage );
  1596             CleanupStack::PopAndDestroy( coverage );
  1603             retVal = FeatureManager::FeatureSupported( KFeatureIdIPv6 );
  1614             retVal = FeatureManager::FeatureSupported( KFeatureIdIPv6 );
  1604             }
  1615             }
  1605             break;
  1616             break;
  1606         case EPacketDataDataCompression:
  1617         case EPacketDataDataCompression:
  1607             {
  1618             {
  1608             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1619             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1609                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSDataCompression;
  1620                     aGenRecordArray[KServiceRecordIndex] )->iGPRSDataCompression;
  1610             }
  1621             }
  1611             break;
  1622             break;
  1612         case EPacketDataHeaderCompression:
  1623         case EPacketDataHeaderCompression:
  1613             {
  1624             {
  1614             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1625             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1615                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSHeaderCompression;
  1626                     aGenRecordArray[KServiceRecordIndex] )->iGPRSHeaderCompression;
  1616             }
  1627             }
  1617             break;
  1628             break;
  1618         case EPacketDataUseEdge:
  1629         case EPacketDataUseEdge:
  1619             {
  1630             {
  1620             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1631             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1621                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSUseEdge;
  1632                     aGenRecordArray[KServiceRecordIndex] )->iGPRSUseEdge;
  1622             }
  1633             }
  1623             break;
  1634             break;
  1624         case EPacketDataAnonymousAccess:
  1635         case EPacketDataAnonymousAccess:
  1625             {
  1636             {
  1626             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1637             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1627                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSAnonymousAccess;
  1638                     aGenRecordArray[KServiceRecordIndex] )->iGPRSAnonymousAccess;
  1628             }
  1639             }
  1629             break;
  1640             break;
  1630         case ECmIFPromptForAuth:
  1641         case ECmIFPromptForAuth:
  1631         case EPacketDataIFPromptForAuth:
  1642         case EPacketDataIFPromptForAuth:
  1632             {
  1643             {
  1633             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1644             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1634                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSIfPromptForAuth;
  1645                     aGenRecordArray[KServiceRecordIndex] )->iGPRSIfPromptForAuth;
  1635             }
  1646             }
  1636             break;
  1647             break;
  1637         case ECmIPAddFromServer:
  1648         case ECmIPAddFromServer:
  1638         case EPacketDataIPAddrFromServer:
  1649         case EPacketDataIPAddrFromServer:
  1639             {
  1650             {
  1640             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1651             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1641                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSIPAddrFromServer;
  1652                     aGenRecordArray[KServiceRecordIndex] )->iGPRSIPAddrFromServer;
  1642             }
  1653             }
  1643             break;
  1654             break;
  1644         case ECmIPDNSAddrFromServer:
  1655         case ECmIPDNSAddrFromServer:
  1645         case EPacketDataIPDNSAddrFromServer:
  1656         case EPacketDataIPDNSAddrFromServer:
  1646             {
  1657             {
  1647             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1658             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1648                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSIPDNSAddrFromServer;
  1659                     aGenRecordArray[KServiceRecordIndex] )->iGPRSIPDNSAddrFromServer;
  1649             }
  1660             }
  1650             break;
  1661             break;
  1651         case ECmIP6DNSAddrFromServer:
  1662         case ECmIP6DNSAddrFromServer:
  1652         case EPacketDataIPIP6DNSAddrFromServer:
  1663         case EPacketDataIPIP6DNSAddrFromServer:
  1653             {
  1664             {
  1654             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1665             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1655                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSIP6DNSAddrFromServer;
  1666                     aGenRecordArray[KServiceRecordIndex] )->iGPRSIP6DNSAddrFromServer;
  1656             }
  1667             }
  1657             break;
  1668             break;
  1658         case ECmEnableLPCExtension:
  1669         case ECmEnableLPCExtension:
  1659         case EPacketDataEnableLcpExtension:
  1670         case EPacketDataEnableLcpExtension:
  1660             {
  1671             {
  1661             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1672             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1662                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSEnableLCPExtension;
  1673                     aGenRecordArray[KServiceRecordIndex] )->iGPRSEnableLCPExtension;
  1663             }
  1674             }
  1664             break;
  1675             break;
  1665         case EPacketDataServiceEnableLLMNR:
  1676         case EPacketDataServiceEnableLLMNR:
  1666             {
  1677             {
  1667             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1678             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1668                                 ( aGenRecordArray[KServiceRecordIndex] )->iServiceEnableLlmnr;
  1679                     aGenRecordArray[KServiceRecordIndex] )->iServiceEnableLlmnr;
  1669             }
  1680             }
  1670             break;
  1681             break;
  1671         case ECmDisablePlainTextAuth:
  1682         case ECmDisablePlainTextAuth:
  1672         case EPacketDataDisablePlainTextAuth:
  1683         case EPacketDataDisablePlainTextAuth:
  1673             {
  1684             {
  1674             retVal = static_cast<CCDWCDMAPacketServiceRecord*>
  1685             retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
  1675                                 ( aGenRecordArray[KServiceRecordIndex] )->iGPRSDisablePlainTextAuth;
  1686                     aGenRecordArray[KServiceRecordIndex] )->iGPRSDisablePlainTextAuth;
  1676             }
  1687             }
  1677             break;
  1688             break;
  1678         case EGPRSSignallingIndication:
  1689         case EGPRSSignallingIndication:
  1679             {
  1690             {
  1680             retVal = static_cast<CCDUmtsR99QoSAndOnTableRecord*>
  1691             retVal = static_cast<CCDUmtsR99QoSAndOnTableRecord*>(
  1681                                 ( aBearerSpecRecordArray[KQosRecordIndex] )->iGPRSSignallingIndication;
  1692                     aBearerSpecRecordArray[KQosRecordIndex] )->iGPRSSignallingIndication;
  1682             }
  1693             }
  1683             break;
  1694             break;
  1684         case EGPRS_ImCnSignallingIndication:
  1695         case EGPRS_ImCnSignallingIndication:
  1685             {
  1696             {
  1686             retVal = static_cast<CCDUmtsR99QoSAndOnTableRecord*>
  1697             retVal = static_cast<CCDUmtsR99QoSAndOnTableRecord*>(
  1687                                 ( aBearerSpecRecordArray[KQosRecordIndex] )->iGPRS_ImCnSignallingIndication;
  1698                     aBearerSpecRecordArray[KQosRecordIndex] )->iGPRS_ImCnSignallingIndication;
  1688             }
  1699             }
  1689             break;
  1700             break;
  1690         default:
  1701         default:
  1691             {
  1702             {
  1692             User::Leave( KErrNotFound );
  1703             User::Leave( KErrNotFound );
  1693             }
  1704             }
  1694             break;
  1705             break;
  1695         }
  1706         }
  1696 
  1707 
  1697     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERBOOLATTRIBUTEL_EXIT );
  1708     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERBOOLATTRIBUTEL_EXIT );
  1698 
       
  1699     return retVal;
  1709     return retVal;
  1700     }
  1710     }
  1701 
  1711 
  1702 // ---------------------------------------------------------------------------
  1712 // ---------------------------------------------------------------------------
  1703 // CCmPluginPacketData::GetBearerStringAttributeL
  1713 // CCmPluginPacketData::GetBearerStringAttributeL
  1708         RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
  1718         RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
  1709     {
  1719     {
  1710     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERSTRINGATTRIBUTEL_ENTRY );
  1720     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERSTRINGATTRIBUTEL_ENTRY );
  1711 
  1721 
  1712     HBufC* retVal( NULL );
  1722     HBufC* retVal( NULL );
  1713     if ( ( aAttribute > EPacketDataSpecificAttributes && aAttribute < EGPRSReqTrafficClass )
  1723     if ( ( aAttribute > EPacketDataSpecificAttributes && aAttribute < EGPRSReqTrafficClass ) ||
  1714             || ( aAttribute > ECmCommonAttributesStart && aAttribute < ECmCommonAttributesEnd ) )
  1724             ( aAttribute > ECmCommonAttributesStart && aAttribute < ECmCommonAttributesEnd ) )
  1715         {
  1725         {
  1716         retVal = GetServiceStringAttributeL( aAttribute, aGenRecordArray );
  1726         retVal = GetServiceStringAttributeL( aAttribute, aGenRecordArray );
  1717         }
  1727         }
  1718     else
  1728     else
  1719         {
  1729         {
  1727 // ---------------------------------------------------------------------------
  1737 // ---------------------------------------------------------------------------
  1728 // CCmPluginPacketData::GetServiceStringAttributeL
  1738 // CCmPluginPacketData::GetServiceStringAttributeL
  1729 // ---------------------------------------------------------------------------
  1739 // ---------------------------------------------------------------------------
  1730 //
  1740 //
  1731 HBufC* CCmPluginPacketData::GetServiceStringAttributeL(
  1741 HBufC* CCmPluginPacketData::GetServiceStringAttributeL(
  1732     TUint32 aAttribute,
  1742         TUint32 aAttribute,
  1733     RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray)
  1743         RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray )
  1734     {
  1744     {
  1735     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETSERVICESTRINGATTRIBUTEL_ENTRY );
  1745     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETSERVICESTRINGATTRIBUTEL_ENTRY );
  1736 
  1746 
  1737     HBufC* retVal = NULL;
  1747     HBufC* retVal = NULL;
  1738 
  1748 
  1739     CCDWCDMAPacketServiceRecord* serviceRecord =
  1749     CCDWCDMAPacketServiceRecord* serviceRecord =
  1740             static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
  1750             static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
  1741     switch( aAttribute )
  1751     switch ( aAttribute )
  1742         {
  1752         {
  1743         case ECmIFName:
  1753         case ECmIFName:
  1744         case EPacketDataAPName:
  1754         case EPacketDataAPName:
  1745             {
  1755             {
  1746             if ( !serviceRecord->iGPRSAPN.IsNull() )
  1756             retVal = TPtrC( serviceRecord->iGPRSAPN ).AllocL();
  1747                 {
       
  1748                 retVal = TPtrC( serviceRecord->iGPRSAPN ).AllocL();
       
  1749                 }
       
  1750             }
  1757             }
  1751             break;
  1758             break;
  1752         case EPacketDataPDPAddress:
  1759         case EPacketDataPDPAddress:
  1753             {
  1760             {
  1754             if ( !serviceRecord->iGPRSPDPAddress.IsNull() )
  1761             retVal = TPtrC( serviceRecord->iGPRSPDPAddress ).AllocL();
  1755                 {
       
  1756                 retVal = TPtrC( serviceRecord->iGPRSPDPAddress ).AllocL();
       
  1757                 }
       
  1758             }
  1762             }
  1759             break;
  1763             break;
  1760         case ECmIFParams:
  1764         case ECmIFParams:
  1761         case EPacketDataIFParams:
  1765         case EPacketDataIFParams:
  1762             {
  1766             {
  1763             if ( !serviceRecord->iGPRSIfParams.IsNull() )
  1767             retVal = TPtrC( serviceRecord->iGPRSIfParams ).AllocL();
  1764                 {
       
  1765                 retVal = TPtrC( serviceRecord->iGPRSIfParams ).AllocL();
       
  1766                 }
       
  1767             }
  1768             }
  1768             break;
  1769             break;
  1769         case ECmIFNetworks:
  1770         case ECmIFNetworks:
  1770         case EPacketDataIFNetworks:
  1771         case EPacketDataIFNetworks:
  1771             {
  1772             {
  1772             if ( !serviceRecord->iGPRSIfNetworks.IsNull() )
  1773             retVal = TPtrC( serviceRecord->iGPRSIfNetworks ).AllocL();
  1773                 {
       
  1774                 retVal = TPtrC( serviceRecord->iGPRSIfNetworks ).AllocL();
       
  1775                 }
       
  1776             }
  1774             }
  1777             break;
  1775             break;
  1778         case ECmIFAuthName:
  1776         case ECmIFAuthName:
  1779         case EPacketDataIFAuthName:
  1777         case EPacketDataIFAuthName:
  1780             {
  1778             {
  1781             if ( !serviceRecord->iGPRSIfAuthName.IsNull() )
  1779             retVal = TPtrC( serviceRecord->iGPRSIfAuthName ).AllocL();
  1782                 {
       
  1783                 retVal = TPtrC( serviceRecord->iGPRSIfAuthName ).AllocL();
       
  1784                 }
       
  1785             }
  1780             }
  1786             break;
  1781             break;
  1787         case ECmIFAuthPass:
  1782         case ECmIFAuthPass:
  1788         case EPacketDataIFAuthPass:
  1783         case EPacketDataIFAuthPass:
  1789             {
  1784             {
  1790             if ( !serviceRecord->iGPRSIfAuthPass.IsNull() )
  1785             retVal = TPtrC( serviceRecord->iGPRSIfAuthPass ).AllocL();
  1791                 {
       
  1792                 retVal = TPtrC( serviceRecord->iGPRSIfAuthPass ).AllocL();
       
  1793                 }
       
  1794             }
  1786             }
  1795             break;
  1787             break;
  1796         case ECmIPNetmask:
  1788         case ECmIPNetmask:
  1797         case EPacketDataIPNetmask:
  1789         case EPacketDataIPNetmask:
  1798             {
  1790             {
  1799             if ( !serviceRecord->iGPRSIPNetMask.IsNull() )
  1791             retVal = TPtrC( serviceRecord->iGPRSIPNetMask ).AllocL();
  1800                 {
       
  1801                 retVal = TPtrC( serviceRecord->iGPRSIPNetMask ).AllocL();
       
  1802                 }
       
  1803             }
  1792             }
  1804             break;
  1793             break;
  1805         case ECmIPGateway:
  1794         case ECmIPGateway:
  1806         case EPacketDataIPGateway:
  1795         case EPacketDataIPGateway:
  1807             {
  1796             {
  1808             if ( !serviceRecord->iGPRSIPGateway.IsNull() )
  1797             retVal = TPtrC( serviceRecord->iGPRSIPGateway ).AllocL();
  1809                 {
       
  1810                 retVal = TPtrC( serviceRecord->iGPRSIPGateway ).AllocL();
       
  1811                 }
       
  1812             }
  1798             }
  1813             break;
  1799             break;
  1814         case ECmIPAddress:
  1800         case ECmIPAddress:
  1815         case EPacketDataIPAddr:
  1801         case EPacketDataIPAddr:
  1816             {
  1802             {
  1817             if ( !serviceRecord->iGPRSIPAddr.IsNull() )
  1803             retVal = TPtrC( serviceRecord->iGPRSIPAddr ).AllocL();
  1818                 {
       
  1819                 retVal = TPtrC( serviceRecord->iGPRSIPAddr ).AllocL();
       
  1820                 }
       
  1821             }
  1804             }
  1822             break;
  1805             break;
  1823         case ECmIPNameServer1:
  1806         case ECmIPNameServer1:
  1824         case EPacketDataIPNameServer1:
  1807         case EPacketDataIPNameServer1:
  1825             {
  1808             {
  1826             if ( !serviceRecord->iGPRSIPNameServer1.IsNull() )
  1809             retVal = TPtrC( serviceRecord->iGPRSIPNameServer1 ).AllocL();
  1827                 {
       
  1828                 retVal = TPtrC( serviceRecord->iGPRSIPNameServer1 ).AllocL();
       
  1829                 }
       
  1830             }
  1810             }
  1831             break;
  1811             break;
  1832         case ECmIPNameServer2:
  1812         case ECmIPNameServer2:
  1833         case EPacketDataIPNameServer2:
  1813         case EPacketDataIPNameServer2:
  1834             {
  1814             {
  1835             if ( !serviceRecord->iGPRSIPNameServer2.IsNull() )
  1815             retVal = TPtrC( serviceRecord->iGPRSIPNameServer2 ).AllocL();
  1836                 {
       
  1837                 retVal = TPtrC( serviceRecord->iGPRSIPNameServer2 ).AllocL();
       
  1838                 }
       
  1839             }
  1816             }
  1840             break;
  1817             break;
  1841         case ECmIP6NameServer1:
  1818         case ECmIP6NameServer1:
  1842         case EPacketDataIPIP6NameServer1:
  1819         case EPacketDataIPIP6NameServer1:
  1843             {
  1820             {
  1844             if ( !serviceRecord->iGPRSIP6NameServer1.IsNull() )
  1821             retVal = TPtrC( serviceRecord->iGPRSIP6NameServer1 ).AllocL();
  1845                 {
       
  1846                 retVal = TPtrC( serviceRecord->iGPRSIP6NameServer1 ).AllocL();
       
  1847                 }
       
  1848             }
  1822             }
  1849             break;
  1823             break;
  1850         case ECmIP6NameServer2:
  1824         case ECmIP6NameServer2:
  1851         case EPacketDataIPIP6NameServer2:
  1825         case EPacketDataIPIP6NameServer2:
  1852             {
  1826             {
  1853             if ( !serviceRecord->iGPRSIP6NameServer2.IsNull() )
  1827             retVal = TPtrC( serviceRecord->iGPRSIP6NameServer2 ).AllocL();
  1854                 {
       
  1855                 retVal = TPtrC( serviceRecord->iGPRSIP6NameServer2 ).AllocL();
       
  1856                 }
       
  1857             }
  1828             }
  1858             break;
  1829             break;
  1859         case ECmIPAddrLeaseValidFrom:
  1830         case ECmIPAddrLeaseValidFrom:
  1860         case EPacketDataIPAddrLeaseValidFrom:
  1831         case EPacketDataIPAddrLeaseValidFrom:
  1861             {
  1832             {
  1862             if ( !serviceRecord->iGPRSIPAddrLeaseValidFrom.IsNull() )
  1833             retVal = TPtrC( serviceRecord->iGPRSIPAddrLeaseValidFrom ).AllocL();
  1863                 {
       
  1864                 retVal = TPtrC( serviceRecord->iGPRSIPAddrLeaseValidFrom ).AllocL();
       
  1865                 }
       
  1866             }
  1834             }
  1867             break;
  1835             break;
  1868         case ECmIPAddrLeaseValidTo:
  1836         case ECmIPAddrLeaseValidTo:
  1869         case EPacketDataIPAddrLeaseValidTo:
  1837         case EPacketDataIPAddrLeaseValidTo:
  1870             {
  1838             {
  1871             if ( !serviceRecord->iGPRSIPAddrLeaseValidTo.IsNull() )
  1839             retVal = TPtrC( serviceRecord->iGPRSIPAddrLeaseValidTo ).AllocL();
  1872                 {
       
  1873                 retVal = TPtrC( serviceRecord->iGPRSIPAddrLeaseValidTo ).AllocL();
       
  1874                 }
       
  1875             }
  1840             }
  1876             break;
  1841             break;
  1877         case ECmConfigDaemonManagerName:
  1842         case ECmConfigDaemonManagerName:
  1878         case EPacketDataConfigDaemonManagerName:
  1843         case EPacketDataConfigDaemonManagerName:
  1879             {
  1844             {
  1880             if ( !serviceRecord->iGPRSConfigDaemonManagerName.IsNull() )
  1845             retVal = TPtrC( serviceRecord->iGPRSConfigDaemonManagerName ).AllocL();
  1881                 {
       
  1882                 retVal = TPtrC( serviceRecord->iGPRSConfigDaemonManagerName ).AllocL();
       
  1883                 }
       
  1884             }
  1846             }
  1885             break;
  1847             break;
  1886         case ECmConfigDaemonName:
  1848         case ECmConfigDaemonName:
  1887         case EPacketDataConfigDaemonName:
  1849         case EPacketDataConfigDaemonName:
  1888             {
  1850             {
  1889             if ( !serviceRecord->iGPRSConfigDaemonName.IsNull() )
  1851             retVal = TPtrC( serviceRecord->iGPRSConfigDaemonName ).AllocL();
  1890                 {
       
  1891                 retVal = TPtrC( serviceRecord->iGPRSConfigDaemonName ).AllocL();
       
  1892                 }
       
  1893             }
  1852             }
  1894             break;
  1853             break;
  1895 
  1854 
  1896         default:
  1855         default:
  1897             {
  1856             {
  1899             }
  1858             }
  1900             break;
  1859             break;
  1901         }
  1860         }
  1902 
  1861 
  1903     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETSERVICESTRINGATTRIBUTEL_EXIT );
  1862     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETSERVICESTRINGATTRIBUTEL_EXIT );
  1904 
       
  1905     return retVal;
  1863     return retVal;
  1906     }
  1864     }
  1907 
  1865 
  1908 // ---------------------------------------------------------------------------
  1866 // ---------------------------------------------------------------------------
  1909 // CCmPluginPacketData::GetBearerString8AttributeL
  1867 // CCmPluginPacketData::GetBearerString8AttributeL
  1910 // ---------------------------------------------------------------------------
  1868 // ---------------------------------------------------------------------------
  1911 //
  1869 //
  1912 HBufC8* CCmPluginPacketData::GetBearerString8AttributeL( TUint32 /*aAttribute*/,
  1870 HBufC8* CCmPluginPacketData::GetBearerString8AttributeL( TUint32 /*aAttribute*/,
  1913                                               RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
  1871         RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
  1914                                               RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
  1872         RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
  1915     {
  1873     {
  1916     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERSTRING8ATTRIBUTEL_ENTRY );
  1874     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERSTRING8ATTRIBUTEL_ENTRY );
  1917 
  1875 
  1918     User::Leave( KErrNotSupported );
  1876     User::Leave( KErrNotSupported );
  1919 
  1877 
  1920     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERSTRING8ATTRIBUTEL_EXIT );
  1878     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERSTRING8ATTRIBUTEL_EXIT );
  1921 
       
  1922     return NULL;
  1879     return NULL;
  1923     }
  1880     }
  1924 
  1881 
  1925 // ---------------------------------------------------------------------------
  1882 // ---------------------------------------------------------------------------
  1926 // CCmPluginPacketData::SetBearerIntAttributeL
  1883 // CCmPluginPacketData::SetBearerIntAttributeL
  1927 // ---------------------------------------------------------------------------
  1884 // ---------------------------------------------------------------------------
  1928 //
  1885 //
  1929 void CCmPluginPacketData::SetBearerIntAttributeL( TUint32 aAttribute, TUint32 aValue,
  1886 void CCmPluginPacketData::SetBearerIntAttributeL(
  1930                                        RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
  1887         TUint32 aAttribute,
  1931                                        RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
  1888         TUint32 aValue,
       
  1889         RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
       
  1890         RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
  1932     {
  1891     {
  1933     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_SETBEARERINTATTRIBUTEL_ENTRY );
  1892     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_SETBEARERINTATTRIBUTEL_ENTRY );
  1934 
  1893 
  1935     if ( aAttribute >= EPacketDataSpecificAttributes && aAttribute < EPacketDataServiceEnableLLMNR )
  1894     if ( aAttribute >= EPacketDataSpecificAttributes && aAttribute < EPacketDataServiceEnableLLMNR )
  1936         {
  1895         {
  1942         }
  1901         }
  1943     else
  1902     else
  1944         {
  1903         {
  1945         User::Leave( KErrNotFound );
  1904         User::Leave( KErrNotFound );
  1946         }
  1905         }
       
  1906 
  1947     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_SETBEARERINTATTRIBUTEL_EXIT );
  1907     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_SETBEARERINTATTRIBUTEL_EXIT );
  1948     }
  1908     }
  1949 
  1909 
  1950 // ---------------------------------------------------------------------------
  1910 // ---------------------------------------------------------------------------
  1951 // CCmPluginPacketData::SetServiceIntAttributeL
  1911 // CCmPluginPacketData::SetServiceIntAttributeL
  2238     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_SETBEARERBOOLATTRIBUTEL_ENTRY );
  2198     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_SETBEARERBOOLATTRIBUTEL_ENTRY );
  2239 
  2199 
  2240     CCDWCDMAPacketServiceRecord* serviceRecord =
  2200     CCDWCDMAPacketServiceRecord* serviceRecord =
  2241                     static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
  2201                     static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
  2242 
  2202 
  2243     switch( aAttribute )
  2203     switch ( aAttribute )
  2244         {
  2204         {
  2245         case EPacketDataOutGoing:
  2205         case EPacketDataOutGoing:
  2246             {
  2206             {
  2247             iOutgoing = aValue;
  2207             iOutgoing = aValue;
  2248             }
  2208             }
  2518 TUint32 CCmPluginPacketData::GetBearerInfoIntL( TUint32 aAttribute ) const
  2478 TUint32 CCmPluginPacketData::GetBearerInfoIntL( TUint32 aAttribute ) const
  2519     {
  2479     {
  2520     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOINTL_ENTRY );
  2480     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOINTL_ENTRY );
  2521 
  2481 
  2522     TUint32 retVal( 0 );
  2482     TUint32 retVal( 0 );
  2523     switch( aAttribute )
  2483     switch ( aAttribute )
  2524         {
  2484         {
  2525         case ECmBearerType:
  2485         case ECmBearerType:
  2526             {
  2486             {
  2527             retVal = iBearerType;
  2487             retVal = iBearerType;
  2528             }
  2488             }
  2564 TBool CCmPluginPacketData::GetBearerInfoBoolL( TUint32 aAttribute ) const
  2524 TBool CCmPluginPacketData::GetBearerInfoBoolL( TUint32 aAttribute ) const
  2565     {
  2525     {
  2566     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOBOOLL_ENTRY );
  2526     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOBOOLL_ENTRY );
  2567 
  2527 
  2568     TBool retVal( EFalse );
  2528     TBool retVal( EFalse );
  2569     switch( aAttribute )
  2529     switch ( aAttribute )
  2570         {
  2530         {
  2571         case ECmCoverage:
  2531         case ECmCoverage:
  2572             {
  2532             {
  2573 #ifndef __WINS__
  2533 #ifndef __WINS__
  2574             CCmPDCoverageCheck* coverage = new (ELeave) CCmPDCoverageCheck;
  2534             CCmPDCoverageCheck* coverage = new (ELeave) CCmPDCoverageCheck;
  2623 HBufC* CCmPluginPacketData::GetBearerInfoStringL( TUint32 aAttribute ) const
  2583 HBufC* CCmPluginPacketData::GetBearerInfoStringL( TUint32 aAttribute ) const
  2624     {
  2584     {
  2625     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRINGL_ENTRY );
  2585     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRINGL_ENTRY );
  2626 
  2586 
  2627     HBufC* retVal( NULL );
  2587     HBufC* retVal( NULL );
  2628     switch( aAttribute )
  2588     switch ( aAttribute )
  2629         {
  2589         {
  2630         default:
  2590         default:
  2631             {
  2591             {
  2632             User::Leave( KErrNotSupported );
  2592             User::Leave( KErrNotSupported );
  2633             }
  2593             }
  2646 HBufC8* CCmPluginPacketData::GetBearerInfoString8L( TUint32 aAttribute ) const
  2606 HBufC8* CCmPluginPacketData::GetBearerInfoString8L( TUint32 aAttribute ) const
  2647     {
  2607     {
  2648     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRING8L_ENTRY );
  2608     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRING8L_ENTRY );
  2649 
  2609 
  2650     HBufC8* retVal( NULL );
  2610     HBufC8* retVal( NULL );
  2651     switch( aAttribute )
  2611     switch ( aAttribute )
  2652         {
  2612         {
  2653         default:
  2613         default:
  2654             {
  2614             {
  2655 
       
  2656             User::Leave( KErrNotSupported );
  2615             User::Leave( KErrNotSupported );
  2657             }
  2616             }
  2658         break;
  2617             break;
  2659         }
  2618         }
  2660 
  2619 
  2661     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRING8L_EXIT );
  2620     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRING8L_EXIT );
  2662 
       
  2663     return retVal;
  2621     return retVal;
  2664     }
  2622     }
  2665 
  2623 
  2666 // ---------------------------------------------------------------------------
  2624 // ---------------------------------------------------------------------------
  2667 // CCmPluginPacketData::PrepareToCopyDataL
  2625 // CCmPluginPacketData::PrepareToCopyDataL
  2670 void CCmPluginPacketData::PrepareToCopyDataL( CCmPluginBaseEng* aCopyInstance )
  2628 void CCmPluginPacketData::PrepareToCopyDataL( CCmPluginBaseEng* aCopyInstance )
  2671     {
  2629     {
  2672     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_PREPARETOCOPYDATAL_ENTRY );
  2630     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_PREPARETOCOPYDATAL_ENTRY );
  2673 
  2631 
  2674     CCmPluginPacketData* plugin = static_cast<CCmPluginPacketData*>( aCopyInstance );
  2632     CCmPluginPacketData* plugin = static_cast<CCmPluginPacketData*>( aCopyInstance );
  2675 
       
  2676     plugin->iOutgoing = iOutgoing;
  2633     plugin->iOutgoing = iOutgoing;
  2677 
  2634 
  2678     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_PREPARETOCOPYDATAL_EXIT );
  2635     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_PREPARETOCOPYDATAL_EXIT );
  2679     }
  2636     }
  2680 
  2637 
  2684 //
  2641 //
  2685 CommsDat::CCDRecordBase* CCmPluginPacketData::CopyServiceRecordL()
  2642 CommsDat::CCDRecordBase* CCmPluginPacketData::CopyServiceRecordL()
  2686     {
  2643     {
  2687     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_COPYSERVICERECORDL_ENTRY );
  2644     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_COPYSERVICERECORDL_ENTRY );
  2688 
  2645 
  2689     __ASSERT_ALWAYS( iServiceRecord != NULL, User::Leave( KErrNotFound ));
  2646     // New service record to be returned.
  2690 
  2647     CCDRecordBase* serviceRecord = NULL;
       
  2648     if ( iOutgoing )
       
  2649         {
       
  2650         serviceRecord = static_cast<CCDWCDMAPacketServiceRecord*>(
       
  2651                 CCDRecordBase::RecordFactoryL( KCDTIdOutgoingGprsRecord ) );
       
  2652         }
       
  2653     else
       
  2654         {
       
  2655         serviceRecord = static_cast<CCDWCDMAPacketServiceRecord*>(
       
  2656                 CCDRecordBase::RecordFactoryL( KCDTIdIncomingGprsRecord ) );
       
  2657         }
       
  2658     CleanupStack::PushL( serviceRecord );
       
  2659 
       
  2660     CCDWCDMAPacketServiceRecord* tempServiceRecordPtrToNew =
       
  2661             static_cast<CCDWCDMAPacketServiceRecord*>( serviceRecord );
       
  2662 
       
  2663     // CommsDat version of service record.
  2691     CCDWCDMAPacketServiceRecord* origServiceRecord =
  2664     CCDWCDMAPacketServiceRecord* origServiceRecord =
  2692             static_cast<CCDWCDMAPacketServiceRecord*>( iServiceRecord );
  2665             static_cast<CCDWCDMAPacketServiceRecord*>( iServiceRecord );
  2693 
  2666 
  2694     // New service record
  2667     if ( !origServiceRecord->iRecordTag.IsNull() )
  2695     CCDWCDMAPacketServiceRecord* serviceRecord = NULL;
  2668         {
  2696     if ( iOutgoing )
  2669         tempServiceRecordPtrToNew->iRecordTag.SetL(
  2697         {
  2670                 origServiceRecord->iRecordTag );
  2698         serviceRecord = static_cast<CCDWCDMAPacketServiceRecord *>(
  2671         }
  2699                 CCDRecordBase::RecordFactoryL( KCDTIdOutgoingGprsRecord ) );
  2672     if ( !origServiceRecord->iRecordName.IsNull() )
  2700         }
  2673         {
  2701     else
  2674         tempServiceRecordPtrToNew->iRecordName.SetL(
  2702         {
  2675                 origServiceRecord->iRecordName );
  2703         serviceRecord = static_cast<CCDWCDMAPacketServiceRecord *>(
  2676         }
  2704                 CCDRecordBase::RecordFactoryL( KCDTIdIncomingGprsRecord ) );
       
  2705         }
       
  2706 
       
  2707     CleanupStack::PushL( serviceRecord );
       
  2708 
       
  2709     serviceRecord->iRecordName.SetL( origServiceRecord->iRecordName );
       
  2710 
  2677 
  2711     if ( !origServiceRecord->iServiceEnableLlmnr.IsNull() )
  2678     if ( !origServiceRecord->iServiceEnableLlmnr.IsNull() )
  2712         {
  2679         {
  2713         serviceRecord->iServiceEnableLlmnr.SetL( origServiceRecord->iServiceEnableLlmnr );
  2680         tempServiceRecordPtrToNew->iServiceEnableLlmnr.SetL(
       
  2681                 origServiceRecord->iServiceEnableLlmnr );
  2714         }
  2682         }
  2715 
  2683 
  2716     if ( !origServiceRecord->iGPRSAPN.IsNull() )
  2684     if ( !origServiceRecord->iGPRSAPN.IsNull() )
  2717         {
  2685         {
  2718         serviceRecord->iGPRSAPN.SetL( origServiceRecord->iGPRSAPN );
  2686         tempServiceRecordPtrToNew->iGPRSAPN.SetL(
       
  2687                 origServiceRecord->iGPRSAPN );
  2719         }
  2688         }
  2720     if ( !origServiceRecord->iGPRSPDPType.IsNull() )
  2689     if ( !origServiceRecord->iGPRSPDPType.IsNull() )
  2721         {
  2690         {
  2722         serviceRecord->iGPRSPDPType.SetL( origServiceRecord->iGPRSPDPType );
  2691         tempServiceRecordPtrToNew->iGPRSPDPType.SetL(
       
  2692                 origServiceRecord->iGPRSPDPType );
  2723         }
  2693         }
  2724     if ( !origServiceRecord->iGPRSPDPAddress.IsNull() )
  2694     if ( !origServiceRecord->iGPRSPDPAddress.IsNull() )
  2725         {
  2695         {
  2726         serviceRecord->iGPRSPDPAddress.SetL( origServiceRecord->iGPRSPDPAddress );
  2696         tempServiceRecordPtrToNew->iGPRSPDPAddress.SetL(
       
  2697                 origServiceRecord->iGPRSPDPAddress );
  2727         }
  2698         }
  2728     if ( !origServiceRecord->iGPRSReqPrecedence.IsNull() )
  2699     if ( !origServiceRecord->iGPRSReqPrecedence.IsNull() )
  2729         {
  2700         {
  2730         serviceRecord->iGPRSReqPrecedence.SetL( origServiceRecord->iGPRSReqPrecedence );
  2701         tempServiceRecordPtrToNew->iGPRSReqPrecedence.SetL(
       
  2702                 origServiceRecord->iGPRSReqPrecedence );
  2731         }
  2703         }
  2732     if ( !origServiceRecord->iGPRSReqDelay.IsNull() )
  2704     if ( !origServiceRecord->iGPRSReqDelay.IsNull() )
  2733         {
  2705         {
  2734         serviceRecord->iGPRSReqDelay.SetL( origServiceRecord->iGPRSReqDelay );
  2706         tempServiceRecordPtrToNew->iGPRSReqDelay.SetL(
       
  2707                 origServiceRecord->iGPRSReqDelay );
  2735         }
  2708         }
  2736     if ( !origServiceRecord->iGPRSReqReliability.IsNull() )
  2709     if ( !origServiceRecord->iGPRSReqReliability.IsNull() )
  2737         {
  2710         {
  2738         serviceRecord->iGPRSReqReliability.SetL( origServiceRecord->iGPRSReqReliability );
  2711         tempServiceRecordPtrToNew->iGPRSReqReliability.SetL(
       
  2712                 origServiceRecord->iGPRSReqReliability );
  2739         }
  2713         }
  2740     if ( !origServiceRecord->iGPRSReqPeakThroughput.IsNull() )
  2714     if ( !origServiceRecord->iGPRSReqPeakThroughput.IsNull() )
  2741         {
  2715         {
  2742         serviceRecord->iGPRSReqPeakThroughput.SetL( origServiceRecord->iGPRSReqPeakThroughput );
  2716         tempServiceRecordPtrToNew->iGPRSReqPeakThroughput.SetL(
       
  2717                 origServiceRecord->iGPRSReqPeakThroughput );
  2743         }
  2718         }
  2744     if ( !origServiceRecord->iGPRSReqMeanThroughput.IsNull() )
  2719     if ( !origServiceRecord->iGPRSReqMeanThroughput.IsNull() )
  2745         {
  2720         {
  2746         serviceRecord->iGPRSReqMeanThroughput.SetL( origServiceRecord->iGPRSReqMeanThroughput );
  2721         tempServiceRecordPtrToNew->iGPRSReqMeanThroughput.SetL(
       
  2722                 origServiceRecord->iGPRSReqMeanThroughput );
  2747         }
  2723         }
  2748     if ( !origServiceRecord->iGPRSMinPrecedence.IsNull() )
  2724     if ( !origServiceRecord->iGPRSMinPrecedence.IsNull() )
  2749         {
  2725         {
  2750         serviceRecord->iGPRSMinPrecedence.SetL( origServiceRecord->iGPRSMinPrecedence );
  2726         tempServiceRecordPtrToNew->iGPRSMinPrecedence.SetL(
       
  2727                 origServiceRecord->iGPRSMinPrecedence );
  2751         }
  2728         }
  2752     if ( !origServiceRecord->iGPRSMinDelay.IsNull() )
  2729     if ( !origServiceRecord->iGPRSMinDelay.IsNull() )
  2753         {
  2730         {
  2754         serviceRecord->iGPRSMinDelay.SetL( origServiceRecord->iGPRSMinDelay );
  2731         tempServiceRecordPtrToNew->iGPRSMinDelay.SetL(
       
  2732                 origServiceRecord->iGPRSMinDelay );
  2755         }
  2733         }
  2756     if ( !origServiceRecord->iGPRSMinReliability.IsNull() )
  2734     if ( !origServiceRecord->iGPRSMinReliability.IsNull() )
  2757         {
  2735         {
  2758         serviceRecord->iGPRSMinReliability.SetL( origServiceRecord->iGPRSMinReliability );
  2736         tempServiceRecordPtrToNew->iGPRSMinReliability.SetL(
       
  2737                 origServiceRecord->iGPRSMinReliability );
  2759         }
  2738         }
  2760     if ( !origServiceRecord->iGPRSMinPeakThroughput.IsNull() )
  2739     if ( !origServiceRecord->iGPRSMinPeakThroughput.IsNull() )
  2761         {
  2740         {
  2762         serviceRecord->iGPRSMinPeakThroughput.SetL( origServiceRecord->iGPRSMinPeakThroughput );
  2741         tempServiceRecordPtrToNew->iGPRSMinPeakThroughput.SetL(
       
  2742                 origServiceRecord->iGPRSMinPeakThroughput );
  2763         }
  2743         }
  2764     if ( !origServiceRecord->iGPRSMinMeanThroughput.IsNull() )
  2744     if ( !origServiceRecord->iGPRSMinMeanThroughput.IsNull() )
  2765         {
  2745         {
  2766         serviceRecord->iGPRSMinMeanThroughput.SetL( origServiceRecord->iGPRSMinMeanThroughput );
  2746         tempServiceRecordPtrToNew->iGPRSMinMeanThroughput.SetL(
       
  2747                 origServiceRecord->iGPRSMinMeanThroughput );
  2767         }
  2748         }
  2768     if ( !origServiceRecord->iGPRSDataCompression.IsNull() )
  2749     if ( !origServiceRecord->iGPRSDataCompression.IsNull() )
  2769         {
  2750         {
  2770         serviceRecord->iGPRSDataCompression.SetL( origServiceRecord->iGPRSDataCompression );
  2751         tempServiceRecordPtrToNew->iGPRSDataCompression.SetL(
       
  2752                 origServiceRecord->iGPRSDataCompression );
  2771         }
  2753         }
  2772     if ( !origServiceRecord->iGPRSHeaderCompression.IsNull() )
  2754     if ( !origServiceRecord->iGPRSHeaderCompression.IsNull() )
  2773         {
  2755         {
  2774         serviceRecord->iGPRSHeaderCompression.SetL( origServiceRecord->iGPRSHeaderCompression );
  2756         tempServiceRecordPtrToNew->iGPRSHeaderCompression.SetL(
       
  2757                 origServiceRecord->iGPRSHeaderCompression );
  2775         }
  2758         }
  2776     if ( !origServiceRecord->iGPRSUseEdge.IsNull() )
  2759     if ( !origServiceRecord->iGPRSUseEdge.IsNull() )
  2777         {
  2760         {
  2778         serviceRecord->iGPRSUseEdge.SetL( origServiceRecord->iGPRSUseEdge );
  2761         tempServiceRecordPtrToNew->iGPRSUseEdge.SetL(
       
  2762                 origServiceRecord->iGPRSUseEdge );
  2779         }
  2763         }
  2780     if ( !origServiceRecord->iGPRSAnonymousAccess.IsNull() )
  2764     if ( !origServiceRecord->iGPRSAnonymousAccess.IsNull() )
  2781         {
  2765         {
  2782         serviceRecord->iGPRSAnonymousAccess.SetL( origServiceRecord->iGPRSAnonymousAccess );
  2766         tempServiceRecordPtrToNew->iGPRSAnonymousAccess.SetL(
       
  2767                 origServiceRecord->iGPRSAnonymousAccess );
  2783         }
  2768         }
  2784     if ( !origServiceRecord->iGPRSIfParams.IsNull() )
  2769     if ( !origServiceRecord->iGPRSIfParams.IsNull() )
  2785         {
  2770         {
  2786         serviceRecord->iGPRSIfParams.SetL( origServiceRecord->iGPRSIfParams );
  2771         tempServiceRecordPtrToNew->iGPRSIfParams.SetL(
       
  2772                 origServiceRecord->iGPRSIfParams );
  2787         }
  2773         }
  2788     if ( !origServiceRecord->iGPRSIfNetworks.IsNull() )
  2774     if ( !origServiceRecord->iGPRSIfNetworks.IsNull() )
  2789         {
  2775         {
  2790         serviceRecord->iGPRSIfNetworks.SetL( origServiceRecord->iGPRSIfNetworks );
  2776         tempServiceRecordPtrToNew->iGPRSIfNetworks.SetL(
       
  2777                 origServiceRecord->iGPRSIfNetworks );
  2791         }
  2778         }
  2792     if ( !origServiceRecord->iGPRSIfPromptForAuth.IsNull() )
  2779     if ( !origServiceRecord->iGPRSIfPromptForAuth.IsNull() )
  2793         {
  2780         {
  2794         serviceRecord->iGPRSIfPromptForAuth.SetL( origServiceRecord->iGPRSIfPromptForAuth );
  2781         tempServiceRecordPtrToNew->iGPRSIfPromptForAuth.SetL(
       
  2782                 origServiceRecord->iGPRSIfPromptForAuth );
  2795         }
  2783         }
  2796     if ( !origServiceRecord->iGPRSIfAuthName.IsNull() )
  2784     if ( !origServiceRecord->iGPRSIfAuthName.IsNull() )
  2797         {
  2785         {
  2798         serviceRecord->iGPRSIfAuthName.SetL( origServiceRecord->iGPRSIfAuthName );
  2786         tempServiceRecordPtrToNew->iGPRSIfAuthName.SetL(
       
  2787                 origServiceRecord->iGPRSIfAuthName );
  2799         }
  2788         }
  2800     if ( !origServiceRecord->iGPRSIfAuthPass.IsNull() )
  2789     if ( !origServiceRecord->iGPRSIfAuthPass.IsNull() )
  2801         {
  2790         {
  2802         serviceRecord->iGPRSIfAuthPass.SetL( origServiceRecord->iGPRSIfAuthPass );
  2791         tempServiceRecordPtrToNew->iGPRSIfAuthPass.SetL(
       
  2792                 origServiceRecord->iGPRSIfAuthPass );
  2803         }
  2793         }
  2804     if ( !origServiceRecord->iGPRSIfAuthRetries.IsNull() )
  2794     if ( !origServiceRecord->iGPRSIfAuthRetries.IsNull() )
  2805         {
  2795         {
  2806         serviceRecord->iGPRSIfAuthRetries.SetL( origServiceRecord->iGPRSIfAuthRetries );
  2796         tempServiceRecordPtrToNew->iGPRSIfAuthRetries.SetL(
       
  2797                 origServiceRecord->iGPRSIfAuthRetries );
  2807         }
  2798         }
  2808     if ( !origServiceRecord->iGPRSIPNetMask.IsNull() )
  2799     if ( !origServiceRecord->iGPRSIPNetMask.IsNull() )
  2809         {
  2800         {
  2810         serviceRecord->iGPRSIPNetMask.SetL( origServiceRecord->iGPRSIPNetMask );
  2801         tempServiceRecordPtrToNew->iGPRSIPNetMask.SetL(
       
  2802                 origServiceRecord->iGPRSIPNetMask );
  2811         }
  2803         }
  2812     if ( !origServiceRecord->iGPRSIPGateway.IsNull() )
  2804     if ( !origServiceRecord->iGPRSIPGateway.IsNull() )
  2813         {
  2805         {
  2814         serviceRecord->iGPRSIPGateway.SetL( origServiceRecord->iGPRSIPGateway );
  2806         tempServiceRecordPtrToNew->iGPRSIPGateway.SetL(
       
  2807                 origServiceRecord->iGPRSIPGateway );
  2815         }
  2808         }
  2816     if ( !origServiceRecord->iGPRSIPAddrFromServer.IsNull() )
  2809     if ( !origServiceRecord->iGPRSIPAddrFromServer.IsNull() )
  2817         {
  2810         {
  2818         serviceRecord->iGPRSIPAddrFromServer.SetL( origServiceRecord->iGPRSIPAddrFromServer );
  2811         tempServiceRecordPtrToNew->iGPRSIPAddrFromServer.SetL(
       
  2812                 origServiceRecord->iGPRSIPAddrFromServer );
  2819         }
  2813         }
  2820     if ( !origServiceRecord->iGPRSIPAddr.IsNull() )
  2814     if ( !origServiceRecord->iGPRSIPAddr.IsNull() )
  2821         {
  2815         {
  2822         serviceRecord->iGPRSIPAddr.SetL( origServiceRecord->iGPRSIPAddr );
  2816         tempServiceRecordPtrToNew->iGPRSIPAddr.SetL(
       
  2817                 origServiceRecord->iGPRSIPAddr );
  2823         }
  2818         }
  2824     if ( !origServiceRecord->iGPRSIPDNSAddrFromServer.IsNull() )
  2819     if ( !origServiceRecord->iGPRSIPDNSAddrFromServer.IsNull() )
  2825         {
  2820         {
  2826         serviceRecord->iGPRSIPDNSAddrFromServer.SetL( origServiceRecord->iGPRSIPDNSAddrFromServer );
  2821         tempServiceRecordPtrToNew->iGPRSIPDNSAddrFromServer.SetL(
       
  2822                 origServiceRecord->iGPRSIPDNSAddrFromServer );
  2827         }
  2823         }
  2828     if ( !origServiceRecord->iGPRSIPNameServer1.IsNull() )
  2824     if ( !origServiceRecord->iGPRSIPNameServer1.IsNull() )
  2829         {
  2825         {
  2830         serviceRecord->iGPRSIPNameServer1.SetL( origServiceRecord->iGPRSIPNameServer1 );
  2826         tempServiceRecordPtrToNew->iGPRSIPNameServer1.SetL(
       
  2827                 origServiceRecord->iGPRSIPNameServer1 );
  2831         }
  2828         }
  2832     if ( !origServiceRecord->iGPRSIPNameServer2.IsNull() )
  2829     if ( !origServiceRecord->iGPRSIPNameServer2.IsNull() )
  2833         {
  2830         {
  2834         serviceRecord->iGPRSIPNameServer2.SetL( origServiceRecord->iGPRSIPNameServer2 );
  2831         tempServiceRecordPtrToNew->iGPRSIPNameServer2.SetL(
       
  2832                 origServiceRecord->iGPRSIPNameServer2 );
  2835         }
  2833         }
  2836     if ( !origServiceRecord->iGPRSIP6DNSAddrFromServer.IsNull() )
  2834     if ( !origServiceRecord->iGPRSIP6DNSAddrFromServer.IsNull() )
  2837         {
  2835         {
  2838         serviceRecord->iGPRSIP6DNSAddrFromServer.SetL( origServiceRecord->iGPRSIP6DNSAddrFromServer );
  2836         tempServiceRecordPtrToNew->iGPRSIP6DNSAddrFromServer.SetL(
       
  2837                 origServiceRecord->iGPRSIP6DNSAddrFromServer );
  2839         }
  2838         }
  2840     if ( !origServiceRecord->iGPRSIP6NameServer1.IsNull() )
  2839     if ( !origServiceRecord->iGPRSIP6NameServer1.IsNull() )
  2841         {
  2840         {
  2842         serviceRecord->iGPRSIP6NameServer1.SetL( origServiceRecord->iGPRSIP6NameServer1 );
  2841         tempServiceRecordPtrToNew->iGPRSIP6NameServer1.SetL(
       
  2842                 origServiceRecord->iGPRSIP6NameServer1 );
  2843         }
  2843         }
  2844     if ( !origServiceRecord->iGPRSIP6NameServer2.IsNull() )
  2844     if ( !origServiceRecord->iGPRSIP6NameServer2.IsNull() )
  2845         {
  2845         {
  2846         serviceRecord->iGPRSIP6NameServer2.SetL( origServiceRecord->iGPRSIP6NameServer2 );
  2846         tempServiceRecordPtrToNew->iGPRSIP6NameServer2.SetL(
       
  2847                 origServiceRecord->iGPRSIP6NameServer2 );
  2847         }
  2848         }
  2848     if ( !origServiceRecord->iGPRSIPAddrLeaseValidFrom.IsNull() )
  2849     if ( !origServiceRecord->iGPRSIPAddrLeaseValidFrom.IsNull() )
  2849         {
  2850         {
  2850         serviceRecord->iGPRSIPAddrLeaseValidFrom.SetL( origServiceRecord->iGPRSIPAddrLeaseValidFrom );
  2851         tempServiceRecordPtrToNew->iGPRSIPAddrLeaseValidFrom.SetL(
       
  2852                 origServiceRecord->iGPRSIPAddrLeaseValidFrom );
  2851         }
  2853         }
  2852     if ( !origServiceRecord->iGPRSIPAddrLeaseValidTo.IsNull() )
  2854     if ( !origServiceRecord->iGPRSIPAddrLeaseValidTo.IsNull() )
  2853         {
  2855         {
  2854         serviceRecord->iGPRSIPAddrLeaseValidTo.SetL( origServiceRecord->iGPRSIPAddrLeaseValidTo );
  2856         tempServiceRecordPtrToNew->iGPRSIPAddrLeaseValidTo.SetL(
       
  2857                 origServiceRecord->iGPRSIPAddrLeaseValidTo );
  2855         }
  2858         }
  2856     if ( !origServiceRecord->iGPRSConfigDaemonManagerName.IsNull() )
  2859     if ( !origServiceRecord->iGPRSConfigDaemonManagerName.IsNull() )
  2857         {
  2860         {
  2858         serviceRecord->iGPRSConfigDaemonManagerName.SetL( origServiceRecord->iGPRSConfigDaemonManagerName );
  2861         tempServiceRecordPtrToNew->iGPRSConfigDaemonManagerName.SetL(
       
  2862                 origServiceRecord->iGPRSConfigDaemonManagerName );
  2859         }
  2863         }
  2860     if ( !origServiceRecord->iGPRSConfigDaemonName.IsNull() )
  2864     if ( !origServiceRecord->iGPRSConfigDaemonName.IsNull() )
  2861         {
  2865         {
  2862         serviceRecord->iGPRSConfigDaemonName.SetL( origServiceRecord->iGPRSConfigDaemonName );
  2866         tempServiceRecordPtrToNew->iGPRSConfigDaemonName.SetL(
       
  2867                 origServiceRecord->iGPRSConfigDaemonName );
  2863         }
  2868         }
  2864     if ( !origServiceRecord->iGPRSEnableLCPExtension.IsNull() )
  2869     if ( !origServiceRecord->iGPRSEnableLCPExtension.IsNull() )
  2865         {
  2870         {
  2866         serviceRecord->iGPRSEnableLCPExtension.SetL( origServiceRecord->iGPRSEnableLCPExtension );
  2871         tempServiceRecordPtrToNew->iGPRSEnableLCPExtension.SetL(
       
  2872                 origServiceRecord->iGPRSEnableLCPExtension );
  2867         }
  2873         }
  2868     if ( !origServiceRecord->iGPRSDisablePlainTextAuth.IsNull() )
  2874     if ( !origServiceRecord->iGPRSDisablePlainTextAuth.IsNull() )
  2869         {
  2875         {
  2870         serviceRecord->iGPRSDisablePlainTextAuth.SetL( origServiceRecord->iGPRSDisablePlainTextAuth );
  2876         tempServiceRecordPtrToNew->iGPRSDisablePlainTextAuth.SetL(
       
  2877                 origServiceRecord->iGPRSDisablePlainTextAuth );
  2871         }
  2878         }
  2872     if ( !origServiceRecord->iGPRSAPType.IsNull() )
  2879     if ( !origServiceRecord->iGPRSAPType.IsNull() )
  2873         {
  2880         {
  2874         serviceRecord->iGPRSAPType.SetL( origServiceRecord->iGPRSAPType );
  2881         tempServiceRecordPtrToNew->iGPRSAPType.SetL(
       
  2882                 origServiceRecord->iGPRSAPType );
  2875         }
  2883         }
  2876     if ( !origServiceRecord->iGPRSQOSWarningTimeOut.IsNull() )
  2884     if ( !origServiceRecord->iGPRSQOSWarningTimeOut.IsNull() )
  2877         {
  2885         {
  2878         serviceRecord->iGPRSQOSWarningTimeOut.SetL( origServiceRecord->iGPRSQOSWarningTimeOut );
  2886         tempServiceRecordPtrToNew->iGPRSQOSWarningTimeOut.SetL(
       
  2887                 origServiceRecord->iGPRSQOSWarningTimeOut );
  2879         }
  2888         }
  2880     if ( !origServiceRecord->iUmtsR99QoSAndOnTable.IsNull() )
  2889     if ( !origServiceRecord->iUmtsR99QoSAndOnTable.IsNull() )
  2881         {
  2890         {
  2882         serviceRecord->iUmtsR99QoSAndOnTable.SetL( origServiceRecord->iUmtsR99QoSAndOnTable );
  2891         tempServiceRecordPtrToNew->iUmtsR99QoSAndOnTable.SetL(
       
  2892                 origServiceRecord->iUmtsR99QoSAndOnTable );
  2883         }
  2893         }
  2884     if ( !origServiceRecord->iGPRSR5DataCompression.IsNull() )
  2894     if ( !origServiceRecord->iGPRSR5DataCompression.IsNull() )
  2885         {
  2895         {
  2886         serviceRecord->iGPRSR5DataCompression.SetL( origServiceRecord->iGPRSR5DataCompression );
  2896         tempServiceRecordPtrToNew->iGPRSR5DataCompression.SetL(
       
  2897                 origServiceRecord->iGPRSR5DataCompression );
  2887         }
  2898         }
  2888     if ( !origServiceRecord->iGPRSR5HeaderCompression.IsNull() )
  2899     if ( !origServiceRecord->iGPRSR5HeaderCompression.IsNull() )
  2889         {
  2900         {
  2890         serviceRecord->iGPRSR5HeaderCompression.SetL( origServiceRecord->iGPRSR5HeaderCompression );
  2901         tempServiceRecordPtrToNew->iGPRSR5HeaderCompression.SetL(
       
  2902                 origServiceRecord->iGPRSR5HeaderCompression );
  2891         }
  2903         }
  2892     if ( !origServiceRecord->iGPRSPacketFlowIdentifier.IsNull() )
  2904     if ( !origServiceRecord->iGPRSPacketFlowIdentifier.IsNull() )
  2893         {
  2905         {
  2894         serviceRecord->iGPRSPacketFlowIdentifier.SetL( origServiceRecord->iGPRSPacketFlowIdentifier );
  2906         tempServiceRecordPtrToNew->iGPRSPacketFlowIdentifier.SetL(
       
  2907                 origServiceRecord->iGPRSPacketFlowIdentifier );
  2895         }
  2908         }
  2896     if ( !origServiceRecord->iGPRSUmtsGprsRelease.IsNull() )
  2909     if ( !origServiceRecord->iGPRSUmtsGprsRelease.IsNull() )
  2897         {
  2910         {
  2898         serviceRecord->iGPRSUmtsGprsRelease.SetL( origServiceRecord->iGPRSUmtsGprsRelease );
  2911         tempServiceRecordPtrToNew->iGPRSUmtsGprsRelease.SetL(
       
  2912                 origServiceRecord->iGPRSUmtsGprsRelease );
  2899         }
  2913         }
  2900 
  2914 
  2901     CleanupStack::Pop( serviceRecord );
  2915     CleanupStack::Pop( serviceRecord );
  2902 
  2916 
  2903     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_COPYSERVICERECORDL_EXIT );
  2917     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_COPYSERVICERECORDL_EXIT );
  2932         OstTraceFunctionExit0( CCMPLUGINPACKETDATA_DELETEBEARERRECORDSL_EXIT );
  2946         OstTraceFunctionExit0( CCMPLUGINPACKETDATA_DELETEBEARERRECORDSL_EXIT );
  2933         return;
  2947         return;
  2934         }
  2948         }
  2935 
  2949 
  2936     iPacketDataQoSRecord->DeleteL( iSession );
  2950     iPacketDataQoSRecord->DeleteL( iSession );
  2937     iPacketDataQoSRecord = NULL;
       
  2938 
  2951 
  2939     OstTraceFunctionExit0( DUP1_CCMPLUGINPACKETDATA_DELETEBEARERRECORDSL_EXIT );
  2952     OstTraceFunctionExit0( DUP1_CCMPLUGINPACKETDATA_DELETEBEARERRECORDSL_EXIT );
  2940     }
  2953     }
  2941 
  2954 
  2942 // ---------------------------------------------------------------------------
  2955 // ---------------------------------------------------------------------------