kossebau updated this revision to Diff 32916. kossebau added a comment.
Updating with proposed further massaging of the API - changed some class/method names to closely follow KRunner terms: (RunnerContext, query) - moved RunnerContext into separate header (for one per class) - moving submit/cancel methods back to AbstractRunner Keeping RunnerContext a pure data container and AbstractRunner as responsible for creating and consuming these objects feels more balanced and means less spreading of responsibilities/functionality. The auto-submit in the destructor of RunnerContext left a feel of lack of control to the API user given the passing of RunnerContext as sharedpointer. Also reading the code and seeing only startMatching, one would wonder how actually the matching is completed. Having to read up in the API dox might not make up for the otherwise unneeded additional call. One challenge I found when tinkering around with this: a D-Bus runner could in theory receive multiple calls at the same time, from one or multiple processes. While the RunnerContext now would allow handling multiple overlapping requests easily, I have yet to get an idea how/if overlapping D-Bus calls work in general, with QtDBus in detail and even more how the D-Bus proxy krunner acts when a newer query is asked for (e.g. on quick typing). The current code at least should be prepared in theory to some bit. REPOSITORY R308 KRunner CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D10078?vs=31871&id=32916 BRANCH kdbusrunnerlib2 REVISION DETAIL https://phabricator.kde.org/D10078 AFFECTED FILES CMakeLists.txt KF5DBusRunnerConfig.cmake.in autotests/CMakeLists.txt autotests/testremoterunner.cpp autotests/testremoterunner.h src/CMakeLists.txt src/dbusrunner/CMakeLists.txt src/dbusrunner/abstractrunner.cpp src/dbusrunner/abstractrunner.h src/dbusrunner/abstractrunner_p.cpp src/dbusrunner/abstractrunner_p.h src/dbusrunner/action.h src/dbusrunner/dbusadaptor.cpp src/dbusrunner/dbusadaptor_p.h src/dbusrunner/querymatch.h src/dbusrunner/runnercontext.cpp src/dbusrunner/runnercontext.h src/dbusrunner/runnercontext_p.h src/querymatch.h To: kossebau, broulik, davidedmundson Cc: bruns, michaelh, ngraham, #frameworks