omaprovisioning/provisioning/IMAdapter/Src/WPIMUtil.cpp
branchRCL_3
changeset 26 19bba8228ff0
parent 25 b183ec05bd8c
--- a/omaprovisioning/provisioning/IMAdapter/Src/WPIMUtil.cpp	Tue Aug 31 16:04:06 2010 +0300
+++ b/omaprovisioning/provisioning/IMAdapter/Src/WPIMUtil.cpp	Wed Sep 01 12:27:42 2010 +0100
@@ -26,9 +26,9 @@
 #include <data_caging_path_literals.hrh>
 
 #include <CWPCharacteristic.h>
-#include <cmconnectionmethoddef.h>
-#include <cmmanagerext.h>
-#include <cmpluginpacketdatadef.h>
+#include <ApDataHandler.h>
+#include <ApAccessPointItem.h>
+#include <ApUtils.h>
 #include <commdb.h>
 #include "WPAdapterUtil.h"
 #include <wpwvadapterresource.rsg>
@@ -47,43 +47,40 @@
 // CWPPecAdapter::FindGPRSL
 // -----------------------------------------------------------------------------
 //
-TUint32 WPIMUtil::FindGPRSL( 
+CApAccessPointItem* WPIMUtil::FindGPRSL( 
                                       RPointerArray<CWPCharacteristic>& aLinks )
 	{
-	TUint32 iapID=NULL;
-	RCmManagerExt  cmmanagerExt;
-	cmmanagerExt.OpenL();
-	CleanupClosePushL(cmmanagerExt);
-	TUint32 bearer = 0;
+	CCommsDatabase* commDb = CCommsDatabase::NewL();
+	CleanupStack::PushL( commDb );
+	CApDataHandler* apHandler = CApDataHandler::NewLC( *commDb );
+	
+    for( TInt i( 0 ); i < aLinks.Count(); i++ )
+        {
+        CWPCharacteristic* curr = aLinks[i];
 
-	
-	for( TInt i( 0 ); i < aLinks.Count(); i++ )
-	   {
-	   CWPCharacteristic* curr = aLinks[i];
+        TPckgBuf<TUint32> uidPckg;
+        for( TInt dataNum( 0 ); curr->Data( dataNum ).Length() == uidPckg.MaxLength(); dataNum++ )
+            {
+            uidPckg.Copy( curr->Data( dataNum ) );
 
-	   TPckgBuf<TUint32> uidPckg;
-	   for( TInt dataNum( 0 ); curr->Data( dataNum ).Length() == uidPckg.MaxLength(); dataNum++ )
-	      {
-	      uidPckg.Copy( curr->Data( dataNum ) );
-	      RCmConnectionMethodExt cm;
-	      cm = cmmanagerExt.ConnectionMethodL( uidPckg() );
-	      CleanupClosePushL( cm );
-	      bearer = cm.GetIntAttributeL( CMManager::ECmBearerType );
-	      if(bearer == KUidPacketDataBearerType)
-	        {
-	        iapID = cm.GetIntAttributeL(CMManager::ECmIapId);
-	        CleanupStack::PopAndDestroy(2);
-	        return iapID;
-	        }
-	      CleanupStack::PopAndDestroy();  // cm         
-	      }
-	    }
-	CleanupStack::PopAndDestroy(); //cmmanagerExt
-	
+			CApAccessPointItem* item = CApAccessPointItem::NewLC();
+	        // Read the access point pointed to by TO-NAPID or TO-PROXY
+	        apHandler->AccessPointDataL( uidPckg(), *item );
+
+            if( item->BearerTypeL() == EApBearerTypeGPRS )
+                {
+				CleanupStack::Pop(); // item
+	            CleanupStack::PopAndDestroy( 2 ); // apHandler, commDb
+				return item;
+                }
+			CleanupStack::PopAndDestroy( item );
+            }
+        }
+
 	// This leave is absolutely needed as it pops & destroys 
 	// data in CleanupStack
-  //  User::Leave( KErrNotFound );
-    return iapID;
+    User::Leave( KErrNotFound );
+    return NULL;
 	}
 
 // -----------------------------------------------------------------------------