connectionutilities/ConnectionDialogs/cconndlg/src/ConnDlgPlugin.cpp
branchRCL_3
changeset 55 fc7b30ed2058
parent 26 0a9e01492035
child 57 05bc53fe583b
--- a/connectionutilities/ConnectionDialogs/cconndlg/src/ConnDlgPlugin.cpp	Thu Jul 15 19:05:04 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/cconndlg/src/ConnDlgPlugin.cpp	Thu Aug 19 10:18:49 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -38,6 +38,7 @@
 
 #include <CConnDlgPlugin.rsg>
 #include <data_caging_path_literals.hrh>
+#include <vpnapi.h>
 
 using namespace CommsDat;
 
@@ -847,7 +848,24 @@
     	err = GetActiveConnection( iap, snap, bearer );
         }
                                       
-    if ( ( err == KErrNone ) && 
+    RVpnServ vpn;
+    TInt vpnErr( KErrNone );
+    TInt policyCount( 0 );
+    TBool forceDialogForIntranetUsers( EFalse );
+    
+    vpnErr = vpn.Connect();
+    if ( !vpnErr ) 
+    	  {
+    	  vpnErr = vpn.EnumeratePolicies(policyCount);
+    	  if ( !vpnErr && policyCount > 0 )
+    	  	  {
+    	  	  forceDialogForIntranetUsers = ETrue;
+    	  	  }
+        vpn.Close();
+        }
+        
+    if ( !forceDialogForIntranetUsers &&
+    	 ( err == KErrNone ) && 
          ( iap != 0 || snap != 0 ) && 
          ( iPrefs().iBearerSet & bearer ) &&
          ( iPrefs().iDirection == 0 ) )     // JavaVM sets iDirection to "1"