<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://svn.reviewboard.kde.org/r/5449/">http://svn.reviewboard.kde.org/r/5449/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On September 28th, 2010, 10:29 a.m., <b>Daniele E. Domenichelli</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="/r/5449/diff/1/?file=38387#file38387line42" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">TelepathyService::TelepathyService(QObject* parent, const QVariantList &amp;)</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">42</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">QObject</span><span class="o">::</span><span class="n">connect</span><span class="p">(</span><span class="n">monitor</span><span class="p">,</span> <span class="n">SIGNAL</span><span class="p">(</span><span class="n">destroyed</span><span class="p">()),</span> <span class="k">this</span><span class="p">,</span> <span class="n">SLOT</span><span class="p">(</span><span class="n">quit</span><span class="p">()));</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I just realized that there is no quit() slot in NepomukServices...

Object::connect: No such slot Nepomuk::TelepathyService::quit() in /opt/kde/src/trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.cpp:42

Do we still need to quit on &quot;destroyed&quot; signal?
What is the best method to quit a nepomuk service?
</pre>
 </blockquote>



 <p>On September 28th, 2010, 10:44 a.m., <b>George Goldberg</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Nepomuk services are quit when you call a dbus method on them, so I suggest just removing that connect statement and making the TelepathyAccountMonitor parent be the Nepomuk Service object (that way when the service is quit, the accountmonitor will be destroyed).</pre>
 </blockquote>





 <p>On September 28th, 2010, 12:19 p.m., <b>Daniele E. Domenichelli</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ok, fixed in r2</pre>
 </blockquote>





 <p>On September 28th, 2010, 12:19 p.m., <b>Vishesh Handa</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Isn&#39;t he trying to do the opposite? Quit the service when the AccountMonitor is destroyed?</pre>
 </blockquote>





 <p>On September 28th, 2010, 1:38 p.m., <b>Daniele E. Domenichelli</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Actually yes, but I believe that there is no reason why AccountMonitor should suicide itself, so there is no reason to connect this signal... Anyway I might be wrong!</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">You are correct :)</pre>
<br />




<p>- George</p>


<br />
<p>On September 25th, 2010, 2:28 p.m., Daniele E. Domenichelli wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for telepathy, Sebastian Trueg, Dario Freddi, George Goldberg, and Vishesh Handa.</div>
<div>By Daniele E. Domenichelli.</div>


<p style="color: grey;"><i>Updated 2010-09-25 14:28:11</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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 &quot;daemon&quot; 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: &quot;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.&quot;[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</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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</pre>
  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://bugs.kde.org/show_bug.cgi?id=246247">246247</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/playground/network/telepathy-integration-daemon/CMakeLists.txt <span style="color: grey">(1179412)</span></li>

 <li>/trunk/playground/network/telepathy-integration-daemon/main.cpp <span style="color: grey">(1179412)</span></li>

 <li>/trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/playground/network/telepathy-integration-daemon/nepomuktelepathyservice.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/playground/network/telepathy-integration-daemon/tests/CMakeLists.txt <span style="color: grey">(1179412)</span></li>

</ul>

<p><a href="http://svn.reviewboard.kde.org/r/5449/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>