src/plugins/bearer/icd/qicdengine.h
changeset 37 758a864f9613
parent 33 3e2da88830cd
equal deleted inserted replaced
36:ef0373b55136 37:758a864f9613
    52 
    52 
    53 class QNetworkConfigurationPrivate;
    53 class QNetworkConfigurationPrivate;
    54 class IapMonitor;
    54 class IapMonitor;
    55 class QDBusInterface;
    55 class QDBusInterface;
    56 
    56 
       
    57 inline QNetworkConfiguration::BearerType bearerTypeFromIapType(const QString &iapType)
       
    58 {
       
    59     if (iapType == QLatin1String("WLAN_INFRA") ||
       
    60         iapType == QLatin1String("WLAN_ADHOC")) {
       
    61         return QNetworkConfiguration::BearerWLAN;
       
    62     } else if (iapType == QLatin1String("GPRS")) {
       
    63         return QNetworkConfiguration::BearerHSPA;
       
    64     } else {
       
    65         return QNetworkConfiguration::BearerUnknown;
       
    66     }
       
    67 }
       
    68 
    57 class IcdNetworkConfigurationPrivate : public QNetworkConfigurationPrivate
    69 class IcdNetworkConfigurationPrivate : public QNetworkConfigurationPrivate
    58 {
    70 {
    59 public:
    71 public:
    60     IcdNetworkConfigurationPrivate();
    72     IcdNetworkConfigurationPrivate();
    61     ~IcdNetworkConfigurationPrivate();
    73     ~IcdNetworkConfigurationPrivate();
    62 
    74 
    63     QString bearerName() const;
    75     virtual QString bearerTypeName() const;
    64 
    76 
    65     // In Maemo the id field (defined in QNetworkConfigurationPrivate)
    77     // In Maemo the id field (defined in QNetworkConfigurationPrivate)
    66     // is the IAP id (which typically is UUID)
    78     // is the IAP id (which typically is UUID)
    67     QByteArray network_id;  // typically WLAN ssid or similar
    79     QByteArray network_id;  // typically WLAN ssid or similar
    68     QString iap_type;       // is this one WLAN or GPRS
    80     QString iap_type;       // is this one WLAN or GPRS
   112     inline void addSessionConfiguration(QNetworkConfigurationPrivatePointer ptr)
   124     inline void addSessionConfiguration(QNetworkConfigurationPrivatePointer ptr)
   113     {
   125     {
   114         QMutexLocker locker(&mutex);
   126         QMutexLocker locker(&mutex);
   115 
   127 
   116         accessPointConfigurations.insert(ptr->id, ptr);
   128         accessPointConfigurations.insert(ptr->id, ptr);
       
   129 
       
   130         locker.unlock();
   117         emit configurationAdded(ptr);
   131         emit configurationAdded(ptr);
   118     }
   132     }
   119 
   133 
   120     inline void changedSessionConfiguration(QNetworkConfigurationPrivatePointer ptr)
   134     inline void changedSessionConfiguration(QNetworkConfigurationPrivatePointer ptr)
   121     {
   135     {
   122         QMutexLocker locker(&mutex);
       
   123 
       
   124         emit configurationChanged(ptr);
   136         emit configurationChanged(ptr);
   125     }
   137     }
   126 
   138 
   127     void cleanup();
   139     void cleanup();
   128 
   140 
   130 
   142 
   131 Q_SIGNALS:
   143 Q_SIGNALS:
   132     void iapStateChanged(const QString& iapid, uint icd_connection_state);
   144     void iapStateChanged(const QString& iapid, uint icd_connection_state);
   133 
   145 
   134 private Q_SLOTS:
   146 private Q_SLOTS:
   135     void doRequestUpdate(QList<Maemo::IcdScanResult> scanned = QList<Maemo::IcdScanResult>());
       
   136     void cancelAsyncConfigurationUpdate();
       
   137     void finishAsyncConfigurationUpdate();
   147     void finishAsyncConfigurationUpdate();
   138     void asyncUpdateConfigurationsSlot(QDBusMessage msg);
   148     void asyncUpdateConfigurationsSlot(QDBusMessage msg);
   139     void connectionStateSignalsSlot(QDBusMessage msg);
   149     void connectionStateSignalsSlot(QDBusMessage msg);
   140 
   150 
   141 private:
   151 private:
   142     void startListeningStateSignalsForAllConnections();
   152     void startListeningStateSignalsForAllConnections();
       
   153     void doRequestUpdate(QList<Maemo::IcdScanResult> scanned = QList<Maemo::IcdScanResult>());
       
   154     void cancelAsyncConfigurationUpdate();
       
   155     void getIcdInitialState();
   143 
   156 
   144 private:
   157 private:
   145     IapMonitor *iapMonitor;
   158     IapMonitor *iapMonitor;
   146     QDBusInterface *m_dbusInterface;
   159     QDBusInterface *m_dbusInterface;
   147     QTimer m_scanTimer;
   160     QTimer m_scanTimer;
   148     QString m_onlineIapId;
   161     QString m_onlineIapId;
   149     QStringList m_typesToBeScanned;
   162     QStringList m_typesToBeScanned;
   150     QList<Maemo::IcdScanResult> m_scanResult;
   163     QList<Maemo::IcdScanResult> m_scanResult;
   151 
   164 
   152     bool firstUpdate;
   165     bool firstUpdate;
   153     bool m_gettingInitialConnectionState;
       
   154     bool m_scanGoingOn;
   166     bool m_scanGoingOn;
   155 };
   167 };
   156 
   168 
   157 QT_END_NAMESPACE
   169 QT_END_NAMESPACE
   158 
   170