Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 12:21, 9 January 2008.

KIS000738 - Setting access point ID for Browser Control Interface has no effect in S60 3rd Edition, Feature Pack 1

From Forum Nokia Wiki


ID KIS000738 Creation date August 31, 2007, updated January 9, 2008
Platform S60 3rd Edition, Feature Pack 1 Devices  
Category Symbian C++ Subcategory Nokia Web Browser


Overview

Setting the access point ID for Browser Control Interface (CBrCtlInterface) does not have any effect in S60 3rd Edition, Feature Pack 1 devices.

Detailed description

In S60 3rd Edition, the access point to be used for the Browser Control Interface can be set with

   iBrCtlInterface->SetBrowserSettingL( TBrCtlDefs::ESettingsApId, apId );

After this, the access point with the specified ID (apId) will be used for the network connection automatically, without prompting the AP selection dialog.

In S60 3rd Edition, Feature Pack 1, a different Browser engine is used for Browser Control Interface. Calling the above function with a valid access point has no effect, and the access point selection dialog is shown every time when opening a URL using this API.

Solution

MBrCtlSpecialLoadObserver class has a virtual NetworkConnectionNeededL() member function that is called every time when a network connection is needed. A new class must be inherited from MBrCtlSpecialLoadObserver and this class has to implement its own network connection in the NetworkConnectionNeededL() function. The object of this user-implemented class can be passed as a parameter to CreateBrowserControlL() which creates the browser controller.

CMySpecialLoadObserver member variables

RSocketServ  iSocketServer;
RConnection  iConnection;
TBool        iFirstTime;  //Initial value should be ETrue
void CMySpecialLoadObserver::NetworkConnectionNeededL(
                                   TInt* aConnectionPtr,
                                   TInt* aSockSvrHandle,
                                   TBool* aNewConn,
                                   TApBearerType* aBearerType ) 
 {
 *aBearerType = EApBearerTypeAllBearers;
 
 if(iFirstTime) 
   {
   //New connection is established only once
   User::LeaveIfError(iSocketServer.Connect(KESockDefaultMessageSlots));
   User::LeaveIfError(iConnection.Open(iSocketServer, KConnectionTypeDefault));
   TCommDbConnPref prefs;
   prefs.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
   prefs.SetDirection(ECommDbConnectionDirectionOutgoing);
   prefs.SetIapId(2);	//preferred IAP 
   User::LeaveIfError(iConnection.Start(prefs));
   *aNewConn = ETrue;
   iFirstTime = EFalse; 
   }
 else
   {
   *aNewConn = EFalse;
   }
   
 *aConnectionPtr = reinterpret_cast<TInt>(&iConnection);
 *aSockSvrHandle = iSocketServer.Handle();
 return;
 }
Related Discussions
Thread Thread Starter Forum Replies Last Post
S60 3rd Ed SDK FP2 Beta download ahmedsharaf2006 Symbian Tools & SDKs 2 2007-11-05 12:06
About the (virtual) GPS reciever in the Nokia S60 SDK 3rd punding Mobile Java Tools & SDKs 2 2007-09-02 06:29
Access SIM Card Information anupamcins General Symbian C++ 19 2007-02-05 13:10
preventing screen saver dudi Mobile Java General 6 2008-04-16 07:58
SyncML Client APIs for 3rd Edition tej007 OMA DM/DS/CP 3 2008-01-19 12:22
 
Powered by MediaWiki