src/plugins/bearer/icd/qicdengine.h
changeset 37 758a864f9613
parent 33 3e2da88830cd
--- a/src/plugins/bearer/icd/qicdengine.h	Fri Sep 17 08:34:18 2010 +0300
+++ b/src/plugins/bearer/icd/qicdengine.h	Mon Oct 04 01:19:32 2010 +0300
@@ -54,13 +54,25 @@
 class IapMonitor;
 class QDBusInterface;
 
+inline QNetworkConfiguration::BearerType bearerTypeFromIapType(const QString &iapType)
+{
+    if (iapType == QLatin1String("WLAN_INFRA") ||
+        iapType == QLatin1String("WLAN_ADHOC")) {
+        return QNetworkConfiguration::BearerWLAN;
+    } else if (iapType == QLatin1String("GPRS")) {
+        return QNetworkConfiguration::BearerHSPA;
+    } else {
+        return QNetworkConfiguration::BearerUnknown;
+    }
+}
+
 class IcdNetworkConfigurationPrivate : public QNetworkConfigurationPrivate
 {
 public:
     IcdNetworkConfigurationPrivate();
     ~IcdNetworkConfigurationPrivate();
 
-    QString bearerName() const;
+    virtual QString bearerTypeName() const;
 
     // In Maemo the id field (defined in QNetworkConfigurationPrivate)
     // is the IAP id (which typically is UUID)
@@ -114,13 +126,13 @@
         QMutexLocker locker(&mutex);
 
         accessPointConfigurations.insert(ptr->id, ptr);
+
+        locker.unlock();
         emit configurationAdded(ptr);
     }
 
     inline void changedSessionConfiguration(QNetworkConfigurationPrivatePointer ptr)
     {
-        QMutexLocker locker(&mutex);
-
         emit configurationChanged(ptr);
     }
 
@@ -132,14 +144,15 @@
     void iapStateChanged(const QString& iapid, uint icd_connection_state);
 
 private Q_SLOTS:
-    void doRequestUpdate(QList<Maemo::IcdScanResult> scanned = QList<Maemo::IcdScanResult>());
-    void cancelAsyncConfigurationUpdate();
     void finishAsyncConfigurationUpdate();
     void asyncUpdateConfigurationsSlot(QDBusMessage msg);
     void connectionStateSignalsSlot(QDBusMessage msg);
 
 private:
     void startListeningStateSignalsForAllConnections();
+    void doRequestUpdate(QList<Maemo::IcdScanResult> scanned = QList<Maemo::IcdScanResult>());
+    void cancelAsyncConfigurationUpdate();
+    void getIcdInitialState();
 
 private:
     IapMonitor *iapMonitor;
@@ -150,7 +163,6 @@
     QList<Maemo::IcdScanResult> m_scanResult;
 
     bool firstUpdate;
-    bool m_gettingInitialConnectionState;
     bool m_scanGoingOn;
 };