qtmobility/src/bearer/qnetworkconfigmanager_maemo_p.h
branchRCL_3
changeset 1 5822d84012fb
parent 0 cfcbf08528c4
child 2 87be51aa5b5b
--- a/qtmobility/src/bearer/qnetworkconfigmanager_maemo_p.h	Thu Apr 01 08:30:34 2010 +0300
+++ b/qtmobility/src/bearer/qnetworkconfigmanager_maemo_p.h	Thu Apr 15 08:16:03 2010 +0300
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
@@ -55,6 +55,8 @@
 
 #include <QHash>
 #include <QStringList>
+#include <QDBusInterface>
+#include <maemo_icd.h>
 
 #include "qnetworkconfigmanager.h"
 #include "qnetworkconfiguration_maemo_p.h"
@@ -69,10 +71,11 @@
     Q_OBJECT
 public:
     QNetworkConfigurationManagerPrivate()
-    :   QObject(0), capFlags(0), firstUpdate(true), onlineConfigurations(0)
+    :   QObject(0), capFlags(0), firstUpdate(true), onlineConfigurations(0), m_scanGoingOn(false)
     {
         registerPlatformCapabilities();
         updateConfigurations();
+        init();
     }
 
     virtual ~QNetworkConfigurationManagerPrivate() 
@@ -103,10 +106,14 @@
 
     QNetworkConfiguration defaultConfiguration();
 
+    void init();
+
     QNetworkConfigurationManager::Capabilities capFlags;
     void registerPlatformCapabilities();
 
     void performAsyncConfigurationUpdate();
+    void doUpdateConfigurations(QList<Maemo::IcdScanResult> scanned = QList<Maemo::IcdScanResult>());
+    void startListeningStateSignalsForAllConnections();
 
     //this table contains an up to date list of all configs at any time.
     //it must be updated if configurations change, are added/removed or
@@ -121,20 +128,36 @@
     void deleteConfiguration(QString &iap_id);
     void addConfiguration(QString &iap_id);
     void configurationChanged(QNetworkConfigurationPrivate *ptr);
-    uint32_t getNetworkAttrs(bool is_iap_id, QString& iap_id,
+    uint32_t getNetworkAttrs(bool is_iap_id, const QString& iap_id,
 			     QString& iap_type, QString security_method);
-    void configChanged(QNetworkConfigurationPrivate *ptr, bool added);
+
+    QDBusInterface *m_dbusInterface;
+    QTimer m_scanTimer;
+    bool m_gettingInitialConnectionState;
+    bool m_scanGoingOn;
+    QStringList m_typesToBeScanned;
+    QList<Maemo::IcdScanResult> m_scanResult;
+    QString m_onlineIapId;
+
     friend class QNetworkSessionPrivate;
 
 public slots:
     void updateConfigurations();
 
+private slots:
+    void cancelAsyncConfigurationUpdate();
+    void finishAsyncConfigurationUpdate();
+    void asyncUpdateConfigurationsSlot(QDBusMessage msg);
+    void connectionStateSignalsSlot(QDBusMessage msg);
+
 Q_SIGNALS:
     void configurationAdded(const QNetworkConfiguration& config);
     void configurationRemoved(const QNetworkConfiguration& config);
     void configurationUpdateComplete();
     void configurationChanged(const QNetworkConfiguration& config);
     void onlineStateChanged(bool isOnline);
+
+    void iapStateChanged(const QString& iapid, uint icd_connection_state);
 };
 
 QTM_END_NAMESPACE