OSDN Git Service

Some documentation updates.
authorLoRd_MuldeR <mulder2@gmx.de>
Sat, 7 Jan 2017 17:40:46 +0000 (18:40 +0100)
committerLoRd_MuldeR <mulder2@gmx.de>
Sat, 7 Jan 2017 17:40:46 +0000 (18:40 +0100)
36 files changed:
docs/annotated.html
docs/d1/d08/class_m_utils_1_1_job_object-members.html
docs/d2/d13/_startup_8h_source.html
docs/d3/da6/namespace_m_utils.html
docs/d4/d85/_job_object_8h.html [new file with mode: 0644]
docs/d4/d85/_job_object_8h_source.html
docs/dc/dd3/class_m_utils_1_1_job_object.html
docs/dir_b076b53667bc06ebb413a190e197fc7b.html
docs/files.html
docs/functions.html
docs/functions_func.html
docs/hierarchy.html
docs/index.html
docs/search/all_1.js
docs/search/all_13.html [new file with mode: 0644]
docs/search/all_13.js [new file with mode: 0644]
docs/search/all_8.js
docs/search/all_9.js
docs/search/all_f.js
docs/search/files_3.html [new file with mode: 0644]
docs/search/files_3.js [new file with mode: 0644]
docs/search/functions_0.js
docs/search/functions_3.js
docs/search/functions_4.js
docs/search/functions_5.js
docs/search/functions_6.js
docs/search/functions_7.js
docs/search/functions_8.js
docs/search/functions_9.js
docs/search/functions_a.html [new file with mode: 0644]
docs/search/functions_a.js [new file with mode: 0644]
docs/search/functions_b.html [new file with mode: 0644]
docs/search/functions_b.js [new file with mode: 0644]
docs/search/searchdata.js
include/MUtils/JobObject.h
include/MUtilsInfo.dox

