make 'AlwaysAsk' if found help determine whether the configuration is Discovered or not.

Since bearer has no idea about user interaction, we just do this,
and make the roaming/always ask scenario unavailable.

Change-Id: Id509a4d3346cdbb9367ddb465364c3500fc62fdf
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
This commit is contained in:
Lorn Potter 2013-11-20 06:41:55 +10:00 committed by The Qt Project
parent 1db89eb5a4
commit fa7451043e
2 changed files with 8 additions and 1 deletions

View File

@ -417,7 +417,7 @@ QNetworkConfiguration::StateFlags QConnmanEngine::getStateForService(const QStri
QConnmanServiceInterface serv(service);
QNetworkConfiguration::StateFlags flag = QNetworkConfiguration::Defined;
if (serv.getType() == "cellular") {
if (serv.isSetupRequired() || !serv.isAutoConnect()) {
if (serv.isSetupRequired() || !serv.isAutoConnect() || (serv.isRoaming() && isAlwaysAskRoaming())) {
flag = ( flag | QNetworkConfiguration::Defined);
} else {
flag = ( flag | QNetworkConfiguration::Discovered);
@ -593,6 +593,12 @@ bool QConnmanEngine::requiresPolling() const
return false;
}
bool QConnmanEngine::isAlwaysAskRoaming()
{
QSettings confFile(QStringLiteral("nemomobile"), QStringLiteral("connectionagent"));
confFile.beginGroup(QStringLiteral("Connectionagent"));
return confFile.value(QStringLiteral("askForRoaming")).toBool();
}
QT_END_NAMESPACE
#endif // QT_NO_DBUS

View File

@ -129,6 +129,7 @@ private:
QNetworkConfiguration::BearerType ofonoTechToBearerType(const QString &type);
bool isRoamingAllowed(const QString &context);
bool isAlwaysAskRoaming();
protected:
bool requiresPolling() const;
};