<table><tr><td style="">graesslin added inline comments.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7369" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7369#inline-30017" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">registry.h:938-939</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">XdgExporterUnstableV1</span> <span style="color: #aa2211">*</span><span style="color: #004012">createXdgExporterUnstableV1</span><span class="p">(</span><span class="n">quint32</span> <span class="n">name</span><span class="p">,</span> <span class="n">quint32</span> <span class="n">version</span><span class="p">,</span> <span class="n">QObject</span> <span style="color: #aa2211">*</span><span class="n">parent</span> <span style="color: #aa2211">=</span> <span class="n">nullptr</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span class="n">XdgImporterUnstableV1</span> <span style="color: #aa2211">*</span><span style="color: #004012">createXdgImporterUnstableV1</span><span class="p">(</span><span class="n">quint32</span> <span class="n">name</span><span class="p">,</span> <span class="n">quint32</span> <span class="n">version</span><span class="p">,</span> <span class="n">QObject</span> <span style="color: #aa2211">*</span><span class="n">parent</span> <span style="color: #aa2211">=</span> <span class="n">nullptr</span><span class="p">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">    <span style="color: #74777d">///@}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">The general pattern I used for protocols which might get another revision is to create a "meta" class which hides the UnstableV1 mess. C.f. the PointerConstraints a line above.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7369#inline-30021" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">xdgforeign_v1_interface.cpp:163</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">const</span> <span class="n">QString</span> <span class="n">handle</span> <span style="color: #aa2211">=</span> <span class="n">QUuid</span><span style="color: #aa2211">::</span><span class="n">createUuid</span><span class="p">().</span><span class="n">toString</span><span class="p">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">shouldn't we verify that the Uuid is unique? I just checked the docs and don't see a requirement that the created Uuid is unique.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7369#inline-30018" rel="noreferrer">View Inline</a><span style="color: #4b4d51; font-weight: bold;">xdgforeign_v1_interface.h:38</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="n">class</span> <span class="n">KWAYLANDSERVER_EXPORT</span> <span style="color: #a0a000">XdgForeignUnstableV1Interface</span> <span class="p">:</span> <span class="n">public</span> <span class="n">QObject</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);"><span class="p">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">also on the server I tried to hide the unstable mess from the class names. The advantage is that the user does not have to change all it's code to support this. Example is the text input protocol.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R127 KWayland</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7369" rel="noreferrer">https://phabricator.kde.org/D7369</a></div></div><br /><div><strong>To: </strong>mart, Plasma, KWin<br /><strong>Cc: </strong>graesslin, plasma-devel, Frameworks, leezu, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein, lukas<br /></div>