qtmobility/src/bearer/qnetworkconfigmanager_maemo_p.h
changeset 4 90517678cc4f
parent 0 cfcbf08528c4
child 14 6fbed849b4f4
--- a/qtmobility/src/bearer/qnetworkconfigmanager_maemo_p.h	Fri Apr 16 15:51:22 2010 +0300
+++ b/qtmobility/src/bearer/qnetworkconfigmanager_maemo_p.h	Mon May 03 13:18:40 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,
-			     QString& iap_type, QString security_method);
-    void configChanged(QNetworkConfigurationPrivate *ptr, bool added);
+    uint32_t getNetworkAttrs(bool is_iap_id, const QString& iap_id,
+                             const QString& iap_type, QString security_method);
+
+    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