<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Oct 14, 2017 at 8:27 AM, David Faure <span dir="ltr"><<a href="mailto:faure@kde.org" target="_blank">faure@kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On dimanche 8 octobre 2017 15:22:00 CEST Mark Gaiser wrote:<br>
> But then i still miss one rather important detail that i can't really find<br>
> anywhere..<br>
> Lets say I have that module and call it "tags2" (as Baloo already has tags,<br>
> therefore tags2 to prevent naming issues).<br>
><br>
> So i make a dbus service file named:<br>
> Name=org.kde.tags2<br>
><br>
> And in the "tags2.json" i put:<br>
><br>
> {<br>
> "KPlugin": {<br>
> "Description": "Put tags on files and folders.",<br>
> "Name": "Tags 2",<br>
> "ServiceTypes": [<br>
> "KDEDModule"<br>
> ]<br>
> },<br>
><br>
> "X-KDE-DBus-ModuleName": "tags2",<br>
> "X-KDE-DBus-ServiceName": "org.kde.tags2"<br>
> }<br>
><br>
> What do i do in the client side code to start this module?<br>
<br>
</span>You just make a DBus call to the service org.kde.tags, with<br>
object path /modules/tags2. That will start kiod if needed,<br>
load the module, and make the call.<br>
<br>
The best solution for this is with type safety rather than without,<br>
i.e. generating C++ from the DBus xml file. See e.g.<br>
kio/core/kpasswdserverclient.<wbr>cpp which makes calls to the kiod kpasswdserver<br>
module using the generated OrgKdeKPasswdServerInterface class.<br>
qt5_add_dbus_interface() is the cmake function for doing that.<br>
<span class=""><br>
> That "client side" can be an IO slave, but it can also be some special Tags<br>
> helper classes to create a new tag name with description and icon or such.<br>
<br>
</span>Sure, anyone can make dbus calls.<br>
<span class=""><br>
> I need to call something to trigger KIOD to start this module, but i can't<br>
> figure out what.<br>
><br>
> How do i see qCDebug output from kiod plugins anyhow?<br>
<br>
</span>In ~/.xsession-errors, or by killing kiod and restarting it in a terminal.<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div> </div><div>Hi David,</div><div><br></div></div></div><div class="gmail_extra">Thank you for the detailed reply, this really helps and is information that is quite difficult to find ;)</div></div>