Add remote runners over DBus

Authored by davidedmundson on Aug 21 2017, 10:59 AM.

Description

Add remote runners over DBus

Summary:
This patch allows adding runners which, rather than being in-process
receive a search term and provide results over DBus.

A metadata file should be installed with metadata for the service and
path, and the remote app should implement the supplied interface.

By using metadata files all the current krunner architecture and config
management works seamlessly, and it allows the possibility for a runner
to be DBus activated if it wants to be.

The goal of this patch is threefold:

  • To make it considerably easier to write runners where the data exists

in an already running application. The plasma-browser-integration is a
good example, it currently has it's own custom protocol, and ends up
sending data on all the tabs only to filter it inside krunner, somewhat
wasteful. With this adding searchable tabs to konversation (for example)
would be a ten minute patch.

  • Make it easy to write a runner in any other language. An app just

needs to speak DBus with no other dependencies. Potentially even shipped
via the store.

  • This approach could work for runners in sandboxes.

Test Plan:
Wrote new sample app
Got my runner showing results
Brief profiling had roundtrip time as 0ms.

Reviewers: Plasma, broulik

Reviewed By: Plasma, broulik

Subscribers: broulik, mart, plasma-devel, Frameworks

Tags: Plasma, Frameworks

Differential Revision: https://phabricator.kde.org/D6390

Details

Committed
davidedmundsonAug 21 2017, 10:59 AM
Reviewer
Plasma
Differential Revision
D6390: Add remote runners over DBus
Parents
R308:c3a07269dac5: GIT_SILENT Upgrade to ECM 5.38 after checking that tests run uninstalled
Branches
Unknown
Tags
Unknown