<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://git.reviewboard.kde.org/r/104840/">http://git.reviewboard.kde.org/r/104840/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On May 5th, 2012, 7:45 a.m., <b>Torsten Rahn</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="http://git.reviewboard.kde.org/r/104840/diff/1/?file=62293#file62293line41" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/RoutingRunnerPlugin.h</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; ">public:</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">41</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cm">     * @brief Returns the string that should appear in the user interface.</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;">
This comment is missing in the other classes :-)

BTW: Originally we distinguished between the normal "name" string and the "guiString" because the gui string added the Keyboard Accelerator underlining for certain letters and its associated keystrokes. Nowadays this accelerator assignment seems to be done automatically. So there's maybe no need for the distinction.</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;">Yeah, there is a new distinction between name() and guiString(): name() is part of the generic metadata of a plugin and shall return a full name that indicates what the plugin is about, e.g. "OpenRouteService routing plugin". I'm planning to extend our about dialog to list *all* installed plugins (with their respective authors and licenses), where this meta information is used. guiString(), on the other hand, shall return a context-sensitive name, e.g. "MoNav" in the routing widget (if the current route was found by MoNav), or "GPS" in the current position widget if the current position is tracked by a GPS device.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On May 5th, 2012, 7:45 a.m., <b>Torsten Rahn</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="http://git.reviewboard.kde.org/r/104840/diff/1/?file=62293#file62293line50" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/RoutingRunnerPlugin.h</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; ">public:</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">50</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">virtual</span> <span class="n">MarbleAbstractRunner</span><span class="o">*</span> <span class="n">newRunner</span><span class="p">()</span> <span class="k">const</span> <span class="o">=</span> <span class="mi">0</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 think usually in Qt's API the factory methods are called "create..." instead of "new..."</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;">That's true and I also prefer "create..." to "new...". In order to keep the breakage of 3rd-party plugins minimal, I left the method name as is. I suggest to change that when we also introduce specialized abstract classes for the runners (which is also on my todo list).</pre>
<br />




<p>- Bernhard</p>


<br />
<p>On May 3rd, 2012, 11:01 a.m., Bernhard Beschow wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/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 Marble.</div>
<div>By Bernhard Beschow.</div>


<p style="color: grey;"><i>Updated May 3, 2012, 11:01 a.m.</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;">By splitting the class RunnerPlugin into separate classes for searching, routing, reverse geocoding and parsing, implementing a runner plugin will become more straight-forward. Before the patch, an implementer of e.g. a parsing plugin had to filter out unneccessary things such as which routing profile is supported.

Before the split could happen, the nominatim and gosmore runner plugins had to be split such that each new plugin had only one capability.

Please also review the user-visible strings of the nominatim and gosmore plugins.

Have a look at [1] to see the individual commits.

I'm looking forward to your reviews!

[1] https://github.com/shentok/marble/commits/RunnerPlugins-single-capability</pre>
  </td>
 </tr>
