Skip to content
  • Nicolas Fella's avatar
    [handler] Replace QDBusPendingCallWatcher with coroutines · 5b3f1251
    Nicolas Fella authored
    Manipulating connections is done using async DBus calls. Currenly we use QDBusPendingCallWatcher to get notified when those finish
    
    All calls trigger the same slot, which them determines what happens based on untyped data that was passed along.
    
    This makes the code quite hard to follow.
    
    By using coroutines we can write the code in a manner that makes the calls appear as if they were sychronous. This allows to reduce some boilerplate and break up the giant slot and move the relevant code to where it logically belongs
    
    That way the code becomes a lot more easy to follow.
    
    This makes use of the QCoro library (https://github.com/danvratil/qcoro) to add coroutine support for QDBusPendingCallWatcher
    5b3f1251