Optimization in KDE Base
Make KNotificationManager use the KNotify plugins directly
Instead of relaying things over DBus to KNotify daemon, we now use the
KNotify plugins directly from the manager. This now becomes the central
part in the KNotification framework.
When KNotification sends the notify event, the Manager iterates over all
found plugins and calls notify() on them, passing the KNotification
object and also the KNotifyConfig object, which holds the data from
.notifyrc file. With each plugin presenting the notification, the
KNotification refcount rises by 1.
Once the plugin finishes its presentation, it calls finish() on the
notification and that causes the refcount to go --.
If the KNotification is destroyed or otherwise closed, the Manager makes
sure all plugins stop their presentation of that given notification.
When no more plugins are presenting the notification (refcount == 0),
the KNotification object is destroyed.