vpnengine/vpnmanager/src/cmmanagerutils.cpp
branchRCL_3
changeset 41 e06095241a65
parent 40 473321461bba
child 49 5960d2d03390
equal deleted inserted replaced
40:473321461bba 41:e06095241a65
    27 
    27 
    28 
    28 
    29 static const TUint KMaxDestinationNameLength = 32;
    29 static const TUint KMaxDestinationNameLength = 32;
    30 
    30 
    31 
    31 
    32 void CmManagerUtils::CreateVPNConnectionMethodToIntranetL(const TVpnPolicyInfo& aVpnPolicyInfo,
    32 TUint32 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);
    36     
    38     
    37     using namespace CMManager;
    39     using namespace CMManager;
    38     
    40     
    39     RCmManagerExt cmManagerExt;
    41     RCmManagerExt cmManagerExt;
    40     cmManagerExt.OpenL();        
    42     cmManagerExt.OpenL();        
    73                                                  *name,
    75                                                  *name,
    74                                                  aVpnPolicyInfo.iId,
    76                                                  aVpnPolicyInfo.iId,
    75                                                  internetDestinationId);                        
    77                                                  internetDestinationId);                        
    76             
    78             
    77         CleanupClosePushL( vpnConnectionMethod );
    79         CleanupClosePushL( vpnConnectionMethod );
    78         TUint32 connectionMethodId = vpnConnectionMethod.GetIntAttributeL( ECmId );
    80         connectionMethodId = vpnConnectionMethod.GetIntAttributeL( ECmId );
    79         aEventLogger.LogEvent(R_VPN_MSG_CREATED_VPN_ACCESS_POINT_WITH_SNAP,
    81         aEventLogger.LogEvent(R_VPN_MSG_CREATED_VPN_ACCESS_POINT_WITH_SNAP,
    80                               &(aVpnPolicyInfo.iId), NULL,
    82                               &(aVpnPolicyInfo.iId), NULL,
    81                               connectionMethodId, internetDestinationId);
    83                               connectionMethodId, internetDestinationId);
    82         CleanupStack::PopAndDestroy(&vpnConnectionMethod);       
    84         CleanupStack::PopAndDestroy(&vpnConnectionMethod);       
    83         CleanupStack::PopAndDestroy(name);
    85         CleanupStack::PopAndDestroy(name);
    89     
    91     
    90     CleanupStack::PopAndDestroy(); //destinationArray  
    92     CleanupStack::PopAndDestroy(); //destinationArray  
    91     CleanupStack::PopAndDestroy(); //cmManagerExt
    93     CleanupStack::PopAndDestroy(); //cmManagerExt
    92     
    94     
    93     LOG_("CmManagerUtils::CreateVPNConnectionMethodToIntranetL - end \n");
    95     LOG_("CmManagerUtils::CreateVPNConnectionMethodToIntranetL - end \n");
       
    96     return connectionMethodId;
       
    97     
    94     }
    98     }
    95 
    99 
    96 void CmManagerUtils::SetVpnConnectionMethodAttributesL(RCmConnectionMethodExt& aConnectionMethod,
   100 void CmManagerUtils::SetVpnConnectionMethodAttributesL(RCmConnectionMethodExt& aConnectionMethod,
    97                                                        const TDesC& aConnectionMethodName,                                                       
   101                                                        const TDesC& aConnectionMethodName,                                                       
    98                                                        const TVpnPolicyId aPolicyId,
   102                                                        const TVpnPolicyId aPolicyId,
   100     {
   104     {
   101     using namespace CMManager;
   105     using namespace CMManager;
   102     
   106     
   103     LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL \n");                                                   
   107     LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL \n");                                                   
   104     
   108     
   105     aConnectionMethod.SetIntAttributeL( ECmNamingMethod, ENamingNothing );
   109     aConnectionMethod.SetIntAttributeL( ECmNamingMethod, ENamingUnique );
   106     aConnectionMethod.SetStringAttributeL( ECmName, aConnectionMethodName );
   110     aConnectionMethod.SetStringAttributeL( ECmName, aConnectionMethodName );
   107     aConnectionMethod.SetStringAttributeL( EVpnServicePolicy, aPolicyId );      
   111     aConnectionMethod.SetStringAttributeL( EVpnServicePolicy, aPolicyId );      
   108     aConnectionMethod.SetIntAttributeL( ECmNextLayerSNAPId, aInternetDestinationId );
   112     aConnectionMethod.SetIntAttributeL( ECmNextLayerSNAPId, aInternetDestinationId );
   109          
   113          
   110     LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL - end \n");
   114     LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL - end \n");
   111     }
   115     }
   112 
   116 
   113 HBufC* CmManagerUtils::CreateConnectionMethodNameLC(const TDesC& aPolicyName)
   117 HBufC* CmManagerUtils::CreateConnectionMethodNameLC(const TDesC& aPolicyName)
   114     {
   118     {
   115         
   119        
   116     LOG_("CmManagerUtils::CreateConnectionMethodNameLC \n");
   120     LOG_("CmManagerUtils::CreateConnectionMethodNameLC \n");
   117     
   121     
   118     HBufC* name = HBufC::NewLC(KMaxDestinationNameLength);
   122     HBufC* name = HBufC::NewLC(KMaxDestinationNameLength);
   119     TPtr namePtr = name->Des();
   123     TPtr namePtr = name->Des();
   120     
   124     
   257     CleanupStack::PopAndDestroy(&destinationArray); 
   261     CleanupStack::PopAndDestroy(&destinationArray); 
   258     
   262     
   259     LOG_("CmManagerUtils::CreateNewConnectionMethodToIntranetL - end \n");
   263     LOG_("CmManagerUtils::CreateNewConnectionMethodToIntranetL - end \n");
   260     return vpnConnectionMethod;
   264     return vpnConnectionMethod;
   261     }
   265     }
       
   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