SLOT(unlockPinErr(const QDBusError&)));
}
+void OfonoSimManager::getIcon(quint8 id)
+{
+ QDBusMessage request;
+
+ request = QDBusMessage::createMethodCall("org.ofono",
+ path(), m_if->ifname(),
+ "GetIcon");
+ request << qVariantFromValue(id);
+
+ QDBusConnection::systemBus().callWithCallback(request, this,
+ SLOT(getIconResp(QByteArray)),
+ SLOT(getIconErr(const QDBusError&)));
+}
+
void OfonoSimManager::setSubscriberNumbers(const QStringList &numbers)
{
m_if->setProperty("SubscriberNumbers", qVariantFromValue(numbers));
return retries;
}
+bool OfonoSimManager::fixedDialing() const
+{
+ return m_if->properties()["FixedDialing"].value<bool>();
+}
+
+bool OfonoSimManager::barredDialing() const
+{
+ return m_if->properties()["BarredDialing"].value<bool>();
+}
+
void OfonoSimManager::propertyChanged(const QString& property, const QVariant& value)
{
if (property == "Present") {
OfonoPinRetries retries;
value.value<QDBusArgument>() >> retries;
emit pinRetriesChanged(retries);
+ } else if (property == "FixedDialing") {
+ emit fixedDialingChanged(value.value<bool>());
+ } else if (property == "BarredDialing") {
+ emit barredDialingChanged(value.value<bool>());
}
}
m_if->setError(error.name(), error.message());
emit unlockPinComplete(FALSE);
}
+
+void OfonoSimManager::getIconResp(QByteArray icon)
+{
+ emit getIconComplete(TRUE, icon);
+}
+void OfonoSimManager::getIconErr(QDBusError error)
+{
+ m_if->setError(error.name(), error.message());
+ emit getIconComplete(FALSE, QByteArray());
+}
Q_PROPERTY(QString cardIdentifier READ cardIdentifier NOTIFY cardIdentifierChanged)
Q_PROPERTY(QStringList preferredLanguages READ preferredLanguages NOTIFY preferredLanguagesChanged)
Q_PROPERTY(OfonoPinRetries pinRetries READ pinRetries NOTIFY pinRetriesChanged)
+ Q_PROPERTY(bool fixedDialing READ fixedDialing NOTIFY fixedDialingChanged)
+ Q_PROPERTY(bool barredDialing READ barredDialing NOTIFY barredDialingChanged)
public:
OfonoSimManager(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
QString cardIdentifier() const;
QStringList preferredLanguages() const;
OfonoPinRetries pinRetries() const;
+ bool fixedDialing() const;
+ bool barredDialing() const;
+public slots:
void changePin(const QString &pintype, const QString &oldpin, const QString &newpin);
void enterPin(const QString &pintype, const QString &pin);
void resetPin(const QString &pintype, const QString &puk, const QString &newpin);
void lockPin(const QString &pintype, const QString &pin);
void unlockPin(const QString &pintype, const QString &pin);
+ void getIcon(quint8 id);
void setSubscriberNumbers(const QStringList &numbers);
void cardIdentifierChanged(const QString &iccid);
void preferredLanguagesChanged(const QStringList &languages);
void pinRetriesChanged(const OfonoPinRetries &pinRetries);
+ void fixedDialingChanged(bool fixedDialing);
+ void barredDialingChanged(bool barredDialing);
void changePinComplete(bool success);
void enterPinComplete(bool success);
void resetPinComplete(bool success);
void lockPinComplete(bool success);
void unlockPinComplete(bool success);
-
+ void getIconComplete(bool success, const QByteArray &icon);
private slots:
void propertyChanged(const QString& property, const QVariant& value);
void lockPinErr(QDBusError error);
void unlockPinResp();
void unlockPinErr(QDBusError error);
+ void getIconResp(QByteArray icon);
+ void getIconErr(QDBusError error);
private:
QSignalSpy lockedPins(m, SIGNAL(lockedPinsChanged(QStringList)));
QSignalSpy cardIdentifier(m, SIGNAL(cardIdentifierChanged(QString)));
QSignalSpy preferredLanguages(m, SIGNAL(preferredLanguagesChanged(QStringList)));
+ QSignalSpy fixedDialing(m, SIGNAL(fixedDialingChanged(bool)));
+ QSignalSpy barredDialing(m, SIGNAL(barredDialingChanged(bool)));
QSignalSpy setSubscriberNumbersFailed(m, SIGNAL(setSubscriberNumbersFailed()));
QVERIFY(m->preferredLanguages().count() > 0);
QCOMPARE(m->preferredLanguages()[0], QString("de"));
QCOMPARE(m->pinRetries().count(), 0);
+ QCOMPARE(m->fixedDialing(), false);
+ QCOMPARE(m->barredDialing(), false);
QStringList numbers = m->subscriberNumbers();
QStringList newNumbers;
QStringList languages = preferredLanguages.takeFirst().at(0).toStringList();
QVERIFY(languages.count() > 0);
QCOMPARE(languages[0], QString("de"));
+ QCOMPARE(fixedDialing.count(), 0);
+ QCOMPARE(barredDialing.count(), 0);
}
void testOfonoSimManagerPin()
QCOMPARE(pinRetries.count(), 0);
}
+ void testOfonoSimManagerIcon()
+ {
+ QSignalSpy getIcon(m, SIGNAL(getIconComplete(bool, QByteArray)));
+ m->getIcon(0);
+ QTest::qWait(1000);
+ m->getIcon(1);
+ QTest::qWait(1000);
+ QCOMPARE(getIcon.count(), 2);
+ QCOMPARE(getIcon.takeFirst().at(0).toBool(), false);
+ QVariantList list = getIcon.takeFirst();
+ QCOMPARE(list.at(0).toBool(), true);
+ QVERIFY(list.at(1).toByteArray().length() > 0);
+ }
void cleanupTestCase()
{