summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer/icd/qnetworksession_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/bearer/icd/qnetworksession_impl.cpp')
-rw-r--r--src/plugins/bearer/icd/qnetworksession_impl.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/plugins/bearer/icd/qnetworksession_impl.cpp b/src/plugins/bearer/icd/qnetworksession_impl.cpp
index 8013d30..37434e3 100644
--- a/src/plugins/bearer/icd/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/icd/qnetworksession_impl.cpp
@@ -60,13 +60,16 @@ QDBusArgument &operator<<(QDBusArgument &argument,
const ICd2DetailsDBusStruct &icd2)
{
argument.beginStructure();
+
argument << icd2.serviceType;
argument << icd2.serviceAttributes;
argument << icd2.setviceId;
argument << icd2.networkType;
argument << icd2.networkAttributes;
argument << icd2.networkId;
+
argument.endStructure();
+
return argument;
}
@@ -74,13 +77,16 @@ const QDBusArgument &operator>>(const QDBusArgument &argument,
ICd2DetailsDBusStruct &icd2)
{
argument.beginStructure();
+
argument >> icd2.serviceType;
argument >> icd2.serviceAttributes;
argument >> icd2.setviceId;
argument >> icd2.networkType;
argument >> icd2.networkAttributes;
argument >> icd2.networkId;
+
argument.endStructure();
+
return argument;
}
@@ -104,9 +110,12 @@ QDBusArgument &operator<<(QDBusArgument &argument,
const ICd2DetailsList &detailsList)
{
argument.beginArray(qMetaTypeId<ICd2DetailsDBusStruct>());
+
for (int i = 0; i < detailsList.count(); ++i)
argument << detailsList[i];
+
argument.endArray();
+
return argument;
}
@@ -144,7 +153,8 @@ void QNetworkSessionPrivateImpl::iapStateChanged(const QString& iapid, uint icd_
void QNetworkSessionPrivateImpl::cleanupSession(void)
{
- QObject::disconnect(q, SIGNAL(stateChanged(QNetworkSession::State)), this, SLOT(updateProxies(QNetworkSession::State)));
+ QObject::disconnect(q, SIGNAL(stateChanged(QNetworkSession::State)),
+ this, SLOT(updateProxies(QNetworkSession::State)));
}
@@ -784,7 +794,7 @@ void QNetworkSessionPrivateImpl::stateChange(const QDBusMessage& rep)
qDebug() << "connect to"<< publicConfig.identifier() << "failed, result is empty";
#endif
updateState(QNetworkSession::Disconnected);
- emit QNetworkSessionPrivate::error(QNetworkSession::InvalidConfigurationError);
+ emit QNetworkSessionPrivate::error(QNetworkSession::SessionAbortedError);
if (publicConfig.type() == QNetworkConfiguration::UserChoice)
copyConfig(publicConfig, activeConfig);
return;
@@ -798,7 +808,7 @@ void QNetworkSessionPrivateImpl::stateChange(const QDBusMessage& rep)
if ((publicConfig.type() != QNetworkConfiguration::UserChoice) &&
(connected_iap != config.identifier())) {
updateState(QNetworkSession::Disconnected);
- emit QNetworkSessionPrivate::error(QNetworkSession::InvalidConfigurationError);
+ emit QNetworkSessionPrivate::error(QNetworkSession::UnknownSessionError);
return;
}
@@ -881,7 +891,6 @@ void QNetworkSessionPrivateImpl::close()
} else if (isOpen) {
if ((activeConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
// We will not wait any disconnect from icd as it might never come
- Maemo::Icd icd;
#ifdef BEARER_MANAGEMENT_DEBUG
qDebug() << "closing session" << publicConfig.identifier();
#endif
@@ -894,7 +903,7 @@ void QNetworkSessionPrivateImpl::close()
opened = false;
isOpen = false;
- icd.disconnect(ICD_CONNECTION_FLAG_APPLICATION_EVENT);
+ m_dbusInterface->call(ICD_DBUS_API_DISCONNECT_REQ, ICD_CONNECTION_FLAG_APPLICATION_EVENT);
startTime = QDateTime();
} else {
opened = false;
@@ -915,7 +924,6 @@ void QNetworkSessionPrivateImpl::stop()
emit QNetworkSessionPrivate::error(lastError);
} else {
if ((activeConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
- Maemo::Icd icd;
#ifdef BEARER_MANAGEMENT_DEBUG
qDebug() << "stopping session" << publicConfig.identifier();
#endif
@@ -928,7 +936,7 @@ void QNetworkSessionPrivateImpl::stop()
opened = false;
isOpen = false;
- icd.disconnect(ICD_CONNECTION_FLAG_APPLICATION_EVENT);
+ m_dbusInterface->call(ICD_DBUS_API_DISCONNECT_REQ, ICD_CONNECTION_FLAG_APPLICATION_EVENT);
startTime = QDateTime();
} else {
opened = false;
@@ -1018,6 +1026,9 @@ QString QNetworkSessionPrivateImpl::errorString() const
case QNetworkSession::SessionAbortedError:
errorStr = QNetworkSessionPrivateImpl::tr("Session aborted by user or system");
break;
+ case QNetworkSession::InvalidConfigurationError:
+ errorStr = QNetworkSessionPrivateImpl::tr("The specified configuration cannot be used.");
+ break;
default:
case QNetworkSession::UnknownSessionError:
errorStr = QNetworkSessionPrivateImpl::tr("Unidentified Error");