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 |