index 5c17dd8..88491a3 100644 (file)
@@ -76,7 +76,7 @@ $(function() {
 <tr id="row_0_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_3_" class="arrow" onclick="toggleFolder('0_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Registry</b></td><td class="desc"></td></tr>
 <tr id="row_0_3_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d35/class_m_utils_1_1_registry_1_1_registry_key.html" target="_self">RegistryKey</a></td><td class="desc"></td></tr>
 <tr id="row_0_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/dfe/class_m_utils_1_1_i_p_c_channel.html" target="_self">IPCChannel</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html" target="_self">JobObject</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html" target="_self">JobObject</a></td><td class="desc">This class represents a job object </td></tr>
 <tr id="row_0_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d52/class_m_utils_1_1_taskbar7.html" target="_self">Taskbar7</a></td><td class="desc"></td></tr>
 <tr id="row_0_7_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d8a/class_m_utils_1_1_update_checker.html" target="_self">UpdateChecker</a></td><td class="desc"></td></tr>
 <tr id="row_0_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d0d/class_m_utils_1_1_update_checker_info.html" target="_self">UpdateCheckerInfo</a></td><td class="desc"></td></tr>
index ee3bfe0..69e3c6c 100644 (file)
@@ -70,11 +70,11 @@ $(function() {
 
 <p>This is the complete list of members for <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a>, including all inherited members.</p>
 <table class="directory">
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>addProcessToJob</b>(const QProcess *const process) (defined in <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a>)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>isObjectCreated</b>(void) (defined in <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a>)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>JobObject</b>(void) (defined in <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a>)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>terminateJob</b>(const quint32 &amp;exitCode) (defined in <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a>)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~JobObject</b>(void) (defined in <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a>)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a1ea821a376842494b0d0ef0b17bfaecc">addProcessToJob</a>(const QProcess *const process)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a1d86b1a284da53bbcf92713d494c2304">isObjectCreated</a>(void)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a4ec8b0013bca35149def434b738d80fb">JobObject</a>(void)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#abe785eacf0468533ca90c6f77d734cda">terminateJob</a>(const quint32 &amp;exitCode)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a0e2d6461729d16b615548e7b1594c893">~JobObject</a>(void)</td><td class="entry"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
index d57bfc3..39b5f1b 100644 (file)
@@ -67,7 +67,7 @@ $(function() {
 <div class="title">Startup.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// MuldeR&#39;s Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Copyright (C) 2004-2017 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">//MUtils</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../d5/d3b/_global_8h.html">MUtils/Global.h</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">//Forward Declarations</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">class </span>QApplication;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keyword">namespace </span>Startup</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="comment">//Main Function</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">typedef</span> int (main_function_t)(<span class="keywordtype">int</span> &amp;argc, <span class="keywordtype">char</span> **argv);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="comment">//Startup Application</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        MUTILS_API <span class="keywordtype">int</span> startup(<span class="keywordtype">int</span> &amp;argc, <span class="keywordtype">char</span> **argv, main_function_t *<span class="keyword">const</span> entry_point, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> appName, <span class="keyword">const</span> <span class="keywordtype">bool</span> &amp;debugConsole);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="comment">//Initialize Qt</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        MUTILS_API QApplication *create_qt(<span class="keywordtype">int</span> &amp;argc, <span class="keywordtype">char</span> **argv, <span class="keyword">const</span> QString &amp;appName);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    }</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;}</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="ttc" id="_global_8h_html"><div class="ttname"><a href="../../d5/d3b/_global_8h.html">Global.h</a></div><div class="ttdoc">This file contains miscellaneous functions that are generally useful for Qt-based applications...</div></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// MuldeR&#39;s Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Copyright (C) 2004-2017 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">//MUtils</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../d5/d3b/_global_8h.html">MUtils/Global.h</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">//Forward Declarations</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">class </span>QApplication;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keyword">namespace </span>Startup</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="comment">//Main Function</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keyword">typedef</span> int (main_function_t)(<span class="keywordtype">int</span> &amp;argc, <span class="keywordtype">char</span> **argv);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        <span class="comment">//Startup Application</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        MUTILS_API <span class="keywordtype">int</span> startup(<span class="keywordtype">int</span> &amp;argc, <span class="keywordtype">char</span> **argv, main_function_t *<span class="keyword">const</span> entry_point, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> appName, <span class="keyword">const</span> <span class="keywordtype">bool</span> &amp;debugConsole);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="comment">//Initialize Qt</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        MUTILS_API QApplication *create_qt(<span class="keywordtype">int</span> &amp;argc, <span class="keywordtype">char</span> **argv, <span class="keyword">const</span> QString &amp;appName, <span class="keyword">const</span> QString &amp;appAuthor = QLatin1String(<span class="stringliteral">&quot;LoRd_MuldeR&quot;</span>), <span class="keyword">const</span> QString &amp;appDomain = QLatin1String(<span class="stringliteral">&quot;muldersoft.com&quot;</span>));</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    }</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;}</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="ttc" id="_global_8h_html"><div class="ttname"><a href="../../d5/d3b/_global_8h.html">Global.h</a></div><div class="ttdoc">This file contains miscellaneous functions that are generally useful for Qt-based applications...</div></div>
 <div class="ttc" id="namespace_m_utils_html"><div class="ttname"><a href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="ttdoc">Global MUtils namespace. </div><div class="ttdef"><b>Definition:</b> CPUFeatures.h:37</div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
index ee3f6f1..ff31992 100644 (file)
@@ -83,6 +83,7 @@ Classes</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/dfe/class_m_utils_1_1_i_p_c_channel.html">IPCChannel</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class represents a job object.  <a href="../../dc/dd3/class_m_utils_1_1_job_object.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d52/class_m_utils_1_1_taskbar7.html">Taskbar7</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
diff --git a/docs/d4/d85/_job_object_8h.html b/docs/d4/d85/_job_object_8h.html
new file mode 100644 (file)
index 0000000..546f45c
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.12"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>MuldeR&#39;s Utilities for Qt: include/MUtils/JobObject.h File Reference</title>
+<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../jquery.js"></script>
+<script type="text/javascript" src="../../dynsections.js"></script>
+<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="../../search/searchdata.js"></script>
+<script type="text/javascript" src="../../search/search.js"></script>
+<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">MuldeR&#39;s Utilities for Qt
+   </div>
+   <div id="projectbrief">MUtilities</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.12 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
+</script>
+<script type="text/javascript" src="../../menudata.js"></script>
+<script type="text/javascript" src="../../menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('../../',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="../../dir_b076b53667bc06ebb413a190e197fc7b.html">MUtils</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">JobObject.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This file contains function for creating and managing job objects.  
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &lt;<a class="el" href="../../d5/d3b/_global_8h_source.html">MUtils/Global.h</a>&gt;</code><br />
+</div>
+<p><a href="../../d4/d85/_job_object_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class represents a job object.  <a href="../../dc/dd3/class_m_utils_1_1_job_object.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:d3/da6/namespace_m_utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html">MUtils</a></td></tr>
+<tr class="memdesc:d3/da6/namespace_m_utils"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global <a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> namespace. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This file contains function for creating and managing job objects. </p>
+<p>Each instance of <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">MUtils::JobObject</a> represents a job object. Call <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a1ea821a376842494b0d0ef0b17bfaecc" title="Add a process to the job object. ">MUtils::JobObject::addProcessToJob()</a> to add another sub-process to the job object. Call <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#abe785eacf0468533ca90c6f77d734cda" title="Terminate all sub-processes of the job object. ">MUtils::JobObject::terminateJob()</a> to terminate <em>all</em> sub-processes that currently belong to the job object at once.</p>
+<p>Note that all sub-processes that belong to the job object will be terminated when <em>this</em> process exits, gracefully or due to a crash. All sub-process belonging to a job object also are terminated when the corresponding <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">MUtils::JobObject</a> instance is destroyed. </p>
+</div></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="../../doxygen.png" alt="doxygen"/>
+</a> 1.8.12
+</small></address>
+</body>
+</html>
index 5404730..680e9bf 100644 (file)
@@ -67,8 +67,8 @@ $(function() {
 <div class="title">JobObject.h</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// MuldeR&#39;s Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Copyright (C) 2004-2017 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../d5/d3b/_global_8h.html">MUtils/Global.h</a>&gt;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">class </span>QProcess;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">namespace </span><a class="code" href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;{</div><div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="../../dc/dd3/class_m_utils_1_1_job_object.html">   30</a></span>&#160;    <span class="keyword">class </span>MUTILS_API <a class="code" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <a class="code" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        ~<a class="code" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <span class="keywordtype">bool</span> isObjectCreated(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="keywordtype">bool</span> addProcessToJob(<span class="keyword">const</span> QProcess *<span class="keyword">const</span> process);</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keywordtype">bool</span> terminateJob(<span class="keyword">const</span> quint32 &amp;exitCode);</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        uintptr_t m_jobPtr;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <a class="code" href="../../d5/d3b/_global_8h.html#a8e7b4857b78f9749233e5abc96534ca8">MUTILS_NO_COPY</a>(<a class="code" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a>)</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    };</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;}</div><div class="ttc" id="_global_8h_html"><div class="ttname"><a href="../../d5/d3b/_global_8h.html">Global.h</a></div><div class="ttdoc">This file contains miscellaneous functions that are generally useful for Qt-based applications...</div></div>
-<div class="ttc" id="class_m_utils_1_1_job_object_html"><div class="ttname"><a href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></div><div class="ttdef"><b>Definition:</b> JobObject.h:30</div></div>
+<a href="../../d4/d85/_job_object_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// MuldeR&#39;s Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Copyright (C) 2004-2017 LoRd_MuldeR &lt;MuldeR2@GMX.de&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="../../d5/d3b/_global_8h.html">MUtils/Global.h</a>&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">class </span>QProcess;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">namespace </span><a class="code" href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="../../dc/dd3/class_m_utils_1_1_job_object.html">   46</a></span>&#160;    <span class="keyword">class </span>MUTILS_API <a class="code" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <a class="code" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        </div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        ~<a class="code" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keywordtype">bool</span> isObjectCreated(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        </div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keywordtype">bool</span> addProcessToJob(<span class="keyword">const</span> QProcess *<span class="keyword">const</span> process);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        </div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        <span class="keywordtype">bool</span> terminateJob(<span class="keyword">const</span> quint32 &amp;exitCode);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        uintptr_t m_jobPtr;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <a class="code" href="../../d5/d3b/_global_8h.html#a8e7b4857b78f9749233e5abc96534ca8">MUTILS_NO_COPY</a>(<a class="code" href="../../dc/dd3/class_m_utils_1_1_job_object.html">JobObject</a>)</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    };</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;}</div><div class="ttc" id="_global_8h_html"><div class="ttname"><a href="../../d5/d3b/_global_8h.html">Global.h</a></div><div class="ttdoc">This file contains miscellaneous functions that are generally useful for Qt-based applications...</div></div>
+<div class="ttc" id="class_m_utils_1_1_job_object_html"><div class="ttname"><a href="../../dc/dd3/class_m_utils_1_1_job_object.html">MUtils::JobObject</a></div><div class="ttdoc">This class represents a job object. </div><div class="ttdef"><b>Definition:</b> JobObject.h:46</div></div>
 <div class="ttc" id="namespace_m_utils_html"><div class="ttname"><a href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="ttdoc">Global MUtils namespace. </div><div class="ttdef"><b>Definition:</b> CPUFeatures.h:37</div></div>
 <div class="ttc" id="_global_8h_html_a8e7b4857b78f9749233e5abc96534ca8"><div class="ttname"><a href="../../d5/d3b/_global_8h.html#a8e7b4857b78f9749233e5abc96534ca8">MUTILS_NO_COPY</a></div><div class="ttdeci">#define MUTILS_NO_COPY(CLASS)</div><div class="ttdoc">Disables copy constructor and assignment operator in the specified class. This macro should be used i...</div><div class="ttdef"><b>Definition:</b> Global.h:362</div></div>
 </div><!-- fragment --></div><!-- contents -->
index 73a8095..d7327db 100644 (file)
@@ -70,19 +70,156 @@ $(function() {
 <div class="title">MUtils::JobObject Class Reference</div>  </div>
 </div><!--header-->
 <div class="contents">
+
+<p>This class represents a job object.  
+ <a href="../../dc/dd3/class_m_utils_1_1_job_object.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="../../d4/d85/_job_object_8h_source.html">JobObject.h</a>&gt;</code></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
-<tr class="memitem:a1d86b1a284da53bbcf92713d494c2304"><td class="memItemLeft" align="right" valign="top"><a id="a1d86b1a284da53bbcf92713d494c2304"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>isObjectCreated</b> (void)</td></tr>
+<tr class="memitem:a4ec8b0013bca35149def434b738d80fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a4ec8b0013bca35149def434b738d80fb">JobObject</a> (void)</td></tr>
+<tr class="memdesc:a4ec8b0013bca35149def434b738d80fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance.  <a href="#a4ec8b0013bca35149def434b738d80fb">More...</a><br /></td></tr>
+<tr class="separator:a4ec8b0013bca35149def434b738d80fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e2d6461729d16b615548e7b1594c893"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a0e2d6461729d16b615548e7b1594c893">~JobObject</a> (void)</td></tr>
+<tr class="memdesc:a0e2d6461729d16b615548e7b1594c893"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance.  <a href="#a0e2d6461729d16b615548e7b1594c893">More...</a><br /></td></tr>
+<tr class="separator:a0e2d6461729d16b615548e7b1594c893"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d86b1a284da53bbcf92713d494c2304"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a1d86b1a284da53bbcf92713d494c2304">isObjectCreated</a> (void)</td></tr>
+<tr class="memdesc:a1d86b1a284da53bbcf92713d494c2304"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether job object was created successfully.  <a href="#a1d86b1a284da53bbcf92713d494c2304">More...</a><br /></td></tr>
 <tr class="separator:a1d86b1a284da53bbcf92713d494c2304"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1ea821a376842494b0d0ef0b17bfaecc"><td class="memItemLeft" align="right" valign="top"><a id="a1ea821a376842494b0d0ef0b17bfaecc"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>addProcessToJob</b> (const QProcess *const process)</td></tr>
+<tr class="memitem:a1ea821a376842494b0d0ef0b17bfaecc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a1ea821a376842494b0d0ef0b17bfaecc">addProcessToJob</a> (const QProcess *const process)</td></tr>
+<tr class="memdesc:a1ea821a376842494b0d0ef0b17bfaecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a process to the job object.  <a href="#a1ea821a376842494b0d0ef0b17bfaecc">More...</a><br /></td></tr>
 <tr class="separator:a1ea821a376842494b0d0ef0b17bfaecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abe785eacf0468533ca90c6f77d734cda"><td class="memItemLeft" align="right" valign="top"><a id="abe785eacf0468533ca90c6f77d734cda"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>terminateJob</b> (const quint32 &amp;exitCode)</td></tr>
+<tr class="memitem:abe785eacf0468533ca90c6f77d734cda"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#abe785eacf0468533ca90c6f77d734cda">terminateJob</a> (const quint32 &amp;exitCode)</td></tr>
+<tr class="memdesc:abe785eacf0468533ca90c6f77d734cda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate all sub-processes of the job object.  <a href="#abe785eacf0468533ca90c6f77d734cda">More...</a><br /></td></tr>
 <tr class="separator:abe785eacf0468533ca90c6f77d734cda"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This class represents a job object. </p>
+<p>Call <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a1ea821a376842494b0d0ef0b17bfaecc" title="Add a process to the job object. ">addProcessToJob()</a> to add another sub-process to this job object. Call <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#abe785eacf0468533ca90c6f77d734cda" title="Terminate all sub-processes of the job object. ">terminateJob()</a> to terminate all sub-processes that belong to this job object. Note that all sub-processes that belong to this job object will also be terminated when <em>this</em> process exits, gracefully or due to a crash.</p>
+<p>Also, when the <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance is destroyed, all sub-process that belong to its corresponding job object and that are still running will be terminated! </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="a4ec8b0013bca35149def434b738d80fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4ec8b0013bca35149def434b738d80fb">&sect;&nbsp;</a></span>JobObject()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">MUtils::JobObject::JobObject </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Create a new <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance. </p>
+<p>Creating a new <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance automatically creates a new job object on the system-level. Check <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html#a1d86b1a284da53bbcf92713d494c2304" title="Test whether job object was created successfully. ">isObjectCreated()</a> to test whether the job object was successfully created or not. </p>
+
+</div>
+</div>
+<a id="a0e2d6461729d16b615548e7b1594c893"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0e2d6461729d16b615548e7b1594c893">&sect;&nbsp;</a></span>~JobObject()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">MUtils::JobObject::~JobObject </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Destroys the <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance. </p>
+<p>If the job object still has any running sub-processes left when the corresponding <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance is destroyed, these sub-process are terminated! </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a1ea821a376842494b0d0ef0b17bfaecc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1ea821a376842494b0d0ef0b17bfaecc">&sect;&nbsp;</a></span>addProcessToJob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool MUtils::JobObject::addProcessToJob </td>
+          <td>(</td>
+          <td class="paramtype">const QProcess *const&#160;</td>
+          <td class="paramname"><em>process</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a process to the job object. </p>
+<p>This function adds a another sub-process to the job object that is represented by this <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance. Job object limitations apply to the sub-process a</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">process</td><td>A read-only pointer to the <a href="http://doc.qt.io/qt-4.8/qprocess.html">QProcess</a> object that represents the sub-process to be added to the job object. The sub-process must be in the "running" state; otherwise the function will fail.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if and only if the process was successfully added to the job object; otherwise it returns <code>false</code>. </dd></dl>
+
+</div>
+</div>
+<a id="a1d86b1a284da53bbcf92713d494c2304"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d86b1a284da53bbcf92713d494c2304">&sect;&nbsp;</a></span>isObjectCreated()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool MUtils::JobObject::isObjectCreated </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Test whether job object was created successfully. </p>
+<p>The job object will be created automatically when a new <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance is created. However, the constructor has <b>no</b> to tell whether the job object was created successfully on the system-level. Call this function to test whether the job object has been created.</p>
+<dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if and only if a job object was successfully created; otherwise it returns <code>false</code>. </dd></dl>
+
+</div>
+</div>
+<a id="abe785eacf0468533ca90c6f77d734cda"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe785eacf0468533ca90c6f77d734cda">&sect;&nbsp;</a></span>terminateJob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool MUtils::JobObject::terminateJob </td>
+          <td>(</td>
+          <td class="paramtype">const quint32 &amp;&#160;</td>
+          <td class="paramname"><em>exitCode</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Terminate all sub-processes of the job object. </p>
+<p>This function immediately terminates <em>all</em> running sub-processes that belong to the job object represented by this <a class="el" href="../../dc/dd3/class_m_utils_1_1_job_object.html" title="This class represents a job object. ">JobObject</a> instance at once.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">exitCode</td><td>The exit code to be set for the sub-process when they are terminated.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The function returns <code>true</code>, if the sub-processes were destroyed successfully, even if there were no running sub-process left; otherwise it returns <code>false</code>. </dd></dl>
+
+</div>
+</div>
 <hr/>The documentation for this class was generated from the following file:<ul>
 <li>include/MUtils/<a class="el" href="../../d4/d85/_job_object_8h_source.html">JobObject.h</a></li>
 </ul>
index 93eb456..003379c 100644 (file)
@@ -79,6 +79,9 @@ Files</h2></td></tr>
 <tr class="memitem:d2/dad/_hash_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d2/dad/_hash_8h.html">Hash.h</a> <a href="d2/dad/_hash_8h_source.html">[code]</a></td></tr>
 <tr class="memdesc:d2/dad/_hash_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">This file contains function for cryptographic hash computation. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:d4/d85/_job_object_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d4/d85/_job_object_8h.html">JobObject.h</a> <a href="d4/d85/_job_object_8h_source.html">[code]</a></td></tr>
+<tr class="memdesc:d4/d85/_job_object_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">This file contains function for creating and managing job objects. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
index 97c20a6..3be8164 100644 (file)
@@ -74,7 +74,7 @@ $(function() {
 <tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="da/d5d/_g_u_i_8h_source.html"><span class="icondoc"></span></a><b>GUI.h</b></td><td class="desc"></td></tr>
 <tr id="row_0_0_5_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d2/dad/_hash_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d2/dad/_hash_8h.html" target="_self">Hash.h</a></td><td class="desc">This file contains function for cryptographic hash computation </td></tr>
 <tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d1/d93/_i_p_c_channel_8h_source.html"><span class="icondoc"></span></a><b>IPCChannel.h</b></td><td class="desc"></td></tr>
-<tr id="row_0_0_7_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d4/d85/_job_object_8h_source.html"><span class="icondoc"></span></a><b>JobObject.h</b></td><td class="desc"></td></tr>
+<tr id="row_0_0_7_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d4/d85/_job_object_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d4/d85/_job_object_8h.html" target="_self">JobObject.h</a></td><td class="desc">This file contains function for creating and managing job objects </td></tr>
 <tr id="row_0_0_8_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d3/dc1/_o_s_support_8h_source.html"><span class="icondoc"></span></a><b>OSSupport.h</b></td><td class="desc"></td></tr>
 <tr id="row_0_0_9_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d3/d5c/_registry_8h_source.html"><span class="icondoc"></span></a><b>Registry.h</b></td><td class="desc"></td></tr>
 <tr id="row_0_0_10_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d5/db0/_sound_8h_source.html"><span class="icondoc"></span></a><b>Sound.h</b></td><td class="desc"></td></tr>
index 01730b7..d0e845a 100644 (file)
@@ -60,6 +60,9 @@ $(function() {
 
 <div class="contents">
 <div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
+<li>addProcessToJob()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#a1ea821a376842494b0d0ef0b17bfaecc">MUtils::JobObject</a>
+</li>
 <li>brand
 : <a class="el" href="dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a2986daa8c1b524a7f952eacb8d516696">MUtils::CPUFetaures::_cpu_info_t</a>
 </li>
@@ -78,12 +81,21 @@ $(function() {
 <li>idstr
 : <a class="el" href="dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a58ab7955a771f842c3f16abd8cebb931">MUtils::CPUFetaures::_cpu_info_t</a>
 </li>
+<li>isObjectCreated()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#a1d86b1a284da53bbcf92713d494c2304">MUtils::JobObject</a>
+</li>
+<li>JobObject()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#a4ec8b0013bca35149def434b738d80fb">MUtils::JobObject</a>
+</li>
 <li>model
 : <a class="el" href="dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7d0a012412dc4b04f2b5b37e83f5874a">MUtils::CPUFetaures::_cpu_info_t</a>
 </li>
 <li>stepping
 : <a class="el" href="dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a1cfc86c6c61d35c7bd6f2a9cbecb99e4">MUtils::CPUFetaures::_cpu_info_t</a>
 </li>
+<li>terminateJob()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#abe785eacf0468533ca90c6f77d734cda">MUtils::JobObject</a>
+</li>
 <li>update()
 : <a class="el" href="da/db0/class_m_utils_1_1_hash_1_1_hash.html#a5c36bd2ea671928f9f5bd897dcfbef15">MUtils::Hash::Hash</a>
 </li>
@@ -93,6 +105,9 @@ $(function() {
 <li>x64
 : <a class="el" href="dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#aebb4aa6da8a1c381715a792f8904222f">MUtils::CPUFetaures::_cpu_info_t</a>
 </li>
+<li>~JobObject()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#a0e2d6461729d16b615548e7b1594c893">MUtils::JobObject</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
index eabd5f0..2704eed 100644 (file)
@@ -60,12 +60,27 @@ $(function() {
 
 <div class="contents">
 &#160;<ul>
+<li>addProcessToJob()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#a1ea821a376842494b0d0ef0b17bfaecc">MUtils::JobObject</a>
+</li>
 <li>digest()
 : <a class="el" href="da/db0/class_m_utils_1_1_hash_1_1_hash.html#a1d70f2b647935868a178920196ec0ac1">MUtils::Hash::Hash</a>
 </li>
+<li>isObjectCreated()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#a1d86b1a284da53bbcf92713d494c2304">MUtils::JobObject</a>
+</li>
+<li>JobObject()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#a4ec8b0013bca35149def434b738d80fb">MUtils::JobObject</a>
+</li>
+<li>terminateJob()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#abe785eacf0468533ca90c6f77d734cda">MUtils::JobObject</a>
+</li>
 <li>update()
 : <a class="el" href="da/db0/class_m_utils_1_1_hash_1_1_hash.html#a5c36bd2ea671928f9f5bd897dcfbef15">MUtils::Hash::Hash</a>
 </li>
+<li>~JobObject()
+: <a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html#a0e2d6461729d16b615548e7b1594c893">MUtils::JobObject</a>
+</li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
index 6d3bd03..b92fa37 100644 (file)
@@ -69,7 +69,7 @@ $(function() {
 <tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/d55/struct_m_utils_1_1_o_s_1_1_version_1_1__os__version__t.html" target="_self">MUtils::OS::Version::_os_version_t</a></td><td class="desc"></td></tr>
 <tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/db0/class_m_utils_1_1_hash_1_1_hash.html" target="_self">MUtils::Hash::Hash</a></td><td class="desc">This abstract class specifies the generic interface for all support hash algorithms </td></tr>
 <tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/dfe/class_m_utils_1_1_i_p_c_channel.html" target="_self">MUtils::IPCChannel</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html" target="_self">MUtils::JobObject</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/dd3/class_m_utils_1_1_job_object.html" target="_self">MUtils::JobObject</a></td><td class="desc">This class represents a job object </td></tr>
 <tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QThread</b></td><td class="desc"></td></tr>
 <tr id="row_5_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/d8a/class_m_utils_1_1_update_checker.html" target="_self">MUtils::UpdateChecker</a></td><td class="desc"></td></tr>
 <tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d35/class_m_utils_1_1_registry_1_1_registry_key.html" target="_self">MUtils::Registry::RegistryKey</a></td><td class="desc"></td></tr>
index 56001ac..bef1b84 100644 (file)
@@ -70,6 +70,7 @@ $(function() {
 <li><b><a class="el" href="d5/d3b/_global_8h.html" title="This file contains miscellaneous functions that are generally useful for Qt-based applications...">Global.h</a></b> &ndash; miscellaneous useful functions</li>
 <li><b><a class="el" href="d2/db5/_c_p_u_features_8h.html" title="This file contains function for detecting information about the CPU. ">CPUFeatures.h</a></b> &ndash; functions for detection information about the CPU</li>
 <li><b><a class="el" href="d2/dad/_hash_8h.html" title="This file contains function for cryptographic hash computation. ">Hash.h</a></b> &ndash; functions for cryptographic hash computation</li>
+<li><b><a class="el" href="d4/d85/_job_object_8h.html" title="This file contains function for creating and managing job objects. ">JobObject.h</a></b> &ndash; functions for creating and managing job objects</li>
 </ul>
 <h1>Example</h1>
 <p>Here is a minimal example on how to use the <em>MUtilities</em> library in your project: </p><pre class="fragment">//MUtils
index b41c51c..1b1214a 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
+  ['addprocesstojob',['addProcessToJob',['../dc/dd3/class_m_utils_1_1_job_object.html#a1ea821a376842494b0d0ef0b17bfaecc',1,'MUtils::JobObject']]],
   ['available_5fcodepages',['available_codepages',['../d3/da6/namespace_m_utils.html#a2275e64c3c74dea855c39b66be67f705',1,'MUtils']]]
 ];
diff --git a/docs/search/all_13.html b/docs/search/all_13.html
new file mode 100644 (file)
index 0000000..516a9b6
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.12"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="all_13.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/search/all_13.js b/docs/search/all_13.js
new file mode 100644 (file)
index 0000000..f761a33
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['_7ejobobject',['~JobObject',['../dc/dd3/class_m_utils_1_1_job_object.html#a0e2d6461729d16b615548e7b1594c893',1,'MUtils::JobObject']]]
+];
index 327b7eb..8f71d38 100644 (file)
@@ -2,5 +2,6 @@ var searchData=
 [
   ['idstr',['idstr',['../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a58ab7955a771f842c3f16abd8cebb931',1,'MUtils::CPUFetaures::_cpu_info_t']]],
   ['init_5fprocess',['init_process',['../d3/da6/namespace_m_utils.html#a0ecb5d72f33a7b6feadd7deb8ed46cc3',1,'MUtils']]],
-  ['ipcchannel',['IPCChannel',['../d5/dfe/class_m_utils_1_1_i_p_c_channel.html',1,'MUtils']]]
+  ['ipcchannel',['IPCChannel',['../d5/dfe/class_m_utils_1_1_i_p_c_channel.html',1,'MUtils']]],
+  ['isobjectcreated',['isObjectCreated',['../dc/dd3/class_m_utils_1_1_job_object.html#a1d86b1a284da53bbcf92713d494c2304',1,'MUtils::JobObject']]]
 ];
index e409b67..226103d 100644 (file)
@@ -1,4 +1,6 @@
 var searchData=
 [
-  ['jobobject',['JobObject',['../dc/dd3/class_m_utils_1_1_job_object.html',1,'MUtils']]]
+  ['jobobject',['JobObject',['../dc/dd3/class_m_utils_1_1_job_object.html',1,'MUtils']]],
+  ['jobobject',['JobObject',['../dc/dd3/class_m_utils_1_1_job_object.html#a4ec8b0013bca35149def434b738d80fb',1,'MUtils::JobObject']]],
+  ['jobobject_2eh',['JobObject.h',['../d4/d85/_job_object_8h.html',1,'']]]
 ];
index b0a2bec..994a96b 100644 (file)
@@ -2,6 +2,7 @@ var searchData=
 [
   ['taskbar7',['Taskbar7',['../d2/d52/class_m_utils_1_1_taskbar7.html',1,'MUtils']]],
   ['temp_5ffolder',['temp_folder',['../d3/da6/namespace_m_utils.html#a3f198156e8be91f3e74dd9ed69ffaa34',1,'MUtils']]],
+  ['terminatejob',['terminateJob',['../dc/dd3/class_m_utils_1_1_job_object.html#abe785eacf0468533ca90c6f77d734cda',1,'MUtils::JobObject']]],
   ['trim_5fleft',['trim_left',['../d3/da6/namespace_m_utils.html#a20b8fc56856ee904caaded756399e705',1,'MUtils::trim_left(QString &amp;str)'],['../d3/da6/namespace_m_utils.html#ae43bc17b6fa4ee2287099c4ae095483b',1,'MUtils::trim_left(const QString &amp;str)']]],
   ['trim_5fright',['trim_right',['../d3/da6/namespace_m_utils.html#a6118cf23d2b771fae1ad159c7ea6686a',1,'MUtils::trim_right(QString &amp;str)'],['../d3/da6/namespace_m_utils.html#a3bcb0fce5181ded3c54456379147009d',1,'MUtils::trim_right(const QString &amp;str)']]]
 ];
diff --git a/docs/search/files_3.html b/docs/search/files_3.html
new file mode 100644 (file)
index 0000000..3442829
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.12"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="files_3.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/search/files_3.js b/docs/search/files_3.js
new file mode 100644 (file)
index 0000000..dec9b11
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['jobobject_2eh',['JobObject.h',['../d4/d85/_job_object_8h.html',1,'']]]
+];
index b41c51c..1b1214a 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
+  ['addprocesstojob',['addProcessToJob',['../dc/dd3/class_m_utils_1_1_job_object.html#a1ea821a376842494b0d0ef0b17bfaecc',1,'MUtils::JobObject']]],
   ['available_5fcodepages',['available_codepages',['../d3/da6/namespace_m_utils.html#a2275e64c3c74dea855c39b66be67f705',1,'MUtils']]]
 ];
index 895c41d..edd0b20 100644 (file)
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['init_5fprocess',['init_process',['../d3/da6/namespace_m_utils.html#a0ecb5d72f33a7b6feadd7deb8ed46cc3',1,'MUtils']]]
+  ['init_5fprocess',['init_process',['../d3/da6/namespace_m_utils.html#a0ecb5d72f33a7b6feadd7deb8ed46cc3',1,'MUtils']]],
+  ['isobjectcreated',['isObjectCreated',['../dc/dd3/class_m_utils_1_1_job_object.html#a1d86b1a284da53bbcf92713d494c2304',1,'MUtils::JobObject']]]
 ];
index 041659c..156915e 100644 (file)
@@ -1,5 +1,4 @@
 var searchData=
 [
-  ['make_5ftemp_5ffile',['make_temp_file',['../d3/da6/namespace_m_utils.html#a29461116550863e8730f3f4ec479bbcb',1,'MUtils']]],
-  ['make_5funique_5ffile',['make_unique_file',['../d3/da6/namespace_m_utils.html#af9afe3821ae9bef7bdf56a4183fdea0d',1,'MUtils']]]
+  ['jobobject',['JobObject',['../dc/dd3/class_m_utils_1_1_job_object.html#a4ec8b0013bca35149def434b738d80fb',1,'MUtils::JobObject']]]
 ];
index ecffc94..041659c 100644 (file)
@@ -1,7 +1,5 @@
 var searchData=
 [
-  ['natural_5fstring_5fsort',['natural_string_sort',['../d3/da6/namespace_m_utils.html#a4d4c545ea06892f6487f15a48808564f',1,'MUtils']]],
-  ['next_5frand_5fstr',['next_rand_str',['../d3/da6/namespace_m_utils.html#ac583617546d5ae100ce7436546d9662c',1,'MUtils']]],
-  ['next_5frand_5fu32',['next_rand_u32',['../d3/da6/namespace_m_utils.html#a1c9832c1d645a2c90e9bd52d57d843b3',1,'MUtils']]],
-  ['next_5frand_5fu64',['next_rand_u64',['../d3/da6/namespace_m_utils.html#ad7edd4aece64faf3aa16c9509243608c',1,'MUtils']]]
+  ['make_5ftemp_5ffile',['make_temp_file',['../d3/da6/namespace_m_utils.html#a29461116550863e8730f3f4ec479bbcb',1,'MUtils']]],
+  ['make_5funique_5ffile',['make_unique_file',['../d3/da6/namespace_m_utils.html#af9afe3821ae9bef7bdf56a4183fdea0d',1,'MUtils']]]
 ];
index f923f06..ecffc94 100644 (file)
@@ -1,4 +1,7 @@
 var searchData=
 [
-  ['parity',['parity',['../d3/da6/namespace_m_utils.html#aea4a212153b09b24b04f30ef5159f29b',1,'MUtils']]]
+  ['natural_5fstring_5fsort',['natural_string_sort',['../d3/da6/namespace_m_utils.html#a4d4c545ea06892f6487f15a48808564f',1,'MUtils']]],
+  ['next_5frand_5fstr',['next_rand_str',['../d3/da6/namespace_m_utils.html#ac583617546d5ae100ce7436546d9662c',1,'MUtils']]],
+  ['next_5frand_5fu32',['next_rand_u32',['../d3/da6/namespace_m_utils.html#a1c9832c1d645a2c90e9bd52d57d843b3',1,'MUtils']]],
+  ['next_5frand_5fu64',['next_rand_u64',['../d3/da6/namespace_m_utils.html#ad7edd4aece64faf3aa16c9509243608c',1,'MUtils']]]
 ];
index 86f9020..f923f06 100644 (file)
@@ -1,6 +1,4 @@
 var searchData=
 [
-  ['regexp_5fparse_5fuint32',['regexp_parse_uint32',['../d3/da6/namespace_m_utils.html#ad2a851b289ee66873d3a1ec86f5f34eb',1,'MUtils::regexp_parse_uint32(const QRegExp &amp;regexp, quint32 &amp;value)'],['../d3/da6/namespace_m_utils.html#a81704d66d34e37d3e0e159b5f436babf',1,'MUtils::regexp_parse_uint32(const QRegExp &amp;regexp, quint32 *values, const size_t &amp;count)']]],
-  ['remove_5fdirectory',['remove_directory',['../d3/da6/namespace_m_utils.html#a4d451ddc82668d1298f2922f62474b5d',1,'MUtils']]],
-  ['remove_5ffile',['remove_file',['../d3/da6/namespace_m_utils.html#a5a14e75627eebd09efc37898d74c5ac6',1,'MUtils']]]
+  ['parity',['parity',['../d3/da6/namespace_m_utils.html#aea4a212153b09b24b04f30ef5159f29b',1,'MUtils']]]
 ];
index 7d9d593..86f9020 100644 (file)
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['temp_5ffolder',['temp_folder',['../d3/da6/namespace_m_utils.html#a3f198156e8be91f3e74dd9ed69ffaa34',1,'MUtils']]],
-  ['trim_5fleft',['trim_left',['../d3/da6/namespace_m_utils.html#a20b8fc56856ee904caaded756399e705',1,'MUtils::trim_left(QString &amp;str)'],['../d3/da6/namespace_m_utils.html#ae43bc17b6fa4ee2287099c4ae095483b',1,'MUtils::trim_left(const QString &amp;str)']]],
-  ['trim_5fright',['trim_right',['../d3/da6/namespace_m_utils.html#a6118cf23d2b771fae1ad159c7ea6686a',1,'MUtils::trim_right(QString &amp;str)'],['../d3/da6/namespace_m_utils.html#a3bcb0fce5181ded3c54456379147009d',1,'MUtils::trim_right(const QString &amp;str)']]]
+  ['regexp_5fparse_5fuint32',['regexp_parse_uint32',['../d3/da6/namespace_m_utils.html#ad2a851b289ee66873d3a1ec86f5f34eb',1,'MUtils::regexp_parse_uint32(const QRegExp &amp;regexp, quint32 &amp;value)'],['../d3/da6/namespace_m_utils.html#a81704d66d34e37d3e0e159b5f436babf',1,'MUtils::regexp_parse_uint32(const QRegExp &amp;regexp, quint32 *values, const size_t &amp;count)']]],
+  ['remove_5fdirectory',['remove_directory',['../d3/da6/namespace_m_utils.html#a4d451ddc82668d1298f2922f62474b5d',1,'MUtils']]],
+  ['remove_5ffile',['remove_file',['../d3/da6/namespace_m_utils.html#a5a14e75627eebd09efc37898d74c5ac6',1,'MUtils']]]
 ];
index f75715a..511278c 100644 (file)
@@ -1,4 +1,7 @@
 var searchData=
 [
-  ['update',['update',['../da/db0/class_m_utils_1_1_hash_1_1_hash.html#a5c36bd2ea671928f9f5bd897dcfbef15',1,'MUtils::Hash::Hash::update(const quint8 *const data, const quint32 len)'],['../da/db0/class_m_utils_1_1_hash_1_1_hash.html#a16bef08766de745913b3fd7c338bf5aa',1,'MUtils::Hash::Hash::update(const QByteArray &amp;data)'],['../da/db0/class_m_utils_1_1_hash_1_1_hash.html#ace90c97585350dd246b6c655a3de571f',1,'MUtils::Hash::Hash::update(QFile &amp;file)']]]
+  ['temp_5ffolder',['temp_folder',['../d3/da6/namespace_m_utils.html#a3f198156e8be91f3e74dd9ed69ffaa34',1,'MUtils']]],
+  ['terminatejob',['terminateJob',['../dc/dd3/class_m_utils_1_1_job_object.html#abe785eacf0468533ca90c6f77d734cda',1,'MUtils::JobObject']]],
+  ['trim_5fleft',['trim_left',['../d3/da6/namespace_m_utils.html#a20b8fc56856ee904caaded756399e705',1,'MUtils::trim_left(QString &amp;str)'],['../d3/da6/namespace_m_utils.html#ae43bc17b6fa4ee2287099c4ae095483b',1,'MUtils::trim_left(const QString &amp;str)']]],
+  ['trim_5fright',['trim_right',['../d3/da6/namespace_m_utils.html#a6118cf23d2b771fae1ad159c7ea6686a',1,'MUtils::trim_right(QString &amp;str)'],['../d3/da6/namespace_m_utils.html#a3bcb0fce5181ded3c54456379147009d',1,'MUtils::trim_right(const QString &amp;str)']]]
 ];
diff --git a/docs/search/functions_a.html b/docs/search/functions_a.html
new file mode 100644 (file)
index 0000000..8ca8f11
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.12"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_a.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js
new file mode 100644 (file)
index 0000000..f75715a
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['update',['update',['../da/db0/class_m_utils_1_1_hash_1_1_hash.html#a5c36bd2ea671928f9f5bd897dcfbef15',1,'MUtils::Hash::Hash::update(const quint8 *const data, const quint32 len)'],['../da/db0/class_m_utils_1_1_hash_1_1_hash.html#a16bef08766de745913b3fd7c338bf5aa',1,'MUtils::Hash::Hash::update(const QByteArray &amp;data)'],['../da/db0/class_m_utils_1_1_hash_1_1_hash.html#ace90c97585350dd246b6c655a3de571f',1,'MUtils::Hash::Hash::update(QFile &amp;file)']]]
+];
diff --git a/docs/search/functions_b.html b/docs/search/functions_b.html
new file mode 100644 (file)
index 0000000..a6efa74
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.12"/>
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="functions_b.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js
new file mode 100644 (file)
index 0000000..f761a33
--- /dev/null
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['_7ejobobject',['~JobObject',['../dc/dd3/class_m_utils_1_1_job_object.html#a0e2d6461729d16b615548e7b1594c893',1,'MUtils::JobObject']]]
+];
index 8bc0d42..a871ea9 100644 (file)
@@ -1,10 +1,10 @@
 var indexSectionsWithContent =
 {
-  0: "_abcdfghijmnprstuvx",
+  0: "_abcdfghijmnprstuvx~",
   1: "_hijrtuv",
   2: "m",
-  3: "cgh",
-  4: "acdimnprtu",
+  3: "cghj",
+  4: "acdijmnprtu~",
   5: "bcfhimsvx",
   6: "c",
   7: "m"
index 4461eca..b4ad98b 100644 (file)
 // http://www.gnu.org/licenses/lgpl-2.1.txt
 //////////////////////////////////////////////////////////////////////////////////
 
+/**
+* @file
+* @brief This file contains function for creating and managing job objects
+*
+* Each instance of MUtils::JobObject represents a job object. Call MUtils::JobObject::addProcessToJob() to add another sub-process to the job object. Call MUtils::JobObject::terminateJob() to terminate *all* sub-processes that currently belong to the job object at once.
+* 
+* Note that all sub-processes that belong to the job object will be terminated when *this* process exits, gracefully or due to a crash. All sub-process belonging to a job object also are terminated when the corresponding MUtils::JobObject instance is destroyed.
+*/
+
 #pragma once
 
 #include <MUtils/Global.h>
@@ -27,14 +36,59 @@ class QProcess;
 
 namespace MUtils
 {
+       /**
+       * @brief This class represents a job object
+       *
+       * Call addProcessToJob() to add another sub-process to this job object. Call terminateJob() to terminate all sub-processes that belong to this job object. Note that all sub-processes that belong to this job object will also be terminated when *this* process exits, gracefully or due to a crash.
+       *
+       * Also, when the JobObject instance is destroyed, all sub-process that belong to its corresponding job object and that are still running will be terminated!
+       */
        class MUTILS_API JobObject
        {
        public:
+               /**
+               * \brief Create a new JobObject instance
+               *
+               * Creating a new JobObject instance automatically creates a new job object on the system-level. Check isObjectCreated() to test whether the job object was successfully created or not.
+               */
                JobObject(void);
+               
+               /**
+               * \brief Destroys the JobObject instance
+               *
+               * If the job object still has any running sub-processes left when the corresponding JobObject instance is destroyed, these sub-process are terminated!
+               */
                ~JobObject(void);
 
+               /**
+               * \brief Test whether job object was created successfully
+               *
+               * The job object will be created automatically when a new JobObject instance is created. However, the constructor has **no** to tell whether the job object was created successfully on the system-level. Call this function to test whether the job object has been created.
+               *
+               * \return The function returns `true`, if and only if a job object was successfully created; otherwise it returns `false`.
+               */
                bool isObjectCreated(void);
+               
+               /**
+               * \brief Add a process to the job object
+               *
+               * This function adds a another sub-process to the job object that is represented by this JobObject instance. Job object limitations apply to the sub-process a
+               *
+               * \param process A read-only pointer to the [QProcess](http://doc.qt.io/qt-4.8/qprocess.html) object that represents the sub-process to be added to the job object. The sub-process must be in the "running" state; otherwise the function will fail.
+               *
+               * \return The function returns `true`, if and only if the process was successfully added to the job object; otherwise it returns `false`.
+               */
                bool addProcessToJob(const QProcess *const process);
+               
+               /**
+               * \brief Terminate all sub-processes of the job object
+               *
+               * This function immediately terminates *all* running sub-processes that belong to the job object represented by this JobObject instance at once.
+               *
+               * \param exitCode The exit code to be set for the sub-process when they are terminated.
+               *
+               * \return The function returns `true`, if the sub-processes were destroyed successfully, even if there were no running sub-process left; otherwise it returns `false`.
+               */
                bool terminateJob(const quint32 &exitCode);
 
        private:
index e1a2da0..9d6cd27 100644 (file)
@@ -12,6 +12,7 @@
  * - **Global.h** &ndash; miscellaneous useful functions
  * - **CPUFeatures.h** &ndash; functions for detection information about the CPU
  * - **Hash.h** &ndash; functions for cryptographic hash computation
+ * - **JobObject.h** &ndash; functions for creating and managing job objects
  * 
  * 
  * # Example