Update connman bearer plugin for changed connman API.
This should also remain working for previous connman Change-Id: I5f0a1947f11948b202391ba0c256067faa01ce6d Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
12b68e817f
commit
2efccfeeef
|
|
@ -57,9 +57,24 @@
|
||||||
#ifndef QT_NO_DBUS
|
#ifndef QT_NO_DBUS
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
QDBusArgument &operator<<(QDBusArgument &argument, const ConnmanMap &map)
|
||||||
|
{
|
||||||
|
argument.beginStructure();
|
||||||
|
argument << map.objectPath << map.propertyMap;
|
||||||
|
argument.endStructure();
|
||||||
|
return argument;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QDBusArgument &operator>>(const QDBusArgument &argument, ConnmanMap &map)
|
||||||
|
{
|
||||||
|
argument.beginStructure();
|
||||||
|
argument >> map.objectPath >> map.propertyMap;
|
||||||
|
argument.endStructure();
|
||||||
|
return argument;
|
||||||
|
}
|
||||||
|
|
||||||
static QDBusConnection dbusConnection = QDBusConnection::systemBus();
|
static QDBusConnection dbusConnection = QDBusConnection::systemBus();
|
||||||
|
|
||||||
|
|
||||||
QConnmanManagerInterface::QConnmanManagerInterface( QObject *parent)
|
QConnmanManagerInterface::QConnmanManagerInterface( QObject *parent)
|
||||||
: QDBusAbstractInterface(QLatin1String(CONNMAN_SERVICE),
|
: QDBusAbstractInterface(QLatin1String(CONNMAN_SERVICE),
|
||||||
QLatin1String(CONNMAN_MANAGER_PATH),
|
QLatin1String(CONNMAN_MANAGER_PATH),
|
||||||
|
|
@ -301,14 +316,37 @@ QStringList QConnmanManagerInterface::getProfiles()
|
||||||
|
|
||||||
QStringList QConnmanManagerInterface::getTechnologies()
|
QStringList QConnmanManagerInterface::getTechnologies()
|
||||||
{
|
{
|
||||||
QVariant var = getProperty("Technologies");
|
QStringList list;
|
||||||
return qdbus_cast<QStringList >(var);
|
QDBusReply<ConnmanMapList> replyList = this->call(QLatin1String("GetTechnologies"));
|
||||||
|
if (replyList.isValid()) {
|
||||||
|
Q_FOREACH (ConnmanMap map, replyList.value()) {
|
||||||
|
list << map.objectPath.path();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// try for older version
|
||||||
|
QVariant var = getProperty("Technologies");
|
||||||
|
if (!var.isNull()) {
|
||||||
|
list = qdbus_cast<QStringList>(var);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList QConnmanManagerInterface::getServices()
|
QStringList QConnmanManagerInterface::getServices()
|
||||||
{
|
{
|
||||||
QVariant var = getProperty("Services");
|
QStringList list;
|
||||||
return qdbus_cast<QStringList >(var);
|
QDBusReply<ConnmanMapList> replyList = this->call(QLatin1String("GetServices"));
|
||||||
|
if (replyList.isValid()) {
|
||||||
|
Q_FOREACH (ConnmanMap map, replyList.value()) {
|
||||||
|
list << map.objectPath.path();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
QVariant var = getProperty("Services");
|
||||||
|
if (!var.isNull()) {
|
||||||
|
list = qdbus_cast<QStringList>(var);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString QConnmanManagerInterface::getPathForTechnology(const QString &name)
|
QString QConnmanManagerInterface::getPathForTechnology(const QString &name)
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@
|
||||||
#include <QtDBus/QDBusInterface>
|
#include <QtDBus/QDBusInterface>
|
||||||
#include <QtDBus/QDBusMessage>
|
#include <QtDBus/QDBusMessage>
|
||||||
#include <QtDBus/QDBusReply>
|
#include <QtDBus/QDBusReply>
|
||||||
|
#include <QtDBus/QDBusArgument>
|
||||||
|
|
||||||
#include <QtDBus/QDBusPendingCallWatcher>
|
#include <QtDBus/QDBusPendingCallWatcher>
|
||||||
#include <QtDBus/QDBusObjectPath>
|
#include <QtDBus/QDBusObjectPath>
|
||||||
|
|
@ -90,11 +91,23 @@
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
struct ConnmanMap {
|
||||||
|
QDBusObjectPath objectPath;
|
||||||
|
QVariantMap propertyMap;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef QList< ConnmanMap > ConnmanMapList;
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(ConnmanMap))
|
||||||
|
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(ConnmanMapList))
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
|
QDBusArgument &operator<<(QDBusArgument &argument, const ConnmanMap &obj);
|
||||||
|
const QDBusArgument &operator>>(const QDBusArgument &argument, ConnmanMap &obj);
|
||||||
|
|
||||||
class QConnmanManagerInterface : public QDBusAbstractInterface
|
class QConnmanManagerInterface : public QDBusAbstractInterface
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue