<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/125797/">https://git.reviewboard.kde.org/r/125797/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On October 26th, 2015, 5:27 p.m. UTC, <b>Alex Richardson</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The protocoltojson program will have to read the plugin metadata.json file to insert the "KDE-KIO-Protocols" to that json file as it is not possible to embed more than one JSON file into a Qt plugin.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I am not sure whether we need a CMake macro, to me this is a conversion that should be done once and then we store the JSON file in the repository so that we don't increase the build time.</p></pre>
</blockquote>
<p>On October 26th, 2015, 5:39 p.m. UTC, <b>Christoph Cullmann</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Actually ioslaves have atm no other json stored, this would be the only meta data added to them, I think no ioslave is at all a qt plugin and to stay compatible, I would only add a dummy class there with this json embedded to have the meta data available. But perhaps I am mistaken.
For the one time conversion: I am not sure that the .protocol files will be deprecated, I thought to do it like ATM for the .desktop files for the plugins for which we kept the .desktop files, too.</p></pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">IIRC we kept .desktop files because there was no other way to translate them, back then.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">But that's not an issue anymore, and not an issue for .protocol files anyway.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So when converting an ioslave to json, rather than just change its cmakelists, we could also just convert the .protocol to json, either with a one-time conversion tool (now that you wrote it...) or by hand, reading some documentation on the format.
Seems simpler than more cmake magic.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">KIO will need to keep being able to parse .protocol files anyway, for compat reasons, that's unrelated.</p></pre>
<br />
<p>- David</p>
<br />
<p>On October 26th, 2015, 5:03 p.m. UTC, Christoph Cullmann wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDE Frameworks, Alex Richardson and David Faure.</div>
<div>By Christoph Cullmann.</div>
<p style="color: grey;"><i>Updated Oct. 26, 2015, 5:03 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kio
</div>
<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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Application to convert multiple .protocol files into on json map.
If this is acceptable my next steps would be:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">1) use this, to generate json files and embedded them in io slaves
2) extend the protocol factory to search in the embedded files</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That would make the protocol factory parts of: https://git.reviewboard.kde.org/r/125778/ not needed.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Feed in http slave files: </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">./protocoltojson -o http.json /local/cullmann/kf5/src/frameworks/kio/src/ioslaves/http/*.protocol</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">We get mapping:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">{
"http": {
"Class": ":internet",
"Icon": "text-html",
"X-DocPath": "kioslave5/http/index.html",
"defaultMimetype": "application/octet-stream",
"deleting": true,
"determineMimetypeFromExtension": false,
"exec": "kf5/kio/http",
"input": "none",
"maxInstances": 20,
"maxInstancesPerHost": 5,
"output": "filesystem",
"protocol": "http",
"reading": true,
"writing": true
},
"https": {
"Class": ":internet",
"Icon": "text-html",
"X-DocPath": "kioslave5/http/index.html",
"config": "http",
"defaultMimetype": "application/octet-stream",
"deleting": true,
"determineMimetypeFromExtension": false,
"exec": "kf5/kio/http",
"input": "none",
"maxInstances": 20,
"maxInstancesPerHost": 5,
"output": "filesystem",
"protocol": "https",
"reading": true,
"writing": true
},
"webdav": {
"Class": ":internet",
"Icon": "folder-remote",
"X-DocPath": "kioslave5/webdav/index.html",
"defaultMimetype": "application/octet-stream",
"deleteRecursive": true,
"deleting": true,
"determineMimetypeFromExtension": false,
"exec": "kf5/kio/http",
"input": "none",
"listing": [
"Name",
"Type",
"Size",
"Date",
"AccessDate",
"Access"
],
"makedir": true,
"maxInstances": 20,
"maxInstancesPerHost": 5,
"moving": true,
"output": "filesystem",
"protocol": "webdav",
"reading": true,
"writing": true
},
"webdavs": {
"Class": ":internet",
"Icon": "folder-remote",
"X-DocPath": "kioslave5/webdav/index.html",
"config": "webdav",
"defaultMimetype": "application/octet-stream",
"deleteRecursive": true,
"deleting": true,
"determineMimetypeFromExtension": false,
"exec": "kf5/kio/http",
"input": "none",
"listing": [
"Name",
"Type",
"Size",
"Date",
"AccessDate",
"Access"
],
"makedir": true,
"maxInstances": 20,
"maxInstancesPerHost": 5,
"moving": true,
"output": "filesystem",
"protocol": "webdavs",
"reading": true,
"writing": true
}
}</p></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/CMakeLists.txt <span style="color: grey">(f65ad8e)</span></li>
<li>src/protocoltojson/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>
<li>src/protocoltojson/main.cpp <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/125797/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>