Review Request 123042: Port away from KServiceTrader

Alex Richardson arichardson.kde at gmail.com
Thu Mar 19 15:23:12 UTC 2015



> On March 19, 2015, 3:08 p.m., Alex Richardson wrote:
> > KDEConnectMacros.cmake, line 5
> > <https://git.reviewboard.kde.org/r/123042/diff/1/?file=355576#file355576line5>
> >
> >     Shouldn't we add this to ECM?
> >     Having it here for now is fine, but in the long run this macro should be used everywhere.
> 
> Aleix Pol Gonzalez wrote:
>     We can consider to, I'm unsure how generic that is. There's some important things going on there, like the dependency between the cpp file and the json file... I'm unsure.

`ecm_add_plugin()` would probably be too generic, but `maybe ecm_add_qt_plugin()`?
If we also grep for Q_PLUGIN_METADATA() and add a parameter PLUGIN_MACRO it should be usable for other projects that use Qt only or a special macro (e.g. OKULAR_EXPORT_PLUGIN).

Alternatively we could add it to kcoreaddons so that it is usable for all KDE applications.


- Alex


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123042/#review77740
-----------------------------------------------------------


On March 19, 2015, 2:49 a.m., Aleix Pol Gonzalez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123042/
> -----------------------------------------------------------
> 
> (Updated March 19, 2015, 2:49 a.m.)
> 
> 
> Review request for kdeconnect and Alex Richardson.
> 
> 
> Repository: kdeconnect-kde
> 
> 
> Description
> -------
> 
> Uses KPluginLoader+KPluginMetadata instead.
> Describes plugins in json instead of desktop files. These desktop files are then embedded into the .so file. All the plugins will be in a kdeconnect/ directory, and those will be the ones to look for.
> 
> Note it doesn't drop the KService dependency as KIOCore is a KDE Connect dependency as well.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt b81a476 
>   KDEConnectMacros.cmake PRE-CREATION 
>   core/daemon.h 70f9abb 
>   core/device.cpp 0845c45 
>   core/pluginloader.h e92b73e 
>   core/pluginloader.cpp b6f0139 
>   interfaces/CMakeLists.txt 78cc9f2 
>   kcm/kcm.cpp 806d99f 
>   plugins/battery/CMakeLists.txt d2a4237 
>   plugins/battery/batteryplugin.cpp 3202156 
>   plugins/battery/kdeconnect_battery.desktop 9601e04 
>   plugins/battery/kdeconnect_battery.json PRE-CREATION 
>   plugins/clipboard/CMakeLists.txt 3f8ef3c 
>   plugins/clipboard/clipboardplugin.cpp f9b2715 
>   plugins/clipboard/kdeconnect_clipboard.desktop 94faa78 
>   plugins/clipboard/kdeconnect_clipboard.json PRE-CREATION 
>   plugins/mousepad/CMakeLists.txt a0994fb 
>   plugins/mousepad/kdeconnect_mousepad.desktop d6c68cf 
>   plugins/mousepad/kdeconnect_mousepad.json PRE-CREATION 
>   plugins/mousepad/mousepadplugin.cpp 958a288 
>   plugins/mpriscontrol/CMakeLists.txt f10c502 
>   plugins/mpriscontrol/kdeconnect_mpriscontrol.desktop e9d4e3c 
>   plugins/mpriscontrol/kdeconnect_mpriscontrol.json PRE-CREATION 
>   plugins/mpriscontrol/mpriscontrolplugin.cpp 7d705e7 
>   plugins/notifications/CMakeLists.txt 9f56471 
>   plugins/notifications/kdeconnect_notifications.desktop 040f5fe 
>   plugins/notifications/kdeconnect_notifications.json PRE-CREATION 
>   plugins/notifications/notificationsplugin.cpp 9af82e1 
>   plugins/pausemusic/CMakeLists.txt 2f9f42b 
>   plugins/pausemusic/kdeconnect_pausemusic.desktop 31e40d3 
>   plugins/pausemusic/kdeconnect_pausemusic.json PRE-CREATION 
>   plugins/pausemusic/pausemusicplugin.cpp b6cf34a 
>   plugins/ping/CMakeLists.txt 7628fd8 
>   plugins/ping/kdeconnect_ping.desktop 46959a1 
>   plugins/ping/kdeconnect_ping.json PRE-CREATION 
>   plugins/ping/pingplugin.cpp 519bee5 
>   plugins/screensaver-inhibit/CMakeLists.txt f7bda44 
>   plugins/screensaver-inhibit/kdeconnect_screensaver_inhibit.desktop d2773fd 
>   plugins/screensaver-inhibit/kdeconnect_screensaver_inhibit.json PRE-CREATION 
>   plugins/screensaver-inhibit/screensaverinhibitplugin.cpp 4d74fb4 
>   plugins/sftp/CMakeLists.txt 1f5123c 
>   plugins/sftp/kdeconnect_sftp.desktop 7ad412c 
>   plugins/sftp/kdeconnect_sftp.json PRE-CREATION 
>   plugins/sftp/sftpplugin.cpp 88f8a36 
>   plugins/share/CMakeLists.txt 7016e26 
>   plugins/share/kdeconnect_share.desktop 7433061 
>   plugins/share/kdeconnect_share.json PRE-CREATION 
>   plugins/share/shareplugin.cpp 049f57d 
>   plugins/telephony/CMakeLists.txt 8db5629 
>   plugins/telephony/kdeconnect_telephony.desktop d44b595 
>   plugins/telephony/kdeconnect_telephony.json PRE-CREATION 
>   plugins/telephony/telephonyplugin.cpp e8d9ad5 
> 
> Diff: https://git.reviewboard.kde.org/r/123042/diff/
> 
> 
> Testing
> -------
> 
> All plugins are still loaded.
> 
> 
> Thanks,
> 
> Aleix Pol Gonzalez
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdeconnect/attachments/20150319/1961f9fd/attachment.html>


More information about the KDEConnect mailing list