We already use a generated interface in kstatusnotifieritem, but not in notifybypopup.
Previously it would accept the signal from any service which I find odd, though. Could you maybe check git logs to see if there was a reason for this?
You have watcher (which is parented to notification) and notification as contexts, but in the lambda you also access this. This looks dangerous. How about using this instead of notification as context object?
This is QDBusPendingReply<QStringList> (or just auto...)
Unrelated: I was wondering, do we actually monitor the notification service changing and make them dirty again?