<table><tr><td style="">kossebau updated this revision to Diff 32916.<br />kossebau added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D10078">View Revision</a></tr></table><br /><div><div><p>Updating with proposed further massaging of the API</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">changed some class/method names to closely follow KRunner terms: (RunnerContext, query)</li>
<li class="remarkup-list-item">moved RunnerContext into separate header (for one per class)</li>
<li class="remarkup-list-item">moving submit/cancel methods back to AbstractRunner</li>
</ul>

<p>Keeping RunnerContext a pure data container and AbstractRunner as responsible<br />
for creating and consuming these objects feels more balanced and means less<br />
spreading of responsibilities/functionality.</p>

<p>The auto-submit in the destructor of RunnerContext left a feel of lack of<br />
control to the API user given the passing of RunnerContext as sharedpointer.<br />
Also reading the code and seeing only startMatching, one would wonder how<br />
actually the matching is completed. Having to read up in the API dox might<br />
not make up for the otherwise unneeded additional call.</p>

<p>One challenge I found when tinkering around with this:<br />
a D-Bus runner could in theory receive multiple calls at the same time, from<br />
one or multiple processes. While the RunnerContext now would allow handling<br />
multiple overlapping requests easily, I have yet to get an idea how/if<br />
overlapping D-Bus calls work in general, with QtDBus in detail and even more<br />
how the D-Bus proxy krunner acts when a newer query is asked for (e.g. on<br />
quick typing). The current code at least should be prepared in theory to<br />
some bit.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R308 KRunner</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D10078?vs=31871&id=32916">https://phabricator.kde.org/D10078?vs=31871&id=32916</a></div></div><br /><div><strong>BRANCH</strong><div><div>kdbusrunnerlib2</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D10078">https://phabricator.kde.org/D10078</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
KF5DBusRunnerConfig.cmake.in<br />
autotests/CMakeLists.txt<br />
autotests/testremoterunner.cpp<br />
autotests/testremoterunner.h<br />
src/CMakeLists.txt<br />
src/dbusrunner/CMakeLists.txt<br />
src/dbusrunner/abstractrunner.cpp<br />
src/dbusrunner/abstractrunner.h<br />
src/dbusrunner/abstractrunner_p.cpp<br />
src/dbusrunner/abstractrunner_p.h<br />
src/dbusrunner/action.h<br />
src/dbusrunner/dbusadaptor.cpp<br />
src/dbusrunner/dbusadaptor_p.h<br />
src/dbusrunner/querymatch.h<br />
src/dbusrunner/runnercontext.cpp<br />
src/dbusrunner/runnercontext.h<br />
src/dbusrunner/runnercontext_p.h<br />
src/querymatch.h</div></div></div><br /><div><strong>To: </strong>kossebau, broulik, davidedmundson<br /><strong>Cc: </strong>bruns, michaelh, ngraham, Frameworks<br /></div>