Example #1
0
void QOfonoCallForwarding::getPropertiesComplete(QDBusPendingCallWatcher *call)
{
    QDBusPendingReply<QVariantMap> reply = *call;
    if (!reply.isError()) {
        d_ptr->properties = reply.value();
        Q_EMIT voiceUnconditionalChanged(voiceUnconditional());
        Q_EMIT voiceBusyChanged(voiceBusy());
        Q_EMIT voiceNoReplyChanged(voiceNoReply());
        Q_EMIT voiceNoReplyTimeoutChanged(voiceNoReplyTimeout());
        Q_EMIT voiceNotReachableChanged(voiceNotReachable());
        Q_EMIT forwardingFlagOnSimChanged(forwardingFlagOnSim());
        Q_EMIT readyChanged();
    } else {
        Q_EMIT getPropertiesFailed();
    }
    call->deleteLater();
}
Example #2
0
void QOfonoCallForwarding::propertyChanged(const QString& property, const QDBusVariant& dbusvalue)
{
    QVariant value = dbusvalue.variant();
    d_ptr->properties.insert(property,value);

    if (property == QLatin1String("VoiceUnconditional")) {
        Q_EMIT voiceUnconditionalChanged(value.value<QString>());
    } else if (property == QLatin1String("VoiceBusy")) {
        Q_EMIT voiceBusyChanged(value.value<QString>());
    } else if (property == QLatin1String("VoiceNoReply")) {
        Q_EMIT voiceNoReplyChanged(value.value<QString>());
    } else if (property == QLatin1String("VoiceNoReplyTimeout")) {
        Q_EMIT voiceNoReplyTimeoutChanged(value.value<quint16>());
    } else if (property == QLatin1String("VoiceNotReachable")) {
        Q_EMIT voiceNotReachableChanged(value.value<QString>());
    } else if (property == QLatin1String("ForwardingFlagOnSim")) {
        Q_EMIT forwardingFlagOnSimChanged(value.value<bool>());
    }
}
    void testQOfonoCallForwarding()
    {
        QSignalSpy voiceUnconditionalComplete(m, SIGNAL(voiceUnconditionalComplete(bool)));
        QSignalSpy voiceBusyComplete(m, SIGNAL(voiceBusyComplete(bool)));
        QSignalSpy voiceNoReplyComplete(m, SIGNAL(voiceNoReplyComplete(bool)));
        QSignalSpy voiceNoReplyTimeoutComplete(m, SIGNAL(voiceNoReplyTimeoutComplete(bool)));
        QSignalSpy voiceNotReachableComplete(m, SIGNAL(voiceNotReachableComplete(bool)));

        QSignalSpy voiceUnconditionalChanged(m, SIGNAL(voiceUnconditionalChanged(QString)));
        QSignalSpy voiceBusyChanged(m, SIGNAL(voiceBusyChanged(QString)));
        QSignalSpy voiceNoReplyChanged(m, SIGNAL(voiceNoReplyChanged(QString)));
        QSignalSpy voiceNoReplyTimeoutChanged(m, SIGNAL(voiceNoReplyTimeoutChanged(ushort)));
        QSignalSpy voiceNotReachableChanged(m, SIGNAL(voiceNotReachableChanged(QString)));
        QSignalSpy forwardingFlagOnSimChanged(m, SIGNAL(forwardingFlagOnSimChanged(bool)));

        QCOMPARE(m->voiceUnconditional(), QString(""));
        QCOMPARE(m->voiceBusy(), QString(""));
        QCOMPARE(m->voiceNoReply(), QString(""));
        QCOMPARE(m->voiceNoReplyTimeout(), quint16(20));
        QCOMPARE(m->voiceNotReachable(), QString(""));
        QCOMPARE(m->forwardingFlagOnSim(), false);

        m->setVoiceUnconditional("abc");
        QTRY_COMPARE(voiceUnconditionalComplete.count(), 1);
        QCOMPARE(voiceUnconditionalComplete.takeFirst().at(0).toBool(), false);
        m->setVoiceBusy("abc");
        QTRY_COMPARE(voiceBusyComplete.count(), 1);
        QCOMPARE(voiceBusyComplete.takeFirst().at(0).toBool(), false);
        m->setVoiceNoReply("abc");
        QTRY_COMPARE(voiceNoReplyComplete.count(), 1);
        QCOMPARE(voiceNoReplyComplete.takeFirst().at(0).toBool(), false);
        m->setVoiceNoReplyTimeout(-30);
        QTRY_COMPARE(voiceNoReplyTimeoutComplete.count(), 1);
        QCOMPARE(voiceNoReplyTimeoutComplete.takeFirst().at(0).toBool(), false);
        m->setVoiceNotReachable("abc");
        QTRY_COMPARE(voiceNotReachableComplete.count(), 1);
        QCOMPARE(voiceNotReachableComplete.takeFirst().at(0).toBool(), false);

        m->setVoiceBusy("12345678");
        QTRY_COMPARE(voiceBusyComplete.count(), 1);
        QCOMPARE(voiceBusyComplete.takeFirst().at(0).toBool(), true);
        QTRY_COMPARE(voiceBusyChanged.count(), 1);
        QCOMPARE(voiceBusyChanged.takeFirst().at(0).toString(), QString("12345678"));
        m->setVoiceNoReply("12345678");
        QTRY_COMPARE(voiceNoReplyComplete.count(), 1);
        QCOMPARE(voiceNoReplyComplete.takeFirst().at(0).toBool(), true);
        QTRY_COMPARE(voiceNoReplyChanged.count(), 1);
        QCOMPARE(voiceNoReplyChanged.takeFirst().at(0).toString(), QString("12345678"));
        m->setVoiceNoReplyTimeout(30);
        QTRY_COMPARE(voiceNoReplyTimeoutComplete.count(), 1);
        QCOMPARE(voiceNoReplyTimeoutComplete.takeFirst().at(0).toBool(), true);
        QTRY_COMPARE(voiceNoReplyTimeoutChanged.count(), 1);
        QCOMPARE(voiceNoReplyTimeoutChanged.takeFirst().at(0).value<quint16>(), quint16(30));
        m->setVoiceNotReachable("12345678");
        QTRY_COMPARE(voiceNotReachableComplete.count(), 1);
        QCOMPARE(voiceNotReachableComplete.takeFirst().at(0).toBool(), true);
        QTRY_COMPARE(voiceNotReachableChanged.count(), 1);
        QCOMPARE(voiceNotReachableChanged.takeFirst().at(0).toString(), QString("12345678"));

        QCOMPARE(m->voiceBusy(), QString("12345678"));
        QCOMPARE(m->voiceNoReply(), QString("12345678"));
        QCOMPARE(m->voiceNoReplyTimeout(), quint16(30));
        QCOMPARE(m->voiceNotReachable(), QString("12345678"));
        QCOMPARE(m->voiceUnconditional(), QString(""));
        QCOMPARE(m->forwardingFlagOnSim(), false);

        m->setVoiceUnconditional("12345678");
        QTRY_COMPARE(voiceUnconditionalComplete.count(), 1);
        QCOMPARE(voiceUnconditionalComplete.takeFirst().at(0).toBool(), true);
        QTRY_COMPARE(voiceUnconditionalChanged.count(), 1);
        QCOMPARE(voiceUnconditionalChanged.takeFirst().at(0).toString(), QString("12345678"));

        QTRY_COMPARE(forwardingFlagOnSimChanged.count(), 1);
        QCOMPARE(forwardingFlagOnSimChanged.takeFirst().at(0).toBool(), true);

        // When VoiceUnconditional is active, all other CF is cleared and enabled again when
        // VoiceUnconditional is deactivated
        QTRY_COMPARE(voiceBusyChanged.count(), 1);
        QCOMPARE(voiceBusyChanged.takeFirst().at(0).toString(), QString(""));
        QTRY_COMPARE(voiceNoReplyChanged.count(), 1);
        QCOMPARE(voiceNoReplyChanged.takeFirst().at(0).toString(), QString(""));
        QTRY_COMPARE(voiceNotReachableChanged.count(), 1);
        QCOMPARE(voiceNotReachableChanged.takeFirst().at(0).toString(), QString(""));

        QCOMPARE(m->voiceBusy(), QString(""));
        QCOMPARE(m->voiceNoReply(), QString(""));
        QCOMPARE(m->voiceNotReachable(), QString(""));
        QCOMPARE(m->voiceUnconditional(), QString("12345678"));
        QCOMPARE(m->forwardingFlagOnSim(), true);

        m->setVoiceUnconditional("");
        QTRY_COMPARE(voiceUnconditionalComplete.count(), 1);
        QCOMPARE(voiceUnconditionalComplete.takeFirst().at(0).toBool(), true);
        QTRY_COMPARE(voiceUnconditionalChanged.count(), 1);
        QCOMPARE(voiceUnconditionalChanged.takeFirst().at(0).toString(), QString(""));

        QTRY_COMPARE(forwardingFlagOnSimChanged.count(), 1);
        QCOMPARE(forwardingFlagOnSimChanged.takeFirst().at(0).toBool(), false);

        QTRY_COMPARE(voiceBusyChanged.count(), 1);
        QCOMPARE(voiceBusyChanged.takeFirst().at(0).toString(), QString("12345678"));
        QTRY_COMPARE(voiceNoReplyChanged.count(), 1);
        QCOMPARE(voiceNoReplyChanged.takeFirst().at(0).toString(), QString("12345678"));
        QTRY_COMPARE(voiceNotReachableChanged.count(), 1);
        QCOMPARE(voiceNotReachableChanged.takeFirst().at(0).toString(), QString("12345678"));

        QCOMPARE(m->voiceBusy(), QString("12345678"));
        QCOMPARE(m->voiceNoReply(), QString("12345678"));
        QCOMPARE(m->voiceNotReachable(), QString("12345678"));
        QCOMPARE(m->voiceUnconditional(), QString(""));
        QCOMPARE(m->forwardingFlagOnSim(), false);

        m->disableAll("all");
        QTRY_COMPARE(voiceUnconditionalChanged.count(), 0);
        QTRY_COMPARE(voiceBusyChanged.count(), 1);
        QCOMPARE(voiceBusyChanged.takeFirst().at(0).toString(), QString(""));
        QTRY_COMPARE(voiceNoReplyChanged.count(), 1);
        QCOMPARE(voiceNoReplyChanged.takeFirst().at(0).toString(), QString(""));
        QTRY_COMPARE(voiceNoReplyTimeoutChanged.count(), 1);
        QCOMPARE(voiceNoReplyTimeoutChanged.takeFirst().at(0).toUInt(), uint(20));
        QTRY_COMPARE(voiceNotReachableChanged.count(), 1);
        QCOMPARE(voiceNotReachableChanged.takeFirst().at(0).toString(), QString(""));
        QTRY_COMPARE(forwardingFlagOnSimChanged.count(), 0);

        QCOMPARE(m->voiceUnconditional(), QString(""));
        QCOMPARE(m->voiceBusy(), QString(""));
        QCOMPARE(m->voiceNoReply(), QString(""));
        QCOMPARE(m->voiceNoReplyTimeout(), quint16(20));
        QCOMPARE(m->voiceNotReachable(), QString(""));
        QCOMPARE(m->forwardingFlagOnSim(), false);
    }