vpnengine/vpnmanager/src/cmmanagerutils.cpp
branchRCL_3
changeset 49 5960d2d03390
parent 41 e06095241a65
equal deleted inserted replaced
46:29c8f9bc68e1 49:5960d2d03390
    27 
    27 
    28 
    28 
    29 static const TUint KMaxDestinationNameLength = 32;
    29 static const TUint KMaxDestinationNameLength = 32;
    30 
    30 
    31 
    31 
    32 TUint32 CmManagerUtils::CreateVPNConnectionMethodToIntranetL(const TVpnPolicyInfo& aVpnPolicyInfo,
    32 void CmManagerUtils::CreateVPNConnectionMethodToIntranetL(const TVpnPolicyInfo& aVpnPolicyInfo,
    33                                                           CEventLogger& aEventLogger)
    33                                                           CEventLogger& aEventLogger)
    34     {
    34     {
    35     LOG_("CmManagerUtils::CreateVPNConnectionMethodToIntranetL \n");
    35     LOG_("CmManagerUtils::CreateVPNConnectionMethodToIntranetL \n");
    36     
       
    37     TUint32 connectionMethodId(0);
       
    38     
    36     
    39     using namespace CMManager;
    37     using namespace CMManager;
    40     
    38     
    41     RCmManagerExt cmManagerExt;
    39     RCmManagerExt cmManagerExt;
    42     cmManagerExt.OpenL();        
    40     cmManagerExt.OpenL();        
    75                                                  *name,
    73                                                  *name,
    76                                                  aVpnPolicyInfo.iId,
    74                                                  aVpnPolicyInfo.iId,
    77                                                  internetDestinationId);                        
    75                                                  internetDestinationId);                        
    78             
    76             
    79         CleanupClosePushL( vpnConnectionMethod );
    77         CleanupClosePushL( vpnConnectionMethod );
    80         connectionMethodId = vpnConnectionMethod.GetIntAttributeL( ECmId );
    78         TUint32 connectionMethodId = vpnConnectionMethod.GetIntAttributeL( ECmId );
    81         aEventLogger.LogEvent(R_VPN_MSG_CREATED_VPN_ACCESS_POINT_WITH_SNAP,
    79         aEventLogger.LogEvent(R_VPN_MSG_CREATED_VPN_ACCESS_POINT_WITH_SNAP,
    82                               &(aVpnPolicyInfo.iId), NULL,
    80                               &(aVpnPolicyInfo.iId), NULL,
    83                               connectionMethodId, internetDestinationId);
    81                               connectionMethodId, internetDestinationId);
    84         CleanupStack::PopAndDestroy(&vpnConnectionMethod);       
    82         CleanupStack::PopAndDestroy(&vpnConnectionMethod);       
    85         CleanupStack::PopAndDestroy(name);
    83         CleanupStack::PopAndDestroy(name);
    91     
    89     
    92     CleanupStack::PopAndDestroy(); //destinationArray  
    90     CleanupStack::PopAndDestroy(); //destinationArray  
    93     CleanupStack::PopAndDestroy(); //cmManagerExt
    91     CleanupStack::PopAndDestroy(); //cmManagerExt
    94     
    92     
    95     LOG_("CmManagerUtils::CreateVPNConnectionMethodToIntranetL - end \n");
    93     LOG_("CmManagerUtils::CreateVPNConnectionMethodToIntranetL - end \n");
    96     return connectionMethodId;
       
    97     
       
    98     }
    94     }
    99 
    95 
   100 void CmManagerUtils::SetVpnConnectionMethodAttributesL(RCmConnectionMethodExt& aConnectionMethod,
    96 void CmManagerUtils::SetVpnConnectionMethodAttributesL(RCmConnectionMethodExt& aConnectionMethod,
   101                                                        const TDesC& aConnectionMethodName,                                                       
    97                                                        const TDesC& aConnectionMethodName,                                                       
   102                                                        const TVpnPolicyId aPolicyId,
    98                                                        const TVpnPolicyId aPolicyId,
   104     {
   100     {
   105     using namespace CMManager;
   101     using namespace CMManager;
   106     
   102     
   107     LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL \n");                                                   
   103     LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL \n");                                                   
   108     
   104     
   109     aConnectionMethod.SetIntAttributeL( ECmNamingMethod, ENamingUnique );
   105     aConnectionMethod.SetIntAttributeL( ECmNamingMethod, ENamingNothing );
   110     aConnectionMethod.SetStringAttributeL( ECmName, aConnectionMethodName );
   106     aConnectionMethod.SetStringAttributeL( ECmName, aConnectionMethodName );
   111     aConnectionMethod.SetStringAttributeL( EVpnServicePolicy, aPolicyId );      
   107     aConnectionMethod.SetStringAttributeL( EVpnServicePolicy, aPolicyId );      
   112     aConnectionMethod.SetIntAttributeL( ECmNextLayerSNAPId, aInternetDestinationId );
   108     aConnectionMethod.SetIntAttributeL( ECmNextLayerSNAPId, aInternetDestinationId );
   113          
   109          
   114     LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL - end \n");
   110     LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL - end \n");
   261     CleanupStack::PopAndDestroy(&destinationArray); 
   257     CleanupStack::PopAndDestroy(&destinationArray); 
   262     
   258     
   263     LOG_("CmManagerUtils::CreateNewConnectionMethodToIntranetL - end \n");
   259     LOG_("CmManagerUtils::CreateNewConnectionMethodToIntranetL - end \n");
   264     return vpnConnectionMethod;
   260     return vpnConnectionMethod;
   265     }
   261     }
   266 
       
   267 TBool CmManagerUtils::ProvisionIAPNameExistL(TUint32 aAgileProvisionAPId)
       
   268     {
       
   269     TBool apExist=EFalse;
       
   270     using namespace CMManager;
       
   271     RCmManagerExt cmManagerExt;
       
   272     cmManagerExt.OpenL();        
       
   273     CleanupClosePushL( cmManagerExt ); 
       
   274     
       
   275     RArray<TUint32> aps;
       
   276 
       
   277     TBool supportedBearersOnly = ETrue;
       
   278     TBool legacyCmsOnly        = EFalse;
       
   279 
       
   280     cmManagerExt.ConnectionMethodL( aps, supportedBearersOnly, legacyCmsOnly );
       
   281     CleanupClosePushL( aps );
       
   282 
       
   283     for( TInt i = 0; i < aps.Count(); ++i )
       
   284         {
       
   285         RCmConnectionMethodExt ap = cmManagerExt.ConnectionMethodL( aps[i] );
       
   286         CleanupClosePushL( ap );
       
   287         
       
   288         if( KPluginVPNBearerTypeUid == ap.GetIntAttributeL( ECmBearerType ) )
       
   289            if ( ap.GetIntAttributeL(ECmId) == aAgileProvisionAPId )
       
   290               {
       
   291               apExist=ETrue;
       
   292               }
       
   293         CleanupStack::PopAndDestroy();  // ap
       
   294       }    
       
   295       
       
   296       CleanupStack::PopAndDestroy();  // aps
       
   297     
       
   298     
       
   299     CleanupStack::PopAndDestroy(); //cmManagerExt
       
   300        
       
   301     return apExist;
       
   302     }
       
   303 
       
   304