<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 />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Although I'm not a big fan of templates this approach looks definately much cleaner and more extensible to me than the capability parameter based solution. </pre>
 <br />







<p>- Torsten</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>