Review Request: Make telepathy-integration-daemon a Nepomuk Service
Vishesh Handa
handa.vish at gmail.com
Tue Sep 28 14:21:12 CEST 2010
> On 2010-09-27 19:52:09, George Goldberg wrote:
> > /trunk/playground/network/telepathy-integration-daemon/main.cpp, line 62
> > <http://svn.reviewboard.kde.org/r/5449/diff/1/?file=38386#file38386line62>
> >
> > Just to be sure, you have checked that this line is no longer necessary in the Nepomuk-Service-version of t-i-d?
>
> Daniele E. Domenichelli wrote:
> I already asked vHanda on IRC and he told me that it is not necessary for nepomuk services.
> He also had a look at the patch and he told me that the nepomuk part is ok...
>
The Nepomuk part is okay. Regarding init() Sebastian would be able to answer this best. I don't really understanding threading and all its complexities.
The documentation for init() ->
*
* There is normally no reason to call this method manually except when using multiple
* threads. In that case it is highly recommended to call this method in the main thread
* before doing anything else.
*
Since the Telepathy account monitor is not multi-threaded (correct?) it isn't required.
I think the reason the documentation says to call init() ( I might be blatantly wrong on this! ) is that the ResourceManager creates a Nepomuk::MainModel which forwards all the requests to the model created by the Nepomuk Storage service. The forwarding is by default done over a local socket ( share/nepomuk/socket ) and if that fails it is done via DBus. The version of DBus that most distros ship has some crazy threading bug that makes the app crash if connection isn't initiated from the main thread.
- Vishesh
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/5449/#review7843
-----------------------------------------------------------
On 2010-09-25 14:28:11, Daniele E. Domenichelli wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/5449/
> -----------------------------------------------------------
>
> (Updated 2010-09-25 14:28:11)
>
>
> Review request for telepathy, Sebastian Trueg, Dario Freddi, George Goldberg, and Vishesh Handa.
>
>
> Summary
> -------
>
> The goal of Telepathy-integration-daemon is to fetch information from telepathy and to push it into nepomuk. The approach that we have been using until now is to have an independent "daemon" launched at login.
>
> Telepathy-integration-daemon needs to run only if nepomukserver is running. It also has dependencies on specific nepomuk services. If dependencies are not met t-i-d sometimes crashes (for example if nepomukserver is started after t-i-d) and sometimes hangs (for example if t-i-d is started after nepomukserver but before the services are initialized)
>
> The role of telepathy-integration-daemon is the same of a nepomuk service: "A Nepomuk service is intended to perform some kind of operation on the Nepomuk data storage. This can include data gathering, data enrichment, or enhanced data query."[1]
>
> Having a Nepomuk service instead of a daemon allows to check for services dependencies just by adding 1 line in the .desktop file and the service will be started as soon as the dependencies are ready.
>
> It also adds automatically a dbus interface that allows to check if the service is available or running, and to start and stop the service. Checking if the service is available should be mandatory for all telepathy-kde apps, because otherwise they might be using outdated data (for example contact list will show for contacts the status they had last time that t-i-d was running)
>
> [1]http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk/html/classNepomuk_1_1Service.html
>
>
> This addresses bug 246247.
> https://bugs.kde.org/show_bug.cgi?id=246247
>
>
> Diffs
> -----
>
> /trunk/playground/network/telepathy-integration-daemon/CMakeLists.txt 1179412
> /trunk/playground/network/telepathy-integration-daemon/main.cpp 1179412
> /trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.cpp PRE-CREATION
> /trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.desktop PRE-CREATION
> /trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.h PRE-CREATION
> /trunk/playground/network/telepathy-integration-daemon/tests/CMakeLists.txt 1179412
>
> Diff: http://svn.reviewboard.kde.org/r/5449/diff
>
>
> Testing
> -------
>
> No issues encountered with contactlist, chatui, and some other testing apps.
>
> There is a small issue with unit tests, because when nepomuk is started by telepathy-testlib, the service is automatically started, therefore there are both the test and the service reacting to telepathy changes, and feeding nepomuk, so the test result is unpredictable.
>
> Tu run succesfully the tests it is necessary either to uninstall the service before running tests or to add the lines:
>
> [Service-nepomuktelepathyservice]
> autostart=false
>
> in telepathy-testlib/lib/nepomukserverrc.in and install testlib again
>
>
> Thanks,
>
> Daniele E.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-telepathy/attachments/20100928/70d3411c/attachment-0001.htm
More information about the KDE-Telepathy
mailing list