void DBusObject::RegisterSignalInterest(int object_id, QString signal_name) { SignalId signal(object_id, signal_name); if (signal_watchers_.contains(signal)) { qDebug() << "Already watching signal" << signal_name << "on object with id" << object_id; return; } QObjectNode::Ptr node = std::dynamic_pointer_cast<const QObjectNode>(GetNodeWithId(object_id)); if (! node) { qWarning() << "Unable to register signal interest."; return; } QObject* obj = node->getWrappedObject(); QString munged_signal_name = QString("2%1").arg(signal_name); SignalSpyPtr signal_spy(new QSignalSpy(obj, munged_signal_name.toLocal8Bit().data())); if (signal_spy->isValid()) { signal_watchers_[signal] = signal_spy; qDebug() << "Now watching for emissions of the" << signal_name << "signal on object with id" << object_id; } else { qWarning() << "Signal name was not vlaid."; } }
void EventManagerTest::checkReceivedEventTriggersUpdatedSignal(){ QString expectedEventName = "bbv Geburtstagsparty"; IM::EventManager testee; QSignalSpy signal_spy(&testee, SIGNAL(EventListChanged())); testee.received_event(expectedEventName); QVERIFY(1 == signal_spy.count()); }