kossebau added a comment.

  In D10078#252871 <https://phabricator.kde.org/D10078#252871>, @davidedmundson 
wrote:
  
  > This makes it quite easy for a developer to screw up and block krunner.
  >  The RAII approach makes it very very hard for a developer to screw up with 
any of the multiple usage patterns.
  
  
  Seems we have two different main design motives then: mine was to keep the 
classes/concepts close to the in-process krunner plugin ones, yours is to try 
to lower the chance of blocked calls :)
  
  Guess I am not so burned by blocked krunner plugins to give that so much 
weight, as I also do not see the danger of people forgetting to do any 
finishMatching call. And would argue that the D-Bus Krunner.side proxy should 
protect itself in general against remote D-Bus krunner services locking 
themselves up in other ways.
  
  Your project, your call/decision :)
  
  I propose two renames though:
  
  1. class "*Context" -> "MatchReply" (or similar/better): the "*Context" class 
in normal in-process krunner plugins has a different, passive purpose, also 
might "submit/cancel a context" not make that much sense? (non-native speaker 
here, might miss out phrase meanings)
  2. request handling method name "startMatching" -> "handleMatchRequest"(or 
similar/better): for a method "start*" I would expect some counterpart methods 
on the same class/object.
  
  I could not remember a Qt/KF class following the same pattern (something like 
single-thread service class with a handler method to do async request replies), 
so no existing naming pattern handy for proposal.
  
  At least I imagine that as developer having to reimplement
  
    virtual void handleMatchRequest(const MatchReply::Ptr &matchReply);
  
  one has a better idea about what to do, compared to
  
    virtual void startMatching(const RunnerContext::Ptr &context);
  
  Even if the mixing of request properties (query string) into the reply class 
spoils the concepts a little. But splitting that off into another separate 
object makes the code more complex again, so that trade-off could be fine.

REPOSITORY
  R308 KRunner

REVISION DETAIL
  https://phabricator.kde.org/D10078

To: kossebau, broulik, davidedmundson
Cc: bruns, michaelh, ngraham, #frameworks

Reply via email to