blob: 3a395ebb5b307b9d8df5caad4eca883b73fa7ab1 [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QObject>
#include <QList>
#include <QtDBus/QtDBus>
#include <QtDBus/QDBusConnection>
#include <QtDBus/QDBusError>
#include <QtDBus/QDBusInterface>
#include <QtDBus/QDBusMessage>
#include <QtDBus/QDBusReply>
#include <QtDBus/QDBusPendingCallWatcher>
#include <QtDBus/QDBusObjectPath>
#include <QtDBus/QDBusPendingCall>
#include "qofonoservice_linux_p.h"
QT_BEGIN_NAMESPACE
static QDBusConnection dbusConnection = QDBusConnection::systemBus();
QOfonoManagerInterface::QOfonoManagerInterface( QObject *parent)
: QDBusAbstractInterface(QLatin1String(OFONO_SERVICE),
QLatin1String(OFONO_MANAGER_PATH),
OFONO_MANAGER_INTERFACE,
QDBusConnection::systemBus(), parent)
{
}
QOfonoManagerInterface::~QOfonoManagerInterface()
{
}
QList <QDBusObjectPath> QOfonoManagerInterface::getModems()
{
QVariant var = getProperty("Modems");
return qdbus_cast<QList<QDBusObjectPath> >(var);
}
QDBusObjectPath QOfonoManagerInterface::currentModem()
{
QList<QDBusObjectPath> modems = getModems();
foreach(const QDBusObjectPath modem, modems) {
QOfonoModemInterface device(modem.path());
if(device.isPowered() && device.isOnline())
return modem;;
}
return QDBusObjectPath();
}
void QOfonoManagerInterface::connectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
QLatin1String(OFONO_MANAGER_PATH),
QLatin1String(OFONO_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(const QString &, const QDBusVariant & )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(propertyChangedContext(QString,QString,QDBusVariant))) {
QOfonoDBusHelper *helper;
helper = new QOfonoDBusHelper(this);
dbusConnection.connect(QLatin1String(OFONO_SERVICE),
QLatin1String(OFONO_MANAGER_PATH),
QLatin1String(OFONO_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"),
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
}
}
void QOfonoManagerInterface::disconnectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QVariant))) {
}
}
QVariant QOfonoManagerInterface::getProperty(const QString &property)
{
QVariantMap map = getProperties();
if (map.contains(property)) {
return map.value(property);
} else {
qDebug() << Q_FUNC_INFO << "does not contain" << property;
}
return QVariant();
}
QVariantMap QOfonoManagerInterface::getProperties()
{
QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties"));
if(reply.isValid())
return reply.value();
else
return QVariantMap();
}
QOfonoDBusHelper::QOfonoDBusHelper(QObject * parent)
: QObject(parent)
{
}
QOfonoDBusHelper::~QOfonoDBusHelper()
{
}
void QOfonoDBusHelper::propertyChanged(const QString &item, const QDBusVariant &var)
{
QDBusMessage msg = this->message();
Q_EMIT propertyChangedContext(msg.path() ,item, var);
}
QOfonoModemInterface::QOfonoModemInterface(const QString &dbusPathName, QObject *parent)
: QDBusAbstractInterface(QLatin1String(OFONO_SERVICE),
dbusPathName,
OFONO_MODEM_INTERFACE,
QDBusConnection::systemBus(), parent)
{
}
QOfonoModemInterface::~QOfonoModemInterface()
{
}
bool QOfonoModemInterface::isPowered()
{
QVariant var = getProperty("Powered");
return qdbus_cast<bool>(var);
}
bool QOfonoModemInterface::isOnline()
{
QVariant var = getProperty("Online");
return qdbus_cast<bool>(var);
}
QString QOfonoModemInterface::getName()
{
QVariant var = getProperty("Name");
return qdbus_cast<QString>(var);
}
QString QOfonoModemInterface::getManufacturer()
{
QVariant var = getProperty("Manufacturer");
return qdbus_cast<QString>(var);
}
QString QOfonoModemInterface::getModel()
{
QVariant var = getProperty("Model");
return qdbus_cast<QString>(var);
}
QString QOfonoModemInterface::getRevision()
{
QVariant var = getProperty("Revision");
return qdbus_cast<QString>(var);
}
QString QOfonoModemInterface::getSerial()
{
QVariant var = getProperty("Serial");
return qdbus_cast<QString>(var);
}
QStringList QOfonoModemInterface::getFeatures()
{
//sms, sim
QVariant var = getProperty("Features");
return qdbus_cast<QStringList>(var);
}
QStringList QOfonoModemInterface::getInterfaces()
{
QVariant var = getProperty("Interfaces");
return qdbus_cast<QStringList>(var);
}
QString QOfonoModemInterface::defaultInterface()
{
foreach(const QString &modem,getInterfaces()) {
return modem;
}
return QString();
}
void QOfonoModemInterface::connectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_MODEM_INTERFACE),
QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(const QString &, const QDBusVariant & )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(propertyChangedContext(QString,QString,QDBusVariant))) {
QOfonoDBusHelper *helper;
helper = new QOfonoDBusHelper(this);
dbusConnection.connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_MODEM_INTERFACE),
QLatin1String("PropertyChanged"),
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}}
void QOfonoModemInterface::disconnectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QVariant))) {
}
}
QVariantMap QOfonoModemInterface::getProperties()
{
QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties"));
return reply.value();
}
QVariant QOfonoModemInterface::getProperty(const QString &property)
{
QVariant var;
QVariantMap map = getProperties();
if (map.contains(property)) {
var = map.value(property);
} else {
qDebug() << Q_FUNC_INFO << "does not contain" << property;
}
return var;
}
QOfonoNetworkRegistrationInterface::QOfonoNetworkRegistrationInterface(const QString &dbusPathName, QObject *parent)
: QDBusAbstractInterface(QLatin1String(OFONO_SERVICE),
dbusPathName,
OFONO_NETWORK_REGISTRATION_INTERFACE,
QDBusConnection::systemBus(), parent)
{
}
QOfonoNetworkRegistrationInterface::~QOfonoNetworkRegistrationInterface()
{
}
QString QOfonoNetworkRegistrationInterface::getStatus()
{
/*
"unregistered" Not registered to any network
"registered" Registered to home network
"searching" Not registered, but searching
"denied" Registration has been denied
"unknown" Status is unknown
"roaming" Registered, but roaming*/
QVariant var = getProperty("Status");
return qdbus_cast<QString>(var);
}
quint16 QOfonoNetworkRegistrationInterface::getLac()
{
QVariant var = getProperty("LocationAreaCode");
return var.value<quint16>();
}
quint32 QOfonoNetworkRegistrationInterface::getCellId()
{
QVariant var = getProperty("CellId");
return var.value<quint32>();
}
QString QOfonoNetworkRegistrationInterface::getTechnology()
{
// "gsm", "edge", "umts", "hspa","lte"
QVariant var = getProperty("Technology");
return qdbus_cast<QString>(var);
}
QString QOfonoNetworkRegistrationInterface::getOperatorName()
{
QVariant var = getProperty("Name");
return qdbus_cast<QString>(var);
}
int QOfonoNetworkRegistrationInterface::getSignalStrength()
{
QVariant var = getProperty("Strength");
return qdbus_cast<int>(var);
}
QString QOfonoNetworkRegistrationInterface::getBaseStation()
{
QVariant var = getProperty("BaseStation");
return qdbus_cast<QString>(var);
}
QList <QDBusObjectPath> QOfonoNetworkRegistrationInterface::getOperators()
{
QVariant var = getProperty("Operators");
return qdbus_cast<QList <QDBusObjectPath> >(var);
}
void QOfonoNetworkRegistrationInterface::connectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_NETWORK_REGISTRATION_INTERFACE),
QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(const QString &, const QDBusVariant & )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(propertyChangedContext(QString,QString,QDBusVariant))) {
QOfonoDBusHelper *helper;
helper = new QOfonoDBusHelper(this);
dbusConnection.connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_NETWORK_REGISTRATION_INTERFACE),
QLatin1String("PropertyChanged"),
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
void QOfonoNetworkRegistrationInterface::disconnectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QVariant))) {
}
}
QVariant QOfonoNetworkRegistrationInterface::getProperty(const QString &property)
{
QVariant var;
QVariantMap map = getProperties();
if (map.contains(property)) {
var = map.value(property);
} else {
qDebug() << Q_FUNC_INFO << "does not contain" << property;
}
return var;
}
QVariantMap QOfonoNetworkRegistrationInterface::getProperties()
{
QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties"));
return reply.value();
}
QOfonoNetworkOperatorInterface::QOfonoNetworkOperatorInterface(const QString &dbusPathName, QObject *parent)
: QDBusAbstractInterface(QLatin1String(OFONO_SERVICE),
dbusPathName,
OFONO_NETWORK_OPERATOR_INTERFACE,
QDBusConnection::systemBus(), parent)
{
}
QOfonoNetworkOperatorInterface::~QOfonoNetworkOperatorInterface()
{
}
QString QOfonoNetworkOperatorInterface::getName()
{
QVariant var = getProperty("Name");
return qdbus_cast<QString>(var);
}
QString QOfonoNetworkOperatorInterface::getStatus()
{
// "unknown", "available", "current" and "forbidden"
QVariant var = getProperty("Status");
return qdbus_cast<QString>(var);
}
QString QOfonoNetworkOperatorInterface::getMcc()
{
QVariant var = getProperty("MobileCountryCode");
return qdbus_cast<QString>(var);
}
QString QOfonoNetworkOperatorInterface::getMnc()
{
QVariant var = getProperty("MobileNetworkCode");
return qdbus_cast<QString>(var);
}
QStringList QOfonoNetworkOperatorInterface::getTechnologies()
{
QVariant var = getProperty("Technologies");
return qdbus_cast<QStringList>(var);
}
void QOfonoNetworkOperatorInterface::connectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_NETWORK_OPERATOR_INTERFACE),
QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(const QString &, const QDBusVariant & )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(propertyChangedContext(QString,QString,QDBusVariant))) {
QOfonoDBusHelper *helper;
helper = new QOfonoDBusHelper(this);
dbusConnection.connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_NETWORK_OPERATOR_INTERFACE),
QLatin1String("PropertyChanged"),
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
void QOfonoNetworkOperatorInterface::disconnectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QVariant))) {
}
}
QVariant QOfonoNetworkOperatorInterface::getProperty(const QString &property)
{
QVariant var;
QVariantMap map = getProperties();
if (map.contains(property)) {
var = map.value(property);
} else {
qDebug() << Q_FUNC_INFO << "does not contain" << property;
}
return var;
}
QVariantMap QOfonoNetworkOperatorInterface::getProperties()
{
QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties"));
return reply.value();
}
QOfonoSimInterface::QOfonoSimInterface(const QString &dbusPathName, QObject *parent)
: QDBusAbstractInterface(QLatin1String(OFONO_SERVICE),
dbusPathName,
OFONO_SIM_MANAGER_INTERFACE,
QDBusConnection::systemBus(), parent)
{
}
QOfonoSimInterface::~QOfonoSimInterface()
{
}
bool QOfonoSimInterface::isPresent()
{
QVariant var = getProperty("Present");
return qdbus_cast<bool>(var);
}
QString QOfonoSimInterface::getHomeMcc()
{
QVariant var = getProperty("MobileCountryCode");
return qdbus_cast<QString>(var);
}
QString QOfonoSimInterface::getHomeMnc()
{
QVariant var = getProperty("MobileNetworkCode");
return qdbus_cast<QString>(var);
}
// QStringList subscriberNumbers();
// QMap<QString,QString> serviceNumbers();
QString QOfonoSimInterface::pinRequired()
{
QVariant var = getProperty("PinRequired");
return qdbus_cast<QString>(var);
}
QString QOfonoSimInterface::lockedPins()
{
QVariant var = getProperty("LockedPins");
return qdbus_cast<QString>(var);
}
QString QOfonoSimInterface::cardIdentifier()
{
QVariant var = getProperty("CardIdentifier");
return qdbus_cast<QString>(var);
}
void QOfonoSimInterface::connectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_SIM_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(const QString &, const QDBusVariant & )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(propertyChangedContext(QString,QString,QDBusVariant))) {
QOfonoDBusHelper *helper;
helper = new QOfonoDBusHelper(this);
dbusConnection.connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_SIM_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"),
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
void QOfonoSimInterface::disconnectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QVariant))) {
}
}
QVariant QOfonoSimInterface::getProperty(const QString &property)
{
QVariant var;
QVariantMap map = getProperties();
if (map.contains(property)) {
var = map.value(property);
} else {
qDebug() << Q_FUNC_INFO << "does not contain" << property;
}
return var;
}
QVariantMap QOfonoSimInterface::getProperties()
{
QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties"));
return reply.value();
}
QOfonoDataConnectionManagerInterface::QOfonoDataConnectionManagerInterface(const QString &dbusPathName, QObject *parent)
: QDBusAbstractInterface(QLatin1String(OFONO_SERVICE),
dbusPathName,
OFONO_DATA_CONNECTION_MANAGER_INTERFACE,
QDBusConnection::systemBus(), parent)
{
}
QOfonoDataConnectionManagerInterface::~QOfonoDataConnectionManagerInterface()
{
}
QList<QDBusObjectPath> QOfonoDataConnectionManagerInterface::getPrimaryContexts()
{
QVariant var = getProperty("PrimaryContexts");
return qdbus_cast<QList<QDBusObjectPath> >(var);
}
bool QOfonoDataConnectionManagerInterface::isAttached()
{
QVariant var = getProperty("Attached");
return qdbus_cast<bool>(var);
}
bool QOfonoDataConnectionManagerInterface::isRoamingAllowed()
{
QVariant var = getProperty("RoamingAllowed");
return qdbus_cast<bool>(var);
}
bool QOfonoDataConnectionManagerInterface::isPowered()
{
QVariant var = getProperty("Powered");
return qdbus_cast<bool>(var);
}
void QOfonoDataConnectionManagerInterface::connectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_DATA_CONNECTION_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(const QString &, const QDBusVariant & )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(propertyChangedContext(QString,QString,QDBusVariant))) {
QOfonoDBusHelper *helper;
helper = new QOfonoDBusHelper(this);
dbusConnection.connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_DATA_CONNECTION_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"),
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
void QOfonoDataConnectionManagerInterface::disconnectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QVariant))) {
}
}
QVariant QOfonoDataConnectionManagerInterface::getProperty(const QString &property)
{
QVariant var;
QVariantMap map = getProperties();
if (map.contains(property)) {
var = map.value(property);
} else {
qDebug() << Q_FUNC_INFO << "does not contain" << property;
}
return var;
}
QVariantMap QOfonoDataConnectionManagerInterface::getProperties()
{
QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties"));
return reply.value();
}
QOfonoPrimaryDataContextInterface::QOfonoPrimaryDataContextInterface(const QString &dbusPathName, QObject *parent)
: QDBusAbstractInterface(QLatin1String(OFONO_SERVICE),
dbusPathName,
OFONO_DATA_CONTEXT_INTERFACE,
QDBusConnection::systemBus(), parent)
{
}
QOfonoPrimaryDataContextInterface::~QOfonoPrimaryDataContextInterface()
{
}
bool QOfonoPrimaryDataContextInterface::isActive()
{
QVariant var = getProperty("Active");
return qdbus_cast<bool>(var);
}
QString QOfonoPrimaryDataContextInterface::getApName()
{
QVariant var = getProperty("AccessPointName");
return qdbus_cast<QString>(var);
}
QString QOfonoPrimaryDataContextInterface::getType()
{
QVariant var = getProperty("Type");
return qdbus_cast<QString>(var);
}
QString QOfonoPrimaryDataContextInterface::getName()
{
QVariant var = getProperty("Name");
return qdbus_cast<QString>(var);
}
QVariantMap QOfonoPrimaryDataContextInterface::getSettings()
{
QVariant var = getProperty("Settings");
return qdbus_cast<QVariantMap>(var);
}
QString QOfonoPrimaryDataContextInterface::getInterface()
{
QVariant var = getProperty("Interface");
return qdbus_cast<QString>(var);
}
QString QOfonoPrimaryDataContextInterface::getAddress()
{
QVariant var = getProperty("Address");
return qdbus_cast<QString>(var);
}
bool QOfonoPrimaryDataContextInterface::setActive(bool on)
{
// this->setProperty("Active", QVariant(on));
return setProp("Active", qVariantFromValue(on));
}
bool QOfonoPrimaryDataContextInterface::setApn(const QString &name)
{
return setProp("AccessPointName", QVariant::fromValue(name));
}
void QOfonoPrimaryDataContextInterface::connectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_DATA_CONTEXT_INTERFACE),
QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(const QString &, const QDBusVariant & )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(propertyChangedContext(QString,QString,QDBusVariant))) {
QOfonoDBusHelper *helper;
helper = new QOfonoDBusHelper(this);
dbusConnection.connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_DATA_CONTEXT_INTERFACE),
QLatin1String("PropertyChanged"),
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
void QOfonoPrimaryDataContextInterface::disconnectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QVariant))) {
}
}
QVariant QOfonoPrimaryDataContextInterface::getProperty(const QString &property)
{
QVariant var;
QVariantMap map = getProperties();
if (map.contains(property)) {
var = map.value(property);
} else {
qDebug() << Q_FUNC_INFO << "does not contain" << property;
}
return var;
}
QVariantMap QOfonoPrimaryDataContextInterface::getProperties()
{
QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties"));
return reply.value();
}
bool QOfonoPrimaryDataContextInterface::setProp(const QString &property, const QVariant &var)
{
QList<QVariant> args;
args << qVariantFromValue(property) << qVariantFromValue(QDBusVariant(var));
QDBusMessage reply = this->callWithArgumentList(QDBus::AutoDetect,
QLatin1String("SetProperty"),
args);
bool ok = true;
if(reply.type() != QDBusMessage::ReplyMessage) {
qWarning() << reply.errorMessage();
ok = false;
}
qWarning() << reply.errorMessage();
return ok;
}
QOfonoSmsInterface::QOfonoSmsInterface(const QString &dbusPathName, QObject *parent)
: QDBusAbstractInterface(QLatin1String(OFONO_SERVICE),
dbusPathName,
OFONO_SMS_MANAGER_INTERFACE,
QDBusConnection::systemBus(), parent)
{
}
QOfonoSmsInterface::~QOfonoSmsInterface()
{
}
void QOfonoSmsInterface::connectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_SMS_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"),
this,SIGNAL(propertyChanged(const QString &, const QDBusVariant & )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(propertyChangedContext(QString,QString,QDBusVariant))) {
QOfonoDBusHelper *helper;
helper = new QOfonoDBusHelper(this);
dbusConnection.connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_SMS_MANAGER_INTERFACE),
QLatin1String("PropertyChanged"),
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
}
if (QLatin1String(signal) == SIGNAL(immediateMessage(QString,QVariantMap))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_SMS_MANAGER_INTERFACE),
QLatin1String("ImmediateMessage"),
this,SIGNAL(immediateMessage(QString,QVariantMap )))) {
qWarning() << "PropertyCHanged not connected";
}
}
if (QLatin1String(signal) == SIGNAL(incomingMessage(QString,QVariantMap))) {
if(!connection().connect(QLatin1String(OFONO_SERVICE),
this->path(),
QLatin1String(OFONO_SMS_MANAGER_INTERFACE),
QLatin1String("IncomingMessage"),
this,SIGNAL(incomingMessage(QString,QVariantMap)))) {
qWarning() << "PropertyCHanged not connected";
}
}
}
void QOfonoSmsInterface::disconnectNotify(const char *signal)
{
if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QVariant))) {
}
}
QVariant QOfonoSmsInterface::getProperty(const QString &property)
{
QVariant var;
QVariantMap map = getProperties();
if (map.contains(property)) {
var = map.value(property);
} else {
qDebug() << Q_FUNC_INFO << "does not contain" << property;
}
return var;
}
QVariantMap QOfonoSmsInterface::getProperties()
{
QDBusReply<QVariantMap > reply = this->call(QLatin1String("GetProperties"));
return reply.value();
}
void QOfonoSmsInterface::sendMessage(const QString &to, const QString &message)
{
QDBusReply<QString> reply = this->call(QLatin1String("SendMessage"),
QVariant::fromValue(to),
QVariant::fromValue(message));
bool ok = true;
if(reply.error().type() == QDBusError::InvalidArgs) {
qWarning() << reply.error().message();
ok = false;
}
}
QT_END_NAMESPACE