cmmanager/cmmgr/Plugins/cmpluginvpn/src/cmpluginvpn.cpp
branchRCL_3
changeset 12 ea6e024ea6f9
parent 8 2e6c4614c58e
child 55 fc7b30ed2058
equal deleted inserted replaced
8:2e6c4614c58e 12:ea6e024ea6f9
   665     TBool retVal( EFalse );
   665     TBool retVal( EFalse );
   666     
   666     
   667     if( TPtrC(aIapRecord->iServiceType) == TPtrC(KCDTypeNameVPNService) ||
   667     if( TPtrC(aIapRecord->iServiceType) == TPtrC(KCDTypeNameVPNService) ||
   668         TPtrC(aIapRecord->iBearerType) == TPtrC(KCDTypeNameVirtualBearer) )
   668         TPtrC(aIapRecord->iBearerType) == TPtrC(KCDTypeNameVirtualBearer) )
   669         {
   669         {
   670         retVal = ETrue;
   670         // Further comparision is to find exact info that the IAP can handle by this plugin
       
   671         CMDBRecordSet<CCDVirtualBearerRecord>* bearersRS = 
       
   672                 new(ELeave) CMDBRecordSet<CCDVirtualBearerRecord>
       
   673                                                    (KCDTIdVirtualBearerRecord);
       
   674         CleanupStack::PushL( bearersRS );
       
   675 
       
   676         CCDVirtualBearerRecord* bearerRecord = 
       
   677                 static_cast<CCDVirtualBearerRecord *>
       
   678                     (CCDRecordBase::RecordFactoryL(KCDTIdVirtualBearerRecord));
       
   679 
       
   680         CleanupStack::PushL( bearerRecord );
       
   681     
       
   682         // Find entries used "vpnconnagt.agt" as agent from Table VirtualBearer
       
   683         bearerRecord->iBearerAgent.SetL( KVpnVirtualBearerAgent );
       
   684     
       
   685         bearersRS->iRecords.AppendL( bearerRecord );
       
   686 
       
   687         CleanupStack::Pop( bearerRecord );
       
   688         bearerRecord = NULL;
       
   689         
       
   690         if ( bearersRS->FindL( Session() ) )
       
   691             {
       
   692             TUint32 recordId = (*bearersRS)[0]->RecordId();
       
   693             TPtrC bearerName( (*bearersRS)[0]->iRecordName.GetL() );
       
   694         
       
   695             // Further comparing record ID referred to by this VPN IAP with entry ID in table VirtualBearer
       
   696             // And also comparing bear name with our expected one "vpnbearer"
       
   697             if( recordId == aIapRecord->iBearer && bearerName 
       
   698                 == TPtrC( KVpnVirtualBearerName ) )
       
   699                 {
       
   700                 retVal = ETrue;
       
   701                 }
       
   702             }
       
   703         
       
   704         CleanupStack::PopAndDestroy( bearersRS );
   671         }
   705         }
   672 
   706 
   673     return retVal;
   707     return retVal;
   674     }
   708     }
   675 
   709 
  2056 
  2090 
  2057 // --------------------------------------------------------------------------
  2091 // --------------------------------------------------------------------------
  2058 // CCmPluginVpn::DefaultAPRecordL
  2092 // CCmPluginVpn::DefaultAPRecordL
  2059 // --------------------------------------------------------------------------
  2093 // --------------------------------------------------------------------------
  2060 //
  2094 //
  2061 const TMDBElementId CCmPluginVpn::DefaultAPRecordL( const TInt aTierIdentifier )
  2095 TMDBElementId CCmPluginVpn::DefaultAPRecordL( const TInt aTierIdentifier )
  2062     {
  2096     {
  2063     LOGGER_ENTERFN( "CCmPluginVpn::DefaultAPRecordL" );
  2097     LOGGER_ENTERFN( "CCmPluginVpn::DefaultAPRecordL" );
  2064     // Resolve the Default SNAP AP elementid 
  2098     // Resolve the Default SNAP AP elementid 
  2065     //
  2099     //
  2066     CCDTierRecord* tierRecord = static_cast<CCDTierRecord *>(
  2100     CCDTierRecord* tierRecord = static_cast<CCDTierRecord *>(