(Difference between revisions)

How to set default access point using Qt Mobility APIs

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Added category Category:Qt. (Adding Qt to all Qt for Symbian topics (which is about to be removed)))
kiran10182 (Talk | contribs)
Line 1: Line 1:
[[Category:Qt for Symbian]]
[[Category:Qt Mobility]]
{|style="background:#eceff2" width="660px" border="1" cellpadding="5" cellspacing="0"  
{|style="background:#eceff2" width="660px" border="1" cellpadding="5" cellspacing="0"  
Line 8: Line 8:
|'''Tested on devices''' || Nokia N97  
|'''Tested on devices''' || Nokia N97  
|'''Category''' || Qt for Symbian
|'''Category''' || Qt
|'''Subcategory''' || Qt Mobility API
|'''Subcategory''' || Qt Mobility API
Line 96: Line 96:
* [[Setting up environment for Qt Mobility API]]
* [[Setting up environment for Qt Mobility API]]
* [[Working with Carbide.c++ IDE for Qt Mobility APIs]]
* [[Working with Carbide.c++ IDE for Qt Mobility APIs]]
* [http://wiki.forum.nokia.com/index.php/How_to_do_HTTP_Get_and_Post_using_Qt_for_Symbian How to do HTTP Get & Post Using Qt for Symbian] [[Category:Qt]]
* [http://wiki.forum.nokia.com/index.php/How_to_do_HTTP_Get_and_Post_using_Qt_for_Symbian How to do HTTP Get & Post Using Qt for Symbian]

Revision as of 14:53, 1 April 2011

ID Creation date 29th Mar 2010
Platform S60 5th Edition Tested on devices Nokia N97
Category Qt Subcategory Qt Mobility API

Keywords (APIs, classes, methods, functions): QNetworkSession, QNetworkConfigurationManager,QConfigurationManager

Tip.pngTip: Read this article before moving forward: Setting up environment for Qt Mobility API



  • This article will explain how to set default access point using the Bearer Management APIs of the Qt Mobility Package.

Project Configuration File (.pro file)

  • Add the Qt Mobility project configuration option in the .Pro file as shown below
CONFIG += mobility
MOBILITY += bearer

Header File

  • Do add the Qt mobility name space before using any Qt mobility APIs,
  • declare a QNetworkSession object in the header file which will help in opening the network connections.
#include <qmobilityglobal.h>
#include <qnetworksession.h>
QNetworkSession* session;

Source File

  • After declaring the QNetworkSession object we need to use the QNetworkConfigurationManager and QNetworkConfiguration class to ask the user about the access point and make that as a default connection.

A sample function is shown below :

    QNetworkConfigurationManager manager;
const bool selectIap = (manager.capabilities()& QNetworkConfigurationManager::CanStartAndStopInterfaces);
QNetworkConfiguration defaultIap = manager.defaultConfiguration();
if(!defaultIap.isValid() && (!selectIap && defaultIap.state() != QNetworkConfiguration::Active))
// let the user know that there is no access point available
session = new QNetworkSession(defaultIap,this);

It is worth noting that QNetworkConfigurationManager::defaultConfiguration() reflects the device's default connection setting, which can be controlled from the UI. The default connection varies slightly from device to device. For example on 5800 device, navigate to Menu -> Settings -> Connectivity -> Destinations -> Options -> Default Connection to control this setting. Notably, it the setting is set as 'Always Ask', user will be prompted every time.

If you need more control over which configuration is used, what you can do is list the configurations (QNetworkConfigurationManager::allConfigurations()), choose the one you wish to use, and create a QNetworkSession based on that configuration (similarly as in the example snippet above).


  • In one of my previous article i explained the HTTP GET and POST mechanism using QT APIs, that article can be easily extended to ask the user at first to select an access point and make that as default connection.
  • The screenshots shown below illustrates the above point clearly:

QDefaultAccessPoint1.jpg QDefaultAccessPoint2.jpg


103 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.