diff options
author | Anne Jan Brouwer <brouwer@annejan.com> | 2023-09-22 19:13:54 +0200 |
---|---|---|
committer | Anne Jan Brouwer <brouwer@annejan.com> | 2023-09-22 19:13:54 +0200 |
commit | 0e8dcbc95cee6f7ed5ef70f6d84aca35cd02f38f (patch) | |
tree | d36d7945d86216d8607ec383f93202af29017848 | |
parent | d46a9a5f6578f3b69401313f901986804fc11b1f (diff) |
Updates to docs and sitemap
-rw-r--r-- | docs/class_executor.html | 18 | ||||
-rw-r--r-- | docs/executor_8cpp.html | 3 | ||||
-rw-r--r-- | docs/executor_8cpp__incl.map | 3 | ||||
-rw-r--r-- | docs/executor_8cpp__incl.md5 | 2 | ||||
-rw-r--r-- | docs/executor_8cpp__incl.svg | 35 | ||||
-rw-r--r-- | docs/executor_8cpp_source.html | 341 | ||||
-rw-r--r-- | docs/executor_8h_source.html | 8 | ||||
-rw-r--r-- | docs/imitatepass_8cpp_source.html | 4 | ||||
-rw-r--r-- | docs/md__c_h_a_n_g_e_l_o_g.html | 47 | ||||
-rw-r--r-- | docs/md__r_e_a_d_m_e.html | 6 | ||||
-rw-r--r-- | docs/pass_8cpp_source.html | 6 | ||||
-rw-r--r-- | docs/realpass_8cpp_source.html | 2 | ||||
-rw-r--r-- | docs/util_8cpp_source.html | 2 | ||||
-rw-r--r-- | sitemap.xml | 495 |
14 files changed, 499 insertions, 473 deletions
diff --git a/docs/class_executor.html b/docs/class_executor.html index 44c3ef19..8c906056 100644 --- a/docs/class_executor.html +++ b/docs/class_executor.html @@ -184,7 +184,7 @@ Static Public Member Functions</h2></td></tr> </dd> </dl> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00016">16</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00019">19</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> </div> </div> @@ -207,7 +207,7 @@ Static Public Member Functions</h2></td></tr> <p><a class="el" href="class_executor.html#a7e64afb1172167fa430d5175d3176487" title="Executor::cancelNext cancels execution of first process in queue if it's not already running.">Executor::cancelNext</a> cancels execution of first process in queue if it's not already running. </p> <dl class="section return"><dt>Returns</dt><dd>id of the cancelled process or -1 on error </dd></dl> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00230">230</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00233">233</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> <div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div> <div id="dynsection-2-summary" class="dynsummary" style="display:block;"> @@ -334,7 +334,7 @@ Static Public Member Functions</h2></td></tr> </dd> </dl> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00065">65</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00068">68</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> <div id="dynsection-3" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-3-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div> <div id="dynsection-3-summary" class="dynsummary" style="display:block;"> @@ -417,7 +417,7 @@ Static Public Member Functions</h2></td></tr> </dd> </dl> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00094">94</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00097">97</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> <div id="dynsection-5" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-5-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div> <div id="dynsection-5-summary" class="dynsummary" style="display:block;"> @@ -492,7 +492,7 @@ Static Public Member Functions</h2></td></tr> </dd> </dl> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00079">79</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00082">82</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> <div id="dynsection-6" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-6-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div> <div id="dynsection-6-summary" class="dynsummary" style="display:block;"> @@ -574,7 +574,7 @@ Static Public Member Functions</h2></td></tr> </dd> </dl> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00110">110</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00113">113</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> </div> </div> @@ -636,7 +636,7 @@ Static Public Member Functions</h2></td></tr> </dl> <dl class="section return"><dt>Returns</dt><dd></dd></dl> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00210">210</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00213">213</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> <div id="dynsection-7" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-7-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div> <div id="dynsection-7-summary" class="dynsummary" style="display:block;"> @@ -714,7 +714,7 @@ Static Public Member Functions</h2></td></tr> <dl class="section return"><dt>Returns</dt><dd></dd></dl> <p>TODO(bezet): it might make sense to throw here, a lot of possible errors </p> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00168">168</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00171">171</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> <div id="dynsection-8" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-8-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div> <div id="dynsection-8-summary" class="dynsummary" style="display:block;"> @@ -809,7 +809,7 @@ Static Public Member Functions</h2></td></tr> </dd> </dl> -<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00220">220</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> +<p class="definition">Definition at line <a class="el" href="executor_8cpp_source.html#l00223">223</a> of file <a class="el" href="executor_8cpp_source.html">executor.cpp</a>.</p> <div id="dynsection-9" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-9-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div> <div id="dynsection-9-summary" class="dynsummary" style="display:block;"> diff --git a/docs/executor_8cpp.html b/docs/executor_8cpp.html index 4b1c4b0a..f317c0c3 100644 --- a/docs/executor_8cpp.html +++ b/docs/executor_8cpp.html @@ -81,12 +81,13 @@ $(function() { <div class="textblock"><code>#include "<a class="el" href="executor_8h_source.html">executor.h</a>"</code><br /> <code>#include <QCoreApplication></code><br /> <code>#include <QDir></code><br /> +<code>#include <QStringDecoder></code><br /> </div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for executor.cpp:</div> <div id="dynsection-0-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-0-content" class="dyncontent" style="display:none;"> -<div class="center"><iframe scrolling="no" frameborder="0" src="executor_8cpp__incl.svg" width="410" height="183"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> +<div class="center"><iframe scrolling="no" frameborder="0" src="executor_8cpp__incl.svg" width="550" height="183"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> </div> </div> diff --git a/docs/executor_8cpp__incl.map b/docs/executor_8cpp__incl.map index 48cc6dcf..c301e43f 100644 --- a/docs/executor_8cpp__incl.map +++ b/docs/executor_8cpp__incl.map @@ -1,8 +1,9 @@ <map id="src/executor.cpp" name="src/executor.cpp"> -<area shape="rect" id="node1" title=" " alt="" coords="209,5,328,31"/> +<area shape="rect" id="node1" title=" " alt="" coords="264,5,383,31"/> <area shape="rect" id="node2" href="$executor_8h.html" title=" " alt="" coords="99,79,182,104"/> <area shape="rect" id="node6" title=" " alt="" coords="207,79,331,104"/> <area shape="rect" id="node7" title=" " alt="" coords="355,79,404,104"/> +<area shape="rect" id="node8" title=" " alt="" coords="429,79,543,104"/> <area shape="rect" id="node3" title=" " alt="" coords="5,152,76,177"/> <area shape="rect" id="node4" title=" " alt="" coords="101,152,181,177"/> <area shape="rect" id="node5" title=" " alt="" coords="205,152,276,177"/> diff --git a/docs/executor_8cpp__incl.md5 b/docs/executor_8cpp__incl.md5 index e27d8890..f3968d2b 100644 --- a/docs/executor_8cpp__incl.md5 +++ b/docs/executor_8cpp__incl.md5 @@ -1 +1 @@ -120224b9e48cadafaea7e0cc06faf87f
\ No newline at end of file +1af13f30d1310ae39f96781f99d345aa
\ No newline at end of file diff --git a/docs/executor_8cpp__incl.svg b/docs/executor_8cpp__incl.svg index 6f27fcc8..aa9b70b7 100644 --- a/docs/executor_8cpp__incl.svg +++ b/docs/executor_8cpp__incl.svg @@ -4,16 +4,16 @@ <!-- Generated by graphviz version 2.49.3 (0) --> <!-- Title: src/executor.cpp Pages: 1 --> -<svg width="307pt" height="137pt" - viewBox="0.00 0.00 307.00 137.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg width="412pt" height="137pt" + viewBox="0.00 0.00 411.50 137.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 133)"> <title>src/executor.cpp</title> <!-- Node1 --> <g id="node1" class="node"> <title>Node1</title> <g id="a_node1"><a xlink:title=" "> -<polygon fill="#999999" stroke="#666666" points="242,-129 153,-129 153,-110 242,-110 242,-129"/> -<text text-anchor="middle" x="197.5" y="-117" font-family="Helvetica,sans-Serif" font-size="10.00">src/executor.cpp</text> +<polygon fill="#999999" stroke="#666666" points="283,-129 194,-129 194,-110 283,-110 283,-129"/> +<text text-anchor="middle" x="238.5" y="-117" font-family="Helvetica,sans-Serif" font-size="10.00">src/executor.cpp</text> </a> </g> </g> @@ -29,8 +29,8 @@ <!-- Node1->Node2 --> <g id="edge1" class="edge"> <title>Node1->Node2</title> -<path fill="none" stroke="#63b8ff" d="M182.08,-109.98C167.05,-101.69 143.96,-88.94 126.34,-79.22"/> -<polygon fill="#63b8ff" stroke="#63b8ff" points="127.65,-75.94 117.2,-74.17 124.27,-82.07 127.65,-75.94"/> +<path fill="none" stroke="#63b8ff" d="M216.49,-109.98C194.05,-101.3 159.02,-87.75 133.51,-77.88"/> +<polygon fill="#63b8ff" stroke="#63b8ff" points="134.5,-74.51 123.91,-74.17 131.98,-81.04 134.5,-74.51"/> </g> <!-- Node6 --> <g id="node6" class="node"> @@ -44,8 +44,8 @@ <!-- Node1->Node6 --> <g id="edge5" class="edge"> <title>Node1->Node6</title> -<path fill="none" stroke="#63b8ff" d="M197.5,-109.75C197.5,-102.8 197.5,-92.85 197.5,-84.13"/> -<polygon fill="#63b8ff" stroke="#63b8ff" points="201,-84.09 197.5,-74.09 194,-84.09 201,-84.09"/> +<path fill="none" stroke="#63b8ff" d="M231.73,-109.75C225.94,-102.26 217.44,-91.28 210.36,-82.13"/> +<polygon fill="#63b8ff" stroke="#63b8ff" points="213.03,-79.86 204.14,-74.09 207.49,-84.14 213.03,-79.86"/> </g> <!-- Node7 --> <g id="node7" class="node"> @@ -59,8 +59,23 @@ <!-- Node1->Node7 --> <g id="edge6" class="edge"> <title>Node1->Node7</title> -<path fill="none" stroke="#63b8ff" d="M210.84,-109.98C223.59,-101.84 243.05,-89.41 258.17,-79.76"/> -<polygon fill="#63b8ff" stroke="#63b8ff" points="260.38,-82.5 266.92,-74.17 256.61,-76.6 260.38,-82.5"/> +<path fill="none" stroke="#63b8ff" d="M245.44,-109.75C251.37,-102.26 260.07,-91.28 267.32,-82.13"/> +<polygon fill="#63b8ff" stroke="#63b8ff" points="270.23,-84.1 273.69,-74.09 264.74,-79.75 270.23,-84.1"/> +</g> +<!-- Node8 --> +<g id="node8" class="node"> +<title>Node8</title> +<g id="a_node8"><a xlink:title=" "> +<polygon fill="#e0e0e0" stroke="#999999" points="403.5,-74 317.5,-74 317.5,-55 403.5,-55 403.5,-74"/> +<text text-anchor="middle" x="360.5" y="-62" font-family="Helvetica,sans-Serif" font-size="10.00">QStringDecoder</text> +</a> +</g> +</g> +<!-- Node1->Node8 --> +<g id="edge7" class="edge"> +<title>Node1->Node8</title> +<path fill="none" stroke="#63b8ff" d="M258.1,-109.98C277.82,-101.42 308.45,-88.11 331.08,-78.28"/> +<polygon fill="#63b8ff" stroke="#63b8ff" points="332.76,-81.37 340.54,-74.17 329.98,-74.94 332.76,-81.37"/> </g> <!-- Node3 --> <g id="node3" class="node"> diff --git a/docs/executor_8cpp_source.html b/docs/executor_8cpp_source.html index 091b6b6e..948e4cc0 100644 --- a/docs/executor_8cpp_source.html +++ b/docs/executor_8cpp_source.html @@ -84,176 +84,179 @@ $(function() { <div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)</span></div> <div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include <QTextCodec></span></div> <div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div> -<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#ifdef QT_DEBUG</span></div> -<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include "<a class="code" href="debughelper_8h.html">debughelper.h</a>"</span></div> -<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div> -<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="class_executor.html#a19fdadaa749c44b889287879ecf5f315"> 16</a></span><a class="code hl_function" href="class_executor.html#a19fdadaa749c44b889287879ecf5f315">Executor::Executor</a>(QObject *parent) : QObject(parent), running(false) {</div> -<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> connect(&m_process,</div> -<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">static_cast<</span><span class="keywordtype">void</span> (QProcess::*)(<span class="keywordtype">int</span>, QProcess::ExitStatus)<span class="keyword">></span>(</div> -<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> &QProcess::finished),</div> -<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">this</span>,</div> -<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">static_cast<</span><span class="keywordtype">void</span> (<a class="code hl_class" href="class_executor.html">Executor</a>::*)(<span class="keywordtype">int</span>, QProcess::ExitStatus)<span class="keyword">></span>(</div> -<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> &Executor::finished));</div> -<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> connect(&m_process, &QProcess::started, <span class="keyword">this</span>, &<a class="code hl_signal" href="class_executor.html#acfcfc18b0b973791530302eb8179e038">Executor::starting</a>);</div> -<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>}</div> -<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div> -<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keywordtype">void</span> Executor::executeNext() {</div> -<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordflow">if</span> (!running) {</div> -<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">if</span> (!m_execQueue.isEmpty()) {</div> -<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">const</span> execQueueItem &i = m_execQueue.head();</div> -<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> running = <span class="keyword">true</span>;</div> -<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">if</span> (!i.workingDir.isEmpty())</div> -<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> m_process.setWorkingDirectory(i.workingDir);</div> -<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">if</span> (i.app.startsWith(<span class="stringliteral">"wsl "</span>)) {</div> -<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> QStringList tmp = i.args;</div> -<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> QString app = i.app;</div> -<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> tmp.prepend(app.remove(0, 4));</div> -<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> m_process.start(<span class="stringliteral">"wsl"</span>, tmp);</div> -<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> } <span class="keywordflow">else</span></div> -<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> m_process.start(i.app, i.args);</div> -<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">if</span> (!i.input.isEmpty()) {</div> -<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> m_process.waitForStarted(-1);</div> -<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> QByteArray data = i.input.toUtf8();</div> -<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">if</span> (m_process.write(data) != data.length()) {</div> -<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor">#ifdef QT_DEBUG</span></div> -<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_define" href="debughelper_8h.html#a1b089898deebf895757ee5e095615ec7">dbg</a>() << <span class="stringliteral">"Not all data written to process:"</span> << i.id << <span class="stringliteral">" "</span> << i.app;</div> -<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> }</div> -<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> }</div> -<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> m_process.closeWriteChannel();</div> -<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> }</div> -<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> }</div> -<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span>}</div> -<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div> -<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="class_executor.html#a7c4305c0af542f0174492badfdbfbc74"> 65</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="class_executor.html#a7c4305c0af542f0174492badfdbfbc74">Executor::execute</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> QString &app, <span class="keyword">const</span> QStringList &args,</div> -<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">bool</span> readStdout, <span class="keywordtype">bool</span> readStderr) {</div> -<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_function" href="class_executor.html#a7c4305c0af542f0174492badfdbfbc74">execute</a>(<span class="keywordtype">id</span>, QString(), app, args, QString(), readStdout, readStderr);</div> -<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>}</div> -<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div> -<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="class_executor.html#a490166ea519a8047e207da8d67f3c0d2"> 79</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="class_executor.html#a7c4305c0af542f0174492badfdbfbc74">Executor::execute</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> QString &workDir, <span class="keyword">const</span> QString &app,</div> -<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> QStringList &args, <span class="keywordtype">bool</span> readStdout,</div> -<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">bool</span> readStderr) {</div> -<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_function" href="class_executor.html#a7c4305c0af542f0174492badfdbfbc74">execute</a>(<span class="keywordtype">id</span>, workDir, app, args, QString(), readStdout, readStderr);</div> -<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>}</div> -<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div> -<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="class_executor.html#aedd0216127ab9915112df45d9eaaccfe"> 94</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="class_executor.html#a7c4305c0af542f0174492badfdbfbc74">Executor::execute</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> QString &app, <span class="keyword">const</span> QStringList &args,</div> -<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> QString input, <span class="keywordtype">bool</span> readStdout, <span class="keywordtype">bool</span> readStderr) {</div> -<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_function" href="class_executor.html#a7c4305c0af542f0174492badfdbfbc74">execute</a>(<span class="keywordtype">id</span>, QString(), app, args, input, readStdout, readStderr);</div> -<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span>}</div> -<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div> -<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="class_executor.html#affda40d546db75d35f38db1ec1414bf7"> 110</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="class_executor.html#a7c4305c0af542f0174492badfdbfbc74">Executor::execute</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> QString &workDir, <span class="keyword">const</span> QString &app,</div> -<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">const</span> QStringList &args, QString input, <span class="keywordtype">bool</span> readStdout,</div> -<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keywordtype">bool</span> readStderr) {</div> -<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// Happens a lot if e.g. git binary is not set.</span></div> -<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="comment">// This will result in bogus "QProcess::FailedToStart" messages,</span></div> -<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="comment">// also hiding legitimate errors from the gpg commands.</span></div> -<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">if</span> (app.isEmpty()) {</div> -<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="preprocessor">#ifdef QT_DEBUG</span></div> -<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_define" href="debughelper_8h.html#a1b089898deebf895757ee5e095615ec7">dbg</a>() << <span class="stringliteral">"Trying to execute nothing..."</span>;</div> -<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">return</span>;</div> -<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div> -<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> QString appPath = app;</div> -<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">if</span> (!appPath.startsWith(<span class="stringliteral">"wsl "</span>))</div> -<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> appPath =</div> -<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> QDir(QCoreApplication::applicationDirPath()).absoluteFilePath(app);</div> -<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> m_execQueue.push_back(</div> -<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> {id, appPath, args, input, readStdout, readStderr, workDir});</div> -<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> executeNext();</div> -<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span>}</div> -<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div> -<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="keyword">static</span> QString decodeAssumingUtf8(QByteArray in) {</div> -<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="preprocessor">#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)</span></div> -<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> QTextCodec *codec = QTextCodec::codecForName(<span class="stringliteral">"UTF-8"</span>);</div> -<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> QTextCodec::ConverterState state;</div> -<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> QString out = codec->toUnicode(in.constData(), in.size(), &state);</div> -<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (!state.invalidChars)</div> -<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> out;</div> -<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> codec = QTextCodec::codecForUtfText(in);</div> -<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> codec->toUnicode(in);</div> -<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="preprocessor">#else</span></div> -<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">auto</span> converter = QStringDecoder(QStringDecoder::Utf8);</div> -<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordflow">return</span> converter(in);</div> -<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span>}</div> -<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div> -<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="class_executor.html#a65a32a439c0a531e4553cab015061f2f"> 168</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="class_executor.html#a65a32a439c0a531e4553cab015061f2f">Executor::executeBlocking</a>(QString app, <span class="keyword">const</span> QStringList &args,</div> -<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> QString input, QString *process_out,</div> -<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> QString *process_err) {</div> -<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> QProcess internal;</div> -<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordflow">if</span> (app.startsWith(<span class="stringliteral">"wsl "</span>)) {</div> -<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> QStringList tmp = args;</div> -<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> tmp.prepend(app.remove(0, 4));</div> -<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> internal.start(<span class="stringliteral">"wsl"</span>, tmp);</div> -<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> } <span class="keywordflow">else</span></div> -<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> internal.start(app, args);</div> -<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">if</span> (!input.isEmpty()) {</div> -<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> QByteArray data = input.toUtf8();</div> -<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> internal.waitForStarted(-1);</div> -<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">if</span> (internal.write(data) != data.length()) {</div> -<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span><span class="preprocessor">#ifdef QT_DEBUG</span></div> -<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <a class="code hl_define" href="debughelper_8h.html#a1b089898deebf895757ee5e095615ec7">dbg</a>() << <span class="stringliteral">"Not all input written:"</span> << app;</div> -<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="preprocessor">#endif</span></div> -<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> }</div> -<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> internal.closeWriteChannel();</div> -<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> }</div> -<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> internal.waitForFinished(-1);</div> -<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span> (internal.exitStatus() == QProcess::NormalExit) {</div> -<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> QString pout = decodeAssumingUtf8(internal.readAllStandardOutput());</div> -<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> QString perr = decodeAssumingUtf8(internal.readAllStandardError());</div> -<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span> (process_out != Q_NULLPTR)</div> -<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> *process_out = pout;</div> -<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">if</span> (process_err != Q_NULLPTR)</div> -<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> *process_err = perr;</div> -<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">return</span> internal.exitCode();</div> -<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> }</div> -<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="comment">// TODO(bezet): emit error() ?</span></div> -<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keywordflow">return</span> -1; <span class="comment">// QProcess error code + qDebug error?</span></div> -<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span>}</div> -<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div> -<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="class_executor.html#a916ceeecbe46e63d9dbfe6840c3c3b76"> 210</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="class_executor.html#a65a32a439c0a531e4553cab015061f2f">Executor::executeBlocking</a>(QString app, <span class="keyword">const</span> QStringList &args,</div> -<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> QString *process_out, QString *process_err) {</div> -<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_executor.html#a65a32a439c0a531e4553cab015061f2f">executeBlocking</a>(app, args, QString(), process_out, process_err);</div> -<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span>}</div> -<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div> -<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="class_executor.html#abbe0bc7b3fd09d84f2f04ddcc0bc095f"> 220</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="class_executor.html#abbe0 |