</table>





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

 <li>src/plugins/runner/gosmore/GosmoreRunner.cpp <span style="color: grey">(a5062be2a6ef55cae72b8fedfde675d89f73e53f)</span></li>

 <li>src/plugins/runner/gosmore/GosmoreRunner.h <span style="color: grey">(74b0400f8ee120328c7b94a4752436107d5c27b6)</span></li>

 <li>src/plugins/runner/gosmore/CMakeLists.txt <span style="color: grey">(984550686b4c184182d17027c44b966eda544e7c)</span></li>

 <li>src/plugins/runner/gosmore/GosmorePlugin.h <span style="color: grey">(6d9af2afea9ea21341b147e66320b298c6dd6c32)</span></li>

 <li>src/plugins/runner/gosmore/GosmorePlugin.cpp <span style="color: grey">(14a2d78b001bc203716c3402424657a19d9aace8)</span></li>

 <li>src/plugins/runner/gosmore-routing/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gosmore-routing/GosmoreRoutingPlugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gosmore-routing/GosmoreRoutingPlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gosmore-routing/GosmoreRoutingRunner.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gosmore-routing/GosmoreRoutingRunner.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/RunnerPlugin.cpp <span style="color: grey">(31b89f6c2a88dba46cb6c7f6e2a8cc4ab796c548)</span></li>

 <li>src/lib/RunnerTask.h <span style="color: grey">(a547f3caca23eefd88375718c85dcd9946b70cba)</span></li>

 <li>src/lib/RunnerTask.cpp <span style="color: grey">(5e2860e52dc2ff024cb49237d6e2a1073154c776)</span></li>

 <li>src/lib/SearchRunnerPlugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/SearchRunnerPlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/routing/RoutingManager.cpp <span style="color: grey">(0e0d0ef49aa9ebffd720150907265068d6693d89)</span></li>

 <li>src/lib/routing/RoutingProfileSettingsDialog.h <span style="color: grey">(1402cc91904d9ac8cc825f64cc3a58bfd9bf1b7f)</span></li>

 <li>src/lib/routing/RoutingProfileSettingsDialog.cpp <span style="color: grey">(48f0f31ac070cbb16dc0fad7930f10b05370ceec)</span></li>

 <li>src/lib/routing/RoutingProfilesModel.cpp <span style="color: grey">(152b4ecd088e01cbb50536b4bec176a15884e7b8)</span></li>

 <li>src/lib/routing/RoutingProfilesWidget.cpp <span style="color: grey">(90bafb486f0cca8e34c2e4f2f56117f0e93b0a50)</span></li>

 <li>src/plugins/runner/CMakeLists.txt <span style="color: grey">(edf0422e48a9393f10c6200b8ddfd5614beaafb2)</span></li>

 <li>src/plugins/runner/cache/CachePlugin.h <span style="color: grey">(8ef176a48d7a7439c96846150123cf4e947aa07d)</span></li>

 <li>src/plugins/runner/cache/CachePlugin.cpp <span style="color: grey">(ce32c97e74baa6eabf10fa46c643bfab27e1f674)</span></li>

 <li>src/plugins/runner/gosmore-reversegeocoding/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gosmore-reversegeocoding/GosmoreReverseGeocodingPlugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gosmore-reversegeocoding/GosmoreReverseGeocodingPlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gosmore-reversegeocoding/GosmoreReverseGeocodingRunner.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gosmore-reversegeocoding/GosmoreReverseGeocodingRunner.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/RoutingRunnerPlugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/RoutingRunnerPlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/RunnerPlugin.h <span style="color: grey">(f3f972132a26b85474d4c0cc8a0118cbdb864336)</span></li>

 <li>src/lib/ReverseGeocodingRunnerPlugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/ReverseGeocodingRunnerPlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/ParseRunnerPlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/lib/PluginManager.h <span style="color: grey">(3b1ab1e3c7859317f18532abf541becea2a61964)</span></li>

 <li>src/lib/PluginManager.cpp <span style="color: grey">(a2510ed4feeafc246dd175c7524ee558e62f80c1)</span></li>

 <li>src/lib/CMakeLists.txt <span style="color: grey">(5210329fb771254a8dc5ab19f7020d7145057401)</span></li>

 <li>src/lib/MarbleRunnerManager.cpp <span style="color: grey">(c546bd4a140d7e875c984b4049fde69d74a30ea3)</span></li>

 <li>src/lib/ParseRunnerPlugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/gpx/GpxPlugin.h <span style="color: grey">(5ebc5c1130bc07bdb0c84c1f91879ef110e30c91)</span></li>

 <li>src/plugins/runner/gpx/GpxPlugin.cpp <span style="color: grey">(25d8eb1969ba6bd7dc19f3c2a58b03be7be01ddd)</span></li>

 <li>src/plugins/runner/hostip/HostipPlugin.h <span style="color: grey">(6b13bd2408a70394e2fb9d3e5443642c35fd12f8)</span></li>

 <li>src/plugins/runner/hostip/HostipPlugin.cpp <span style="color: grey">(002417da327b7b68795c56d0d53671be60236b6a)</span></li>

 <li>src/plugins/runner/kml/KmlPlugin.h <span style="color: grey">(29136bae8732ac6cfdd75e56b27331ba0180d9da)</span></li>

 <li>src/plugins/runner/kml/KmlPlugin.cpp <span style="color: grey">(00023f46c746fef1314a05aa363091aeb98c3d0c)</span></li>

 <li>src/plugins/runner/latlon/LatLonPlugin.h <span style="color: grey">(542a5d1148a4cdc67a1b463ce3d186fcadb9b099)</span></li>

 <li>src/plugins/runner/latlon/LatLonPlugin.cpp <span style="color: grey">(5900fc54c97fae39677c4703c99f3d1b5c9dff65)</span></li>

 <li>src/plugins/runner/local-osm-search/LocalOsmSearchPlugin.h <span style="color: grey">(0225813628509203c1da044bf4e5e9c07451c07d)</span></li>

 <li>src/plugins/runner/local-osm-search/LocalOsmSearchPlugin.cpp <span style="color: grey">(871f4ef1219c13422130a1afb6f8cf7069ec1209)</span></li>

 <li>src/plugins/runner/localdatabase/LocalDatabasePlugin.h <span style="color: grey">(1fec957ef4eb0d90dfcc6c344dc6eb735a4da6ff)</span></li>

 <li>src/plugins/runner/localdatabase/LocalDatabasePlugin.cpp <span style="color: grey">(0977bf5a16bfec74a42cf5cce71e85b2e15843ba)</span></li>

 <li>src/plugins/runner/log/LogPlugin.h <span style="color: grey">(e08d67f5faf15e39dc52461aab698de00d4e2fe0)</span></li>

 <li>src/plugins/runner/log/LogPlugin.cpp <span style="color: grey">(0f9361b3ae0580e4996ed4626295874bace5d125)</span></li>

 <li>src/plugins/runner/mapquest/MapQuestPlugin.h <span style="color: grey">(49b6046cc7adfb4d5dc950148906df7c1e687236)</span></li>

 <li>src/plugins/runner/mapquest/MapQuestPlugin.cpp <span style="color: grey">(3d4d49f88011befdd474ecf7d3276a8c6c90c785)</span></li>

 <li>src/plugins/runner/monav/MonavConfigWidget.h <span style="color: grey">(c0b9c7f3f798c70424f57a15df8da1f7bbcba4c2)</span></li>

 <li>src/plugins/runner/monav/MonavConfigWidget.cpp <span style="color: grey">(70b016bca206f227b172216ff88f1541f9787a67)</span></li>

 <li>src/plugins/runner/monav/MonavPlugin.h <span style="color: grey">(56661936da2bd624002a46c2f1cadb4bdd59b6bd)</span></li>

 <li>src/plugins/runner/monav/MonavPlugin.cpp <span style="color: grey">(bcab1dd9c30dc2b2e9a2956d14a49f4b2fba3f1b)</span></li>

 <li>src/plugins/runner/nominatim-reversegeocoding/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-reversegeocoding/NominatimReverseGeocodingPlugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-reversegeocoding/NominatimReverseGeocodingPlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-reversegeocoding/OsmNominatimReverseGeocodingRunner.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-reversegeocoding/OsmNominatimReverseGeocodingRunner.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-search/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-search/NominatimSearchPlugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-search/NominatimSearchPlugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-search/OsmNominatimSearchRunner.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim-search/OsmNominatimSearchRunner.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>src/plugins/runner/nominatim/CMakeLists.txt <span style="color: grey">(461e3a4eb662c33c5ef0b29a34db1c08512661eb)</span></li>

 <li>src/plugins/runner/nominatim/NominatimPlugin.h <span style="color: grey">(22d8d10e01f4cf61df7d628a0be6fc19dc5d60cc)</span></li>

 <li>src/plugins/runner/nominatim/NominatimPlugin.cpp <span style="color: grey">(2a4ffed4a568c6a38578f88a0cd630d62acfcee3)</span></li>

 <li>src/plugins/runner/nominatim/OsmNominatimRunner.h <span style="color: grey">(43b498aa5b06278b141cdd6946da9d3aaab3bafc)</span></li>

 <li>src/plugins/runner/nominatim/OsmNominatimRunner.cpp <span style="color: grey">(8d1d0461e6ff67c830af4f2cdcf84b993698c523)</span></li>

 <li>src/plugins/runner/open-source-routing-machine/OSRMPlugin.h <span style="color: grey">(d906bfdf6e104aa70fcc2dfa05849b94abe7d20d)</span></li>

 <li>src/plugins/runner/open-source-routing-machine/OSRMPlugin.cpp <span style="color: grey">(c415699266056a78698228f22c8f882600a95080)</span></li>

 <li>src/plugins/runner/openrouteservice/OpenRouteServicePlugin.h <span style="color: grey">(bdcbcb18a28e3951c1eb739635635ad27b89120e)</span></li>

 <li>src/plugins/runner/openrouteservice/OpenRouteServicePlugin.cpp <span style="color: grey">(65bb12323cfd2bca28612d77ea596c2184c55589)</span></li>

 <li>src/plugins/runner/osm/OsmPlugin.h <span style="color: grey">(472d1894a36d96c537f6554a66263f3b17a04aa7)</span></li>

 <li>src/plugins/runner/osm/OsmPlugin.cpp <span style="color: grey">(bd15538f0cba74b79188d1d7f57a7a18671e37ad)</span></li>

 <li>src/plugins/runner/pnt/PntPlugin.h <span style="color: grey">(e705fde173c28acaedcafbbe8a8c9de61202c935)</span></li>

 <li>src/plugins/runner/pnt/PntPlugin.cpp <span style="color: grey">(aaa47a6be600c124a78ddae4ba9067efd969c675)</span></li>

 <li>src/plugins/runner/routino/RoutinoPlugin.h <span style="color: grey">(f65c2e66f5d6db08677d78afefbd75435807a4a9)</span></li>

 <li>src/plugins/runner/routino/RoutinoPlugin.cpp <span style="color: grey">(05395790a2747ff5cb4d07bd834e41caa508b952)</span></li>

 <li>src/plugins/runner/shp/ShpPlugin.h <span style="color: grey">(7bf2d60fca21e066430919a2285770a7075940dc)</span></li>

 <li>src/plugins/runner/shp/ShpPlugin.cpp <span style="color: grey">(8896e4964fb23ae0764f7e88a61e80f5e3792e16)</span></li>

 <li>src/plugins/runner/yours/YoursPlugin.h <span style="color: grey">(9c2ce0f4d7db9e3e9b3dc3ac85c57aaeb7fbf29d)</span></li>

 <li>src/plugins/runner/yours/YoursPlugin.cpp <span style="color: grey">(e3758e2656bf998e294d04072624c990ed23ff10)</span></li>

 <li>tests/PluginManagerTest.cpp <span style="color: grey">(7adaf2e0fb6095f6369924ef9781cec13380ff62)</span></li>

</ul>

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




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








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