summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2011-08-05 17:51:15 +0300
committerAlexander Kanavin <alex.kanavin@gmail.com>2011-08-05 18:11:32 +0300
commitfccb156c7c641041a3ae384a43ffe186a6b212fd (patch)
tree86fa1a12a0c5cc45356befeef56854ac7e0bca12
parent2f7583e70d3d260935c75d3b971a429fb66026f5 (diff)
downloadofono-qt-fccb156c7c641041a3ae384a43ffe186a6b212fd.tar.gz
ofono-qt-fccb156c7c641041a3ae384a43ffe186a6b212fd.tar.bz2
ofono-qt-fccb156c7c641041a3ae384a43ffe186a6b212fd.zip
Update VoiceCallManager to match latest oFono
-rw-r--r--lib/ofonovoicecallmanager.cpp36
-rw-r--r--lib/ofonovoicecallmanager.h11
-rw-r--r--tests/test_ofonomultipartycall.cpp18
3 files changed, 46 insertions, 19 deletions
diff --git a/lib/ofonovoicecallmanager.cpp b/lib/ofonovoicecallmanager.cpp
index 65209bc..2004950 100644
--- a/lib/ofonovoicecallmanager.cpp
+++ b/lib/ofonovoicecallmanager.cpp
@@ -115,18 +115,28 @@ void OfonoVoiceCallManager::connectDbusSignals(const QString& path)
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)
@@ -237,7 +247,7 @@ void OfonoVoiceCallManager::privateChat(const QString &call)
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);
}
@@ -250,7 +260,7 @@ void OfonoVoiceCallManager::createMultiparty()
"CreateMultiparty");
QDBusConnection::systemBus().callWithCallback(request, this,
- SLOT(createMultipartyResp()),
+ SLOT(createMultipartyResp(const QList<QDBusObjectPath>&)),
SLOT(createMultipartyErr(const QDBusError&)),
CREATE_MULTIPARTY_TIMEOUT);
}
@@ -279,26 +289,32 @@ void OfonoVoiceCallManager::hangupMultipartyErr(const QDBusError &error)
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()
diff --git a/lib/ofonovoicecallmanager.h b/lib/ofonovoicecallmanager.h
index 4fd82de..ff00ec1 100644
--- a/lib/ofonovoicecallmanager.h
+++ b/lib/ofonovoicecallmanager.h
@@ -87,10 +87,13 @@ signals:
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);
@@ -111,9 +114,9 @@ private slots:
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);
diff --git a/tests/test_ofonomultipartycall.cpp b/tests/test_ofonomultipartycall.cpp
index a466b07..3424623 100644
--- a/tests/test_ofonomultipartycall.cpp
+++ b/tests/test_ofonomultipartycall.cpp
@@ -67,16 +67,18 @@ private slots:
// 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","");
@@ -172,7 +174,9 @@ private slots:
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
@@ -247,7 +251,9 @@ private slots:
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
@@ -270,7 +276,9 @@ private slots:
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