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 |