QDBusConnection::systemBus().disconnect("org.ofono", QString(), m_if->ifname(),
"CallAdded", this,
SLOT(callAddedChanged(const QDBusObjectPath&, const QVariantMap&)));
-
QDBusConnection::systemBus().disconnect("org.ofono", QString(), m_if->ifname(),
"CallRemoved", this,
SLOT(callRemovedChanged(const QDBusObjectPath&)));
+ QDBusConnection::systemBus().disconnect("org.ofono", QString(), m_if->ifname(),
+ "BarringActive", this,
+ SIGNAL(barringActive(const QString&)));
+ QDBusConnection::systemBus().disconnect("org.ofono", QString(), m_if->ifname(),
+ "Forwarded", this,
+ SIGNAL(forwarded(const QString&)));
QDBusConnection::systemBus().connect("org.ofono", path, m_if->ifname(),
"CallAdded", this,
SLOT(callAddedChanged(const QDBusObjectPath&, const QVariantMap&)));
-
QDBusConnection::systemBus().connect("org.ofono", path, m_if->ifname(),
"CallRemoved", this,
SLOT(callRemovedChanged(const QDBusObjectPath&)));
+ QDBusConnection::systemBus().connect("org.ofono", path, m_if->ifname(),
+ "BarringActive", this,
+ SIGNAL(barringActive(const QString&)));
+ QDBusConnection::systemBus().connect("org.ofono", path, m_if->ifname(),
+ "Forwarded", this,
+ SIGNAL(forwarded(const QString&)));
}
void OfonoVoiceCallManager::dial(const QString &number, const QString &callerid_hide)
arg.append(qVariantFromValue(QDBusObjectPath(call)));
request.setArguments(arg);
QDBusConnection::systemBus().callWithCallback(request, this,
- SLOT(privateChatResp()),
+ SLOT(privateChatResp(const QList<QDBusObjectPath>&)),
SLOT(privateChatErr(const QDBusError&)),
PRIVATE_CHAT_TIMEOUT);
}
"CreateMultiparty");
QDBusConnection::systemBus().callWithCallback(request, this,
- SLOT(createMultipartyResp()),
+ SLOT(createMultipartyResp(const QList<QDBusObjectPath>&)),
SLOT(createMultipartyErr(const QDBusError&)),
CREATE_MULTIPARTY_TIMEOUT);
}
emit hangupMultipartyComplete(FALSE);
}
-void OfonoVoiceCallManager::createMultipartyResp()
+void OfonoVoiceCallManager::createMultipartyResp(const QList<QDBusObjectPath> &paths)
{
- emit createMultipartyComplete(TRUE);
+ QStringList calls;
+ foreach(QDBusObjectPath path, paths)
+ calls << path.path();
+ emit createMultipartyComplete(TRUE, calls);
}
void OfonoVoiceCallManager::createMultipartyErr(const QDBusError &error)
{
m_if->setError(error.name(), error.message());
- emit createMultipartyComplete(FALSE);
+ emit createMultipartyComplete(FALSE, QStringList());
}
-void OfonoVoiceCallManager::privateChatResp()
+void OfonoVoiceCallManager::privateChatResp(const QList<QDBusObjectPath> &paths)
{
- emit privateChatComplete(TRUE);
+ QStringList calls;
+ foreach(QDBusObjectPath path, paths)
+ calls << path.path();
+ emit privateChatComplete(TRUE, calls);
}
void OfonoVoiceCallManager::privateChatErr(const QDBusError &error)
{
m_if->setError(error.name(), error.message());
- emit privateChatComplete(FALSE);
+ emit privateChatComplete(FALSE, QStringList());
}
void OfonoVoiceCallManager::holdAndAnswerResp()
void swapCallsComplete(const bool status);
void releaseAndAnswerComplete(const bool status);
void holdAndAnswerComplete(const bool status);
- void privateChatComplete(const bool status);
- void createMultipartyComplete(const bool status);
+ void privateChatComplete(const bool status, const QStringList& calls);
+ void createMultipartyComplete(const bool status, const QStringList& calls);
void hangupMultipartyComplete(const bool status);
+ void barringActive(const QString &type);
+ void forwarded(const QString &type);
+
private slots:
void validityChanged(bool);
void pathChanged(const QString& path);
void releaseAndAnswerErr(const QDBusError &error);
void holdAndAnswerResp();
void holdAndAnswerErr(const QDBusError &error);
- void privateChatResp();
+ void privateChatResp(const QList<QDBusObjectPath> &paths);
void privateChatErr(const QDBusError &error);
- void createMultipartyResp();
+ void createMultipartyResp(const QList<QDBusObjectPath> &paths);
void createMultipartyErr(const QDBusError &error);
void hangupMultipartyResp();
void hangupMultipartyErr(const QDBusError &error);
// 11. Verify hangupMultiparty() works as expected
// 12. Hangup all calls
+ QVariantList variantList;
+
// VoiceCallManager Spy's
QSignalSpy dialreg(m,SIGNAL(dialComplete(bool)));
QSignalSpy dspy(m, SIGNAL(callAdded(QString)));
QSignalSpy rspy(m, SIGNAL(callRemoved(QString)));
QSignalSpy haspy(m, SIGNAL(hangupAllComplete(bool)));
QSignalSpy haaspy(m, SIGNAL(holdAndAnswerComplete(bool)));
- QSignalSpy cmspy(m, SIGNAL(createMultipartyComplete(bool)));
+ QSignalSpy cmspy(m, SIGNAL(createMultipartyComplete(bool, QStringList)));
QSignalSpy hmspy(m, SIGNAL(hangupMultipartyComplete(bool)));
QSignalSpy scspy(m, SIGNAL(swapCallsComplete(bool)));
- QSignalSpy pcspy(m, SIGNAL(privateChatComplete(bool)));
+ QSignalSpy pcspy(m, SIGNAL(privateChatComplete(bool, QStringList)));
// 1. Dial a call (outgoing)
m->dial("123","");
m->createMultiparty();
QTest::qWait(1000);
QCOMPARE(cmspy.count(),1);
- QCOMPARE(cmspy.takeFirst().at(0).toBool(),true);
+ variantList = cmspy.takeFirst();
+ QCOMPARE(variantList.at(0).toBool(),true);
+ QVERIFY(variantList.at(1).toStringList().length() > 0);
QTest::qWait(3000);
// 4. Verify createMultiparty() works as expected
QTest::qWait(1000);
QCOMPARE(cmspy.count(),1);
- QCOMPARE(cmspy.takeFirst().at(0).toBool(),true);
+ variantList = cmspy.takeFirst();
+ QCOMPARE(variantList.at(0).toBool(),true);
+ QVERIFY(variantList.at(1).toStringList().length() > 0);
QTest::qWait(3000);
// - calls #1 and #2 should have a stateChanged signal triggered
QTest::qWait(1000);
QCOMPARE(pcspy.count(),1);
- QCOMPARE(pcspy.takeFirst().at(0).toBool(),true);
+ variantList = pcspy.takeFirst();
+ QCOMPARE(variantList.at(0).toBool(),true);
+ QVERIFY(variantList.at(1).toStringList().length() > 0);
QTest::qWait(3000);
// 9. Verify privateChat() works as expected