From cba26597f1c09764d37be0d13863ec5d5c340da0 Mon Sep 17 00:00:00 2001 From: "Javier S. Pedro" Date: Sat, 24 Sep 2011 00:31:46 +0200 Subject: new partially working incoming call plugin --- ckitcallnotification/ckitcallprovider.cpp | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ckitcallnotification/ckitcallprovider.cpp (limited to 'ckitcallnotification/ckitcallprovider.cpp') diff --git a/ckitcallnotification/ckitcallprovider.cpp b/ckitcallnotification/ckitcallprovider.cpp new file mode 100644 index 0000000..85f85b2 --- /dev/null +++ b/ckitcallnotification/ckitcallprovider.cpp @@ -0,0 +1,40 @@ +#include +#include +#include "ckitcallprovider.h" + +using namespace sowatch; + +CKitCallProvider::CKitCallProvider(QObject *parent) : + NotificationProvider(parent), + _inCall(false), + _activeCall(new ContextProperty("/com/nokia/CallUi/ActiveCall")) +{ + connect(_activeCall, SIGNAL(valueChanged()), SLOT(activeCallChanged())); + qDebug() << _activeCall->value(); +} + +CKitCallProvider::~CKitCallProvider() +{ + +} + +int CKitCallProvider::getCount(Notification::Type type) +{ + Q_UNUSED(type); + return 0; +} + +void CKitCallProvider::activeCallChanged() +{ + QVariantMap info = _activeCall->value().toMap(); + int state = info["state"].toInt(); + if (state == 0) { + // Incoming call, or update to a incoming call + _inCall = true; + emit incomingCall(info["displayName"].toString()); + } else if (_inCall) { + // Call is no longer incoming + _inCall = false; + emit endIncomingCall(); + } +} -- cgit v1.2.3