update ofono API

Task-number: QTBUG-29381
Change-Id: I952b73d86b4e8f497b4ff90d10c1f5312882bd8a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Lorn Potter 2013-01-31 07:02:27 +10:00 committed by The Qt Project
parent 38f740e4de
commit 539a024819
2 changed files with 70 additions and 20 deletions

View File

@ -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"),

View File

@ -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