diff options
author | Lorn Potter <lorn.potter@jollamobile.com> | 2013-01-31 07:02:27 +1000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-31 04:56:16 +0100 |
commit | 539a024819a5f696b8afe899108b409f2b77549c (patch) | |
tree | 718003e5d7431cc1fedc2d9babaa5d9660938c9b /src/plugins/bearer | |
parent | 38f740e4de9a313fd33984bd54834c56dc2316c4 (diff) |
update ofono API
Task-number: QTBUG-29381
Change-Id: I952b73d86b4e8f497b4ff90d10c1f5312882bd8a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/plugins/bearer')
-rw-r--r-- | src/plugins/bearer/connman/qofonoservice_linux.cpp | 82 | ||||
-rw-r--r-- | src/plugins/bearer/connman/qofonoservice_linux_p.h | 8 |
2 files changed, 70 insertions, 20 deletions
diff --git a/src/plugins/bearer/connman/qofonoservice_linux.cpp b/src/plugins/bearer/connman/qofonoservice_linux.cpp index 085b57d660..f6fb55522e 100644 --- a/src/plugins/bearer/connman/qofonoservice_linux.cpp +++ b/src/plugins/bearer/connman/qofonoservice_linux.cpp @@ -56,6 +56,22 @@ #ifndef QT_NO_BEARERMANAGEMENT #ifndef QT_NO_DBUS +QDBusArgument &operator<<(QDBusArgument &argument, const ObjectPathProperties &item) +{ + argument.beginStructure(); + argument << item.path << item.properties; + argument.endStructure(); + return argument; +} + +const QDBusArgument &operator>>(const QDBusArgument &argument, ObjectPathProperties &item) +{ + argument.beginStructure(); + argument >> item.path >> item.properties; + argument.endStructure(); + return argument; +} + QT_BEGIN_NAMESPACE QOfonoManagerInterface::QOfonoManagerInterface( QObject *parent) @@ -64,6 +80,8 @@ QOfonoManagerInterface::QOfonoManagerInterface( QObject *parent) OFONO_MANAGER_INTERFACE, QDBusConnection::systemBus(), parent) { + qDBusRegisterMetaType<ObjectPathProperties>(); + qDBusRegisterMetaType<PathPropertiesList>(); } QOfonoManagerInterface::~QOfonoManagerInterface() @@ -72,8 +90,16 @@ QOfonoManagerInterface::~QOfonoManagerInterface() QList <QDBusObjectPath> QOfonoManagerInterface::getModems() { - QVariant var = getProperty("Modems"); - return qdbus_cast<QList<QDBusObjectPath> >(var); + QList <QDBusObjectPath> modemList; + QList<QVariant> argumentList; + QDBusReply<PathPropertiesList > reply = this->asyncCallWithArgumentList(QLatin1String("GetModems"), argumentList); + if (reply.isValid()) { + foreach (ObjectPathProperties modem, reply.value()) { + modemList << modem.path; + } + } + + return modemList; } QDBusObjectPath QOfonoManagerInterface::currentModem() @@ -81,7 +107,7 @@ QDBusObjectPath QOfonoManagerInterface::currentModem() QList<QDBusObjectPath> modems = getModems(); foreach (const QDBusObjectPath &modem, modems) { QOfonoModemInterface device(modem.path()); - if(device.isPowered() && device.isOnline()) + if (device.isPowered() && device.isOnline()) return modem;; } return QDBusObjectPath(); @@ -92,7 +118,7 @@ void QOfonoManagerInterface::connectNotify(const QMetaMethod &signal) { static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QOfonoManagerInterface::propertyChanged); if (signal == propertyChangedSignal) { - if(!connection().connect(QLatin1String(OFONO_SERVICE), + if (!connection().connect(QLatin1String(OFONO_SERVICE), QLatin1String(OFONO_MANAGER_PATH), QLatin1String(OFONO_MANAGER_INTERFACE), QLatin1String("PropertyChanged"), @@ -140,7 +166,7 @@ QVariant QOfonoManagerInterface::getProperty(const QString &property) QVariantMap QOfonoManagerInterface::getProperties() { QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties")); - if(reply.isValid()) + if (reply.isValid()) return reply.value(); else return QVariantMap(); @@ -234,7 +260,7 @@ QStringList QOfonoModemInterface::getInterfaces() QString QOfonoModemInterface::defaultInterface() { - foreach(const QString &modem,getInterfaces()) { + foreach (const QString &modem,getInterfaces()) { return modem; } return QString(); @@ -245,7 +271,7 @@ void QOfonoModemInterface::connectNotify(const QMetaMethod &signal) { static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QOfonoModemInterface::propertyChanged); if (signal == propertyChangedSignal) { - if(!connection().connect(QLatin1String(OFONO_SERVICE), + if (!connection().connect(QLatin1String(OFONO_SERVICE), this->path(), QLatin1String(OFONO_MODEM_INTERFACE), QLatin1String("PropertyChanged"), @@ -363,15 +389,23 @@ QString QOfonoNetworkRegistrationInterface::getBaseStation() QList <QDBusObjectPath> QOfonoNetworkRegistrationInterface::getOperators() { - QVariant var = getProperty("Operators"); - return qdbus_cast<QList <QDBusObjectPath> >(var); + QList <QDBusObjectPath> operatorList; + QList<QVariant> argumentList; + QDBusReply<PathPropertiesList > reply = this->asyncCallWithArgumentList(QLatin1String("GetOperators"), + argumentList); + if (reply.isValid()) { + foreach (ObjectPathProperties netop, reply.value()) { + operatorList << netop.path; + } + } + return operatorList; } void QOfonoNetworkRegistrationInterface::connectNotify(const QMetaMethod &signal) { static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QOfonoNetworkRegistrationInterface::propertyChanged); if (signal == propertyChangedSignal) { - if(!connection().connect(QLatin1String(OFONO_SERVICE), + if (!connection().connect(QLatin1String(OFONO_SERVICE), this->path(), QLatin1String(OFONO_NETWORK_REGISTRATION_INTERFACE), QLatin1String("PropertyChanged"), @@ -473,7 +507,7 @@ void QOfonoNetworkOperatorInterface::connectNotify(const QMetaMethod &signal) Q_UNUSED(signal); // static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QOfonoNetworkOperatorInterface::propertyChanged); // if (signal == propertyChangedSignal) { -// if(!connection().connect(QLatin1String(OFONO_SERVICE), +// if (!connection().connect(QLatin1String(OFONO_SERVICE), // this->path(), // QLatin1String(OFONO_NETWORK_OPERATOR_INTERFACE), // QLatin1String("PropertyChanged"), @@ -581,7 +615,7 @@ void QOfonoSimInterface::connectNotify(const QMetaMethod &signal) Q_UNUSED(signal); // static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QOfonoSimInterface::propertyChanged); // if (signal == propertyChangedSignal) { -// if(!connection().connect(QLatin1String(OFONO_SERVICE), +// if (!connection().connect(QLatin1String(OFONO_SERVICE), // this->path(), // QLatin1String(OFONO_SIM_MANAGER_INTERFACE), // QLatin1String("PropertyChanged"), @@ -648,8 +682,16 @@ QOfonoDataConnectionManagerInterface::~QOfonoDataConnectionManagerInterface() QList<QDBusObjectPath> QOfonoDataConnectionManagerInterface::getPrimaryContexts() { - QVariant var = getProperty("PrimaryContexts"); - return qdbus_cast<QList<QDBusObjectPath> >(var); + QList <QDBusObjectPath> contextList; + QList<QVariant> argumentList; + QDBusReply<PathPropertiesList > reply = this->asyncCallWithArgumentList(QLatin1String("GetContexts"), + argumentList); + if (reply.isValid()) { + foreach (ObjectPathProperties context, reply.value()) { + contextList << context.path; + } + } + return contextList; } bool QOfonoDataConnectionManagerInterface::isAttached() @@ -675,7 +717,7 @@ void QOfonoDataConnectionManagerInterface::connectNotify(const QMetaMethod &sign Q_UNUSED(signal); // static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QOfonoDataConnectionManagerInterface::propertyChanged); // if (signal == propertyChangedSignal) { -// if(!connection().connect(QLatin1String(OFONO_SERVICE), +// if (!connection().connect(QLatin1String(OFONO_SERVICE), // this->path(), // QLatin1String(OFONO_DATA_CONNECTION_MANAGER_INTERFACE), // QLatin1String("PropertyChanged"), @@ -799,7 +841,7 @@ void QOfonoPrimaryDataContextInterface::connectNotify(const QMetaMethod &signal) Q_UNUSED(signal); // static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QOfonoPrimaryDataContextInterface::propertyChanged); // if (signal == propertyChangedSignal) { -// if(!connection().connect(QLatin1String(OFONO_SERVICE), +// if (!connection().connect(QLatin1String(OFONO_SERVICE), // this->path(), // QLatin1String(OFONO_DATA_CONTEXT_INTERFACE), // QLatin1String("PropertyChanged"), @@ -861,7 +903,7 @@ bool QOfonoPrimaryDataContextInterface::setProp(const QString &property, const Q QLatin1String("SetProperty"), args); bool ok = true; - if(reply.type() != QDBusMessage::ReplyMessage) { + if (reply.type() != QDBusMessage::ReplyMessage) { qWarning() << reply.errorMessage(); ok = false; } @@ -885,7 +927,7 @@ void QOfonoSmsInterface::connectNotify(const QMetaMethod &signal) { static const QMetaMethod propertyChangedSignal = QMetaMethod::fromSignal(&QOfonoSmsInterface::propertyChanged); if (signal == propertyChangedSignal) { - if(!connection().connect(QLatin1String(OFONO_SERVICE), + if (!connection().connect(QLatin1String(OFONO_SERVICE), this->path(), QLatin1String(OFONO_SMS_MANAGER_INTERFACE), QLatin1String("PropertyChanged"), @@ -912,7 +954,7 @@ void QOfonoSmsInterface::connectNotify(const QMetaMethod &signal) static const QMetaMethod immediateMessageSignal = QMetaMethod::fromSignal(&QOfonoSmsInterface::immediateMessage); if (signal == immediateMessageSignal) { - if(!connection().connect(QLatin1String(OFONO_SERVICE), + if (!connection().connect(QLatin1String(OFONO_SERVICE), this->path(), QLatin1String(OFONO_SMS_MANAGER_INTERFACE), QLatin1String("ImmediateMessage"), @@ -923,7 +965,7 @@ void QOfonoSmsInterface::connectNotify(const QMetaMethod &signal) static const QMetaMethod incomingMessageSignal = QMetaMethod::fromSignal(&QOfonoSmsInterface::incomingMessage); if (signal == incomingMessageSignal) { - if(!connection().connect(QLatin1String(OFONO_SERVICE), + if (!connection().connect(QLatin1String(OFONO_SERVICE), this->path(), QLatin1String(OFONO_SMS_MANAGER_INTERFACE), QLatin1String("IncomingMessage"), diff --git a/src/plugins/bearer/connman/qofonoservice_linux_p.h b/src/plugins/bearer/connman/qofonoservice_linux_p.h index 85f6602023..00be9aa675 100644 --- a/src/plugins/bearer/connman/qofonoservice_linux_p.h +++ b/src/plugins/bearer/connman/qofonoservice_linux_p.h @@ -88,6 +88,14 @@ QT_BEGIN_NAMESPACE QT_END_NAMESPACE +struct ObjectPathProperties +{ + QDBusObjectPath path; + QVariantMap properties; +}; +typedef QList<ObjectPathProperties> PathPropertiesList; +Q_DECLARE_METATYPE(ObjectPathProperties) +Q_DECLARE_METATYPE (PathPropertiesList) QT_BEGIN_NAMESPACE |