ivan added a comment.
The activities cache is a private class meant to communicate directly to KAMD. The signals it contains are in the form `(activity id, something)` and are meant to be private. The `KActivities::Info` class was meant to wrap these signals into a nice OO API where an activity object (Info) sends signals that a particular property has changed. I don't like the idea of exposing the same thing multiple times with different APIs. In the 4.x era, we had one function with the `(id, something)` format and it was removed by request (during API review) during KF5-ization of KActivities library. One possible solution to all this (though I'm not sure I like it) is to add a class to KActivities API that keeps maintains a collection of Info objects (exposing the cache in a sense) - it could have `activityAdded(Info*)`, `activityRemoved(Info*)` and `activityChanged(Info*)` or something similar. REPOSITORY R120 Plasma Workspace REVISION DETAIL https://phabricator.kde.org/D8524 To: hein, #plasma, davidedmundson Cc: davidedmundson, anthonyfieroni, ivan, plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart