Re-write documentation

This commit is contained in:
Alex Spataru 2016-07-08 21:59:08 -06:00
parent c847cbb930
commit 6ee17bff3f
52 changed files with 2132 additions and 1015 deletions

View File

@ -782,6 +782,7 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched. # Note: If this tag is empty the current directory is searched.
INPUT = ../../src \ INPUT = ../../src \
../../include \
startpage.md startpage.md
# This tag can be used to specify the character encoding of the source files # This tag can be used to specify the character encoding of the source files

View File

@ -90,8 +90,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="contents"> <div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory"> <div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory"> <table class="directory">
<tr id="row_0_" 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="de/dc0/class_downloader.html" target="_self">Downloader</a></td><td class="desc"></td></tr> <tr id="row_0_" 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="de/dc0/class_downloader.html" target="_self">Downloader</a></td><td class="desc">Implements an integrated file downloader with a nice UI </td></tr>
<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="d3/d1d/class_updater.html" target="_self">Updater</a></td><td class="desc"></td></tr> <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="d0/d80/class_q_simple_updater.html" target="_self">QSimpleUpdater</a></td><td class="desc">Manages the updater instances </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="d3/d1d/class_updater.html" target="_self">Updater</a></td><td class="desc">Downloads and interprests the update definition file </td></tr>
</table> </table>
</div><!-- directory --> </div><!-- directory -->
</div><!-- contents --> </div><!-- contents -->

View File

@ -88,16 +88,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">Class Index</div> </div> <div class="title">Class Index</div> </div>
</div><!--header--> </div><!--header-->
<div class="contents"> <div class="contents">
<div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div> <div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<table class="classindex"> <table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table> <tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;Q&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table> </td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
</td><td></td></tr> </td><td></td></tr>
<tr><td></td></tr> <tr><td></td></tr>
<tr><td valign="top"><a class="el" href="de/dc0/class_downloader.html">Downloader</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d1d/class_updater.html">Updater</a>&#160;&#160;&#160;</td><td></td></tr> <tr><td valign="top"><a class="el" href="de/dc0/class_downloader.html">Downloader</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d0/d80/class_q_simple_updater.html">QSimpleUpdater</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="d3/d1d/class_updater.html">Updater</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td></tr> <tr><td></td><td></td><td></td><td></td></tr>
</table> </table>
<div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div> <div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_Q">Q</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,751 @@
<!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.11"/>
<title>QSimpleUpdater: QSimpleUpdater Class 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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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="projectlogo"><img alt="Logo" src="../../icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</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><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-slots">Public Slots</a> &#124;
<a href="#signals">Signals</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="../../d4/d1d/class_q_simple_updater-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">QSimpleUpdater Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Manages the updater instances.
<a href="../../d0/d80/class_q_simple_updater.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d0/d2f/_q_simple_updater_8h_source.html">QSimpleUpdater.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for QSimpleUpdater:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d0/d80/class_q_simple_updater.png" usemap="#QSimpleUpdater_map" alt=""/>
<map id="QSimpleUpdater_map" name="QSimpleUpdater_map">
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-slots"></a>
Public Slots</h2></td></tr>
<tr class="memitem:a791c89568adb171a62ccd0704570b68d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates</a> (const QString &amp;url)</td></tr>
<tr class="separator:a791c89568adb171a62ccd0704570b68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b5e2bb2b88ab10a3c6c3a83661a2ebe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">setModuleName</a> (const QString &amp;url, const QString &amp;name)</td></tr>
<tr class="separator:a4b5e2bb2b88ab10a3c6c3a83661a2ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4789b616743189642a023fa7704e9c00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">setNotifyOnUpdate</a> (const QString &amp;url, const bool &amp;notify)</td></tr>
<tr class="separator:a4789b616743189642a023fa7704e9c00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9e53f893874d54bff8c787c2f560bd2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">setNotifyOnFinish</a> (const QString &amp;url, const bool &amp;notify)</td></tr>
<tr class="separator:ad9e53f893874d54bff8c787c2f560bd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6b2713b7468a69ce3ff46074e642df8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">setPlatformKey</a> (const QString &amp;url, const QString &amp;platform)</td></tr>
<tr class="separator:af6b2713b7468a69ce3ff46074e642df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a2a03f01c7ba081637268910fc50919"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">setModuleVersion</a> (const QString &amp;url, const QString &amp;version)</td></tr>
<tr class="separator:a1a2a03f01c7ba081637268910fc50919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ff15deef5af536150911353df0c44b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">setDownloaderEnabled</a> (const QString &amp;url, const bool &amp;enabled)</td></tr>
<tr class="separator:a0ff15deef5af536150911353df0c44b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c30dd784023264dd6ec885ec755f515"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures</a> (const QString &amp;url, const bool &amp;custom)</td></tr>
<tr class="separator:a6c30dd784023264dd6ec885ec755f515"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
Signals</h2></td></tr>
<tr class="memitem:a4d848457bbda4cf981b0539d6b8d6c1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d848457bbda4cf981b0539d6b8d6c1a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>checkingFinished</b> (const QString &amp;url)</td></tr>
<tr class="separator:a4d848457bbda4cf981b0539d6b8d6c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab76ecf1731d58d5f809379efd238f236"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab76ecf1731d58d5f809379efd238f236"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>downloadFinished</b> (const QString &amp;url, const QString &amp;filepath)</td></tr>
<tr class="separator:ab76ecf1731d58d5f809379efd238f236"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:acdc00558a979df664910b07cb82f9b36"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">getNotifyOnUpdate</a> (const QString &amp;url) const </td></tr>
<tr class="separator:acdc00558a979df664910b07cb82f9b36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc540358f0d887e4945ac061667a596d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">getNotifyOnFinish</a> (const QString &amp;url) const </td></tr>
<tr class="separator:acc540358f0d887e4945ac061667a596d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6557bff5a8a255291f12d2613879981b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">getUpdateAvailable</a> (const QString &amp;url) const </td></tr>
<tr class="separator:a6557bff5a8a255291f12d2613879981b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f421d41b30134583ee1f5e8cfbc59d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">getDownloaderEnabled</a> (const QString &amp;url) const </td></tr>
<tr class="separator:a10f421d41b30134583ee1f5e8cfbc59d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8f4cca002e820499d1fbca127095c87"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">usesCustomInstallProcedures</a> (const QString &amp;url) const </td></tr>
<tr class="separator:af8f4cca002e820499d1fbca127095c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bbffc681514ca5393450b8664c137bb"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">getChangelog</a> (const QString &amp;url) const </td></tr>
<tr class="separator:a1bbffc681514ca5393450b8664c137bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30c3bccb5c6f06c1a243fa2629f441a3"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">getModuleName</a> (const QString &amp;url) const </td></tr>
<tr class="separator:a30c3bccb5c6f06c1a243fa2629f441a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c660cca487b092fd8e1b366a964a10b"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">getDownloadUrl</a> (const QString &amp;url) const </td></tr>
<tr class="separator:a2c660cca487b092fd8e1b366a964a10b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f061c6945b58664c2c9f9ec26f0d87c"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">getPlatformKey</a> (const QString &amp;url) const </td></tr>
<tr class="separator:a0f061c6945b58664c2c9f9ec26f0d87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefb5ac20bec6e8509e2b55ed14926a70"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">getLatestVersion</a> (const QString &amp;url) const </td></tr>
<tr class="separator:aefb5ac20bec6e8509e2b55ed14926a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7391bb43acbcbf1627cc51262c2ec60"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">getModuleVersion</a> (const QString &amp;url) const </td></tr>
<tr class="separator:ad7391bb43acbcbf1627cc51262c2ec60"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:adea7d414a9430fc2b653231a87eaacc6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d80/class_q_simple_updater.html#adea7d414a9430fc2b653231a87eaacc6">getInstance</a> ()</td></tr>
<tr class="separator:adea7d414a9430fc2b653231a87eaacc6"><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>Manages the updater instances. </p>
<p>The <code><a class="el" href="../../d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> class manages the updater system and allows for parallel application modules to check for updates and download them.</p>
<p>The behavior of each updater can be regulated by specifying the update definitions URL (from where we download the individual update definitions) and defining the desired options by calling the individual "setter" functions (e.g. <code><a class="el" href="../../d0/d80/class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">setNotifyOnUpdate()</a></code>).</p>
<p>The <code><a class="el" href="../../d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> also implements an integrated downloader. If you need to use a custom install procedure/code, just create a function that is called when the <code>downloadFinished()</code> signal is emitted to implement your own install procedures.</p>
<p>By default, the downloader will try to open the file as if you opened it from a file manager or a web browser (with the "file:*" url). </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a791c89568adb171a62ccd0704570b68d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void QSimpleUpdater::checkForUpdates </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Instructs the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance with the registered <code>url</code> to download and interpret the update definitions file.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">Updater::checkForUpdates()</a>.</p>
</div>
</div>
<a class="anchor" id="a1bbffc681514ca5393450b8664c137bb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QSimpleUpdater::getChangelog </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the changelog of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
<dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="../../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a></code> before using this function </dd></dl>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">Updater::changelog()</a>.</p>
</div>
</div>
<a class="anchor" id="a10f421d41b30134583ee1f5e8cfbc59d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QSimpleUpdater::getDownloaderEnabled </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> has the integrated downloader enabled.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">Updater::downloaderEnabled()</a>.</p>
</div>
</div>
<a class="anchor" id="a2c660cca487b092fd8e1b366a964a10b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QSimpleUpdater::getDownloadUrl </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the download URL of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
<dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="../../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a></code> before using this function </dd></dl>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">Updater::downloadUrl()</a>.</p>
</div>
</div>
<a class="anchor" id="adea7d414a9430fc2b653231a87eaacc6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a> * QSimpleUpdater::getInstance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the only instance of the class </p>
</div>
</div>
<a class="anchor" id="aefb5ac20bec6e8509e2b55ed14926a70"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QSimpleUpdater::getLatestVersion </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the remote module version of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
<dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="../../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a></code> before using this function </dd></dl>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">Updater::latestVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="a30c3bccb5c6f06c1a243fa2629f441a3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QSimpleUpdater::getModuleName </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the module name of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
<dl class="section note"><dt>Note</dt><dd>If the module name is empty, then the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will use the application name as its module name. </dd>
<dd>
If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">Updater::moduleName()</a>.</p>
</div>
</div>
<a class="anchor" id="ad7391bb43acbcbf1627cc51262c2ec60"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QSimpleUpdater::getModuleVersion </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the module version of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
<dl class="section note"><dt>Note</dt><dd>If the module version is empty, then the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will use the application version as its module version. </dd>
<dd>
If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">Updater::moduleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="acc540358f0d887e4945ac061667a596d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QSimpleUpdater::getNotifyOnFinish </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> shall notify the user when it finishes checking for updates.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">Updater::notifyOnFinish()</a>.</p>
</div>
</div>
<a class="anchor" id="acdc00558a979df664910b07cb82f9b36"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QSimpleUpdater::getNotifyOnUpdate </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> shall notify the user when an update is available.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">Updater::notifyOnUpdate()</a>.</p>
</div>
</div>
<a class="anchor" id="a0f061c6945b58664c2c9f9ec26f0d87c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">QString QSimpleUpdater::getPlatformKey </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the platform key of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> registered with the given <em>url</em>. If you do not define a platform key, the system will assign the following platform key:</p><ul>
<li>On iOS: <code>ios</code> </li>
<li>On Mac OSX: <code>osx</code> </li>
<li>On Android: <code>android</code> </li>
<li>On GNU/Linux: <code>linux</code> </li>
<li>On Microsoft Windows: <code>windows</code> </li>
</ul>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">Updater::platformKey()</a>.</p>
</div>
</div>
<a class="anchor" id="a6557bff5a8a255291f12d2613879981b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QSimpleUpdater::getUpdateAvailable </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> has an update available.</p>
<dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="../../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a></code> before using this function </dd></dl>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">Updater::updateAvailable()</a>.</p>
</div>
</div>
<a class="anchor" id="a0ff15deef5af536150911353df0c44b2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void QSimpleUpdater::setDownloaderEnabled </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>enabled</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If the <em>enabled</em> parameter is set to <code>true</code>, the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> will open the integrated downloader if the user agrees to install the update (if any).</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">Updater::setDownloaderEnabled()</a>.</p>
</div>
</div>
<a class="anchor" id="a4b5e2bb2b88ab10a3c6c3a83661a2ebe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void QSimpleUpdater::setModuleName </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes the module <em>name</em> of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered at the given <em>url</em>.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd>
<dd>
The module name is used on the user prompts. If the module name is empty, then the prompts will show the name of the application. </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">Updater::setModuleName()</a>.</p>
</div>
</div>
<a class="anchor" id="a1a2a03f01c7ba081637268910fc50919"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void QSimpleUpdater::setModuleVersion </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>version</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes the module </p><dl class="section version"><dt>Version</dt><dd>of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered at the given <em>url</em>.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The module version is used to compare it with the remove version. If the module name is empty, then the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will use the application version. </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater::setModuleVersion()</a>.</p>
</div>
</div>
<a class="anchor" id="ad9e53f893874d54bff8c787c2f560bd2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void QSimpleUpdater::setNotifyOnFinish </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>notify</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If <em>notify</em> is set to <code>true</code>, then the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> will notify the user when it has finished interpreting the update definitions file.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">Updater::setNotifyOnFinish()</a>.</p>
</div>
</div>
<a class="anchor" id="a4789b616743189642a023fa7704e9c00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void QSimpleUpdater::setNotifyOnUpdate </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>notify</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If <em>notify</em> is set to <code>true</code>, then the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> will notify the user when an update is available.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">Updater::setNotifyOnUpdate()</a>.</p>
</div>
</div>
<a class="anchor" id="af6b2713b7468a69ce3ff46074e642df8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void QSimpleUpdater::setPlatformKey </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>platform</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Changes the platform key of the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> isntance registered at the given <em>url</em>.</p>
<p>If the platform key is empty, then the system will use the following keys:</p><ul>
<li>On iOS: <code>ios</code> </li>
<li>On Mac OSX: <code>osx</code> </li>
<li>On Android: <code>android</code> </li>
<li>On GNU/Linux: <code>linux</code> </li>
<li>On Microsoft Windows: <code>windows</code> </li>
</ul>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">Updater::setPlatformKey()</a>.</p>
</div>
</div>
<a class="anchor" id="a6c30dd784023264dd6ec885ec755f515"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void QSimpleUpdater::setUseCustomInstallProcedures </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool &amp;&#160;</td>
<td class="paramname"><em>custom</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If the <em>custom</em> parameter is set to <code>true</code>, the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> will not try to open the downloaded file.</p>
<p>If you want to implement your own way to handle the downloaded file, just bind to the <code>downloadFinished()</code> signal and disable the integrated downloader with the <code><a class="el" href="../../d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures()</a></code> function.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">Updater::setUrl()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater::setUseCustomInstallProcedures()</a>.</p>
</div>
</div>
<a class="anchor" id="af8f4cca002e820499d1fbca127095c87"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool QSimpleUpdater::usesCustomInstallProcedures </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> if the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> shall try to open the downloaded file.</p>
<p>If you want to implement your own way to handle the downloaded file, just bind to the <code>downloadFinished()</code> signal and disable the integrated downloader with the <code><a class="el" href="../../d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures()</a></code> function.</p>
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater::useCustomInstallProcedures()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="../../d0/d2f/_q_simple_updater_8h_source.html">QSimpleUpdater.h</a></li>
<li>QSimpleUpdater.cpp</li>
</ul>
</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.11
</small></address>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

File diff suppressed because one or more lines are too long

View File

@ -94,6 +94,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</div><!--header--> </div><!--header-->
<div class="contents"> <div class="contents">
<p>Downloads and interprests the update definition file.
<a href="../../d3/d1d/class_updater.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../dd/d30/_updater_8h_source.html">Updater.h</a>&gt;</code></p> <p><code>#include &lt;<a class="el" href="../../dd/d30/_updater_8h_source.html">Updater.h</a>&gt;</code></p>
<div class="dynheader"> <div class="dynheader">
Inheritance diagram for Updater:</div> Inheritance diagram for Updater:</div>
@ -110,12 +113,12 @@ Public Slots</h2></td></tr>
<tr class="separator:a4af41658f974f72c71a9463be7bba1b5"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a4af41658f974f72c71a9463be7bba1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1219e9bb1c1fb0a68d757fbc0d9b76aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl</a> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>)</td></tr> <tr class="memitem:a1219e9bb1c1fb0a68d757fbc0d9b76aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl</a> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>)</td></tr>
<tr class="separator:a1219e9bb1c1fb0a68d757fbc0d9b76aa"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a1219e9bb1c1fb0a68d757fbc0d9b76aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ac7e1a2bd65353a5fdec22689f1adf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">setModuleName</a> (const QString &amp;name)</td></tr>
<tr class="separator:a5ac7e1a2bd65353a5fdec22689f1adf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad88b597bf4ae11a65a9c87171239ed00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">setNotifyOnUpdate</a> (const bool &amp;notify)</td></tr> <tr class="memitem:ad88b597bf4ae11a65a9c87171239ed00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">setNotifyOnUpdate</a> (const bool &amp;notify)</td></tr>
<tr class="separator:ad88b597bf4ae11a65a9c87171239ed00"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:ad88b597bf4ae11a65a9c87171239ed00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a949e507fd72ec4b2565bb49ebe98a2dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">setNotifyOnFinish</a> (const bool &amp;notify)</td></tr> <tr class="memitem:a949e507fd72ec4b2565bb49ebe98a2dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">setNotifyOnFinish</a> (const bool &amp;notify)</td></tr>
<tr class="separator:a949e507fd72ec4b2565bb49ebe98a2dc"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a949e507fd72ec4b2565bb49ebe98a2dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ac7e1a2bd65353a5fdec22689f1adf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">setModuleName</a> (const QString &amp;name)</td></tr>
<tr class="separator:a5ac7e1a2bd65353a5fdec22689f1adf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da70f39cc193b94c64769fc6f40dc2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion</a> (const QString &amp;version)</td></tr> <tr class="memitem:a8da70f39cc193b94c64769fc6f40dc2c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion</a> (const QString &amp;version)</td></tr>
<tr class="separator:a8da70f39cc193b94c64769fc6f40dc2c"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a8da70f39cc193b94c64769fc6f40dc2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d6db0d853ed8400a1725df436812ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">setDownloaderEnabled</a> (const bool &amp;enabled)</td></tr> <tr class="memitem:a46d6db0d853ed8400a1725df436812ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">setDownloaderEnabled</a> (const bool &amp;enabled)</td></tr>
@ -127,17 +130,29 @@ Public Slots</h2></td></tr>
</table><table class="memberdecls"> </table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
Signals</h2></td></tr> Signals</h2></td></tr>
<tr class="memitem:a82debd6b1ad627d6d40c0f2a9996e0c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">checkingFinished</a> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>)</td></tr> <tr class="memitem:a82debd6b1ad627d6d40c0f2a9996e0c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82debd6b1ad627d6d40c0f2a9996e0c1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>checkingFinished</b> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>)</td></tr>
<tr class="separator:a82debd6b1ad627d6d40c0f2a9996e0c1"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a82debd6b1ad627d6d40c0f2a9996e0c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a274a08240ad2bbea8cda6c52787510d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">downloadFinished</a> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>, const QString &amp;filepath)</td></tr> <tr class="memitem:a274a08240ad2bbea8cda6c52787510d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a274a08240ad2bbea8cda6c52787510d3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>downloadFinished</b> (const QString &amp;<a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>, const QString &amp;filepath)</td></tr>
<tr class="separator:a274a08240ad2bbea8cda6c52787510d3"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a274a08240ad2bbea8cda6c52787510d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls"> </table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr> Public Member Functions</h2></td></tr>
<tr class="memitem:a7ebf698a86619ebaadd2eb6e772f2a3d"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a> () const </td></tr> <tr class="memitem:a7ebf698a86619ebaadd2eb6e772f2a3d"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a> () const </td></tr>
<tr class="separator:a7ebf698a86619ebaadd2eb6e772f2a3d"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a7ebf698a86619ebaadd2eb6e772f2a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6a266ddbf0b855bcee1e9f77dfe9efb"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">changelog</a> () const </td></tr>
<tr class="separator:af6a266ddbf0b855bcee1e9f77dfe9efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d8369115126e41cdefd30004cefc46d"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName</a> () const </td></tr>
<tr class="separator:a7d8369115126e41cdefd30004cefc46d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5690e5ab3dde19098caf77c22f8bf075"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl</a> () const </td></tr>
<tr class="separator:a5690e5ab3dde19098caf77c22f8bf075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6d8a5d7b8fd9bdfde738d72c50f8bee"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey</a> () const </td></tr> <tr class="memitem:ad6d8a5d7b8fd9bdfde738d72c50f8bee"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey</a> () const </td></tr>
<tr class="separator:ad6d8a5d7b8fd9bdfde738d72c50f8bee"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:ad6d8a5d7b8fd9bdfde738d72c50f8bee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af32daac9bff9cb3e79798fc9a825648e"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion</a> () const </td></tr>
<tr class="separator:af32daac9bff9cb3e79798fc9a825648e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25e7f289753c6d7b4439ee3728866a48"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion</a> () const </td></tr>
<tr class="separator:a25e7f289753c6d7b4439ee3728866a48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abefc7aae1333458ab03d50aec9b58581"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate</a> () const </td></tr> <tr class="memitem:abefc7aae1333458ab03d50aec9b58581"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate</a> () const </td></tr>
<tr class="separator:abefc7aae1333458ab03d50aec9b58581"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:abefc7aae1333458ab03d50aec9b58581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9fd2c8c3782c04289a76b1bf0b23ca0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish</a> () const </td></tr> <tr class="memitem:ad9fd2c8c3782c04289a76b1bf0b23ca0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish</a> () const </td></tr>
@ -146,21 +161,11 @@ Public Member Functions</h2></td></tr>
<tr class="separator:aec889d582692cb41875ea803db3feb35"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:aec889d582692cb41875ea803db3feb35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f526325b92c344244303b877d990cd3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled</a> () const </td></tr> <tr class="memitem:a4f526325b92c344244303b877d990cd3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled</a> () const </td></tr>
<tr class="separator:a4f526325b92c344244303b877d990cd3"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a4f526325b92c344244303b877d990cd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6a266ddbf0b855bcee1e9f77dfe9efb"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">changelog</a> () const </td></tr>
<tr class="separator:af6a266ddbf0b855bcee1e9f77dfe9efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5690e5ab3dde19098caf77c22f8bf075"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl</a> () const </td></tr>
<tr class="separator:a5690e5ab3dde19098caf77c22f8bf075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25e7f289753c6d7b4439ee3728866a48"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion</a> () const </td></tr>
<tr class="separator:a25e7f289753c6d7b4439ee3728866a48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d8369115126e41cdefd30004cefc46d"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName</a> () const </td></tr>
<tr class="separator:a7d8369115126e41cdefd30004cefc46d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af32daac9bff9cb3e79798fc9a825648e"><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion</a> () const </td></tr>
<tr class="separator:af32daac9bff9cb3e79798fc9a825648e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7860e1643f426dc4d62cec2cdf207cd5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">useCustomInstallProcedures</a> () const </td></tr> <tr class="memitem:a7860e1643f426dc4d62cec2cdf207cd5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">useCustomInstallProcedures</a> () const </td></tr>
<tr class="separator:a7860e1643f426dc4d62cec2cdf207cd5"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a7860e1643f426dc4d62cec2cdf207cd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table> </table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="../../d3/d1d/class_updater.html">Updater</a> class is in charge of downloading and analyzing the appcast and "reacting" based on the options given by the user/developer/application. </p> <div class="textblock"><p>Downloads and interprests the update definition file. </p>
</div><h2 class="groupheader">Member Function Documentation</h2> </div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="af6a266ddbf0b855bcee1e9f77dfe9efb"></a> <a class="anchor" id="af6a266ddbf0b855bcee1e9f77dfe9efb"></a>
<div class="memitem"> <div class="memitem">
@ -174,7 +179,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns the latest changelog </p> <p>Returns the changelog defined by the update definitions file. </p><dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a></code> before using this function </dd></dl>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">QSimpleUpdater::getChangelog()</a>.</p>
</div> </div>
</div> </div>
@ -198,36 +205,11 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Downloads the update definitions file and analyzes it to determine the latest version and the download links </p> <p>Downloads and interpets the update definitions file referenced by the <code><a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a></code> function. </p>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p> <p>References <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
</div> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">QSimpleUpdater::checkForUpdates()</a>.</p>
</div>
<a class="anchor" id="a82debd6b1ad627d6d40c0f2a9996e0c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::checkingFinished </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Emitted when the download definitions have been downloaded and analyzed. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p>
</div> </div>
</div> </div>
@ -243,44 +225,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns <code>if</code> the updater allows the integrated downloader to download and install the update (if aplicable). </p> <p>Returns <code>true</code> if the integrated downloader is enabled. </p><dl class="section note"><dt>Note</dt><dd>If set to <code>true</code>, the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will open the downloader dialog if the user agrees to download the update. </dd></dl>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">QSimpleUpdater::getDownloaderEnabled()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div>
</div>
<a class="anchor" id="a274a08240ad2bbea8cda6c52787510d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Updater::downloadFinished </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>filepath</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Emitted when the download has finished. You can use this to implement your own procedures to install the downloaded updates. </p>
</div> </div>
</div> </div>
@ -296,9 +243,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns the URL from where we can download the update </p> <p>Returns the download URL defined by the update definitions file. </p><dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a></code> before using this function </dd></dl>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">QSimpleUpdater::getDownloadUrl()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -314,9 +261,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns the latest version online </p> <p>Returns the latest version defined by the update definitions file. </p><dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a></code> before using this function </dd></dl>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">QSimpleUpdater::getLatestVersion()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -332,9 +279,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns the application name, which can be set manually or automatically using the <code>qApp-&gt;applicationName()</code> function. </p> <p>Returns the name of the module (if defined) </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">QSimpleUpdater::getModuleName()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -350,9 +297,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns the application version, which can be set manually or automatically using the <code>qApp-&gt;applicationVersion()</code> function. </p> <p>Returns the "local" version of the installed module </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">QSimpleUpdater::getModuleVersion()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -368,9 +315,10 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns <code>true</code> if the class is set to notify the user when it finishes checking for updates (even if there are no updates available). By default this value is set to <code>false</code>. </p> <p>Returns <code>true</code> if the updater should notify the user when it finishes checking for updates.</p>
<dl class="section note"><dt>Note</dt><dd>If set to <code>true</code>, the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will notify the user even when there are no updates available (by congratulating him/her about being smart) </dd></dl>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">QSimpleUpdater::getNotifyOnFinish()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -386,9 +334,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns <code>true</code> if the class is set to notify the user when an update is found online. By default this value is set to <code>true</code>. </p> <p>Returns <code>true</code> if the updater should notify the user when an update is available. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">QSimpleUpdater::getNotifyOnUpdate()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -404,10 +352,15 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns the current platform key, which is used to differentiate the different download links (and download versions) based on the current operating system.</p> <p>Returns the platform key (be it system-set or user-set). If you do not define a platform key, the system will assign the following platform key:</p><ul>
<p>You can modify this value with the <code><a class="el" href="../../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey()</a></code> function </p> <li>On iOS: <code>ios</code> </li>
<li>On Mac OSX: <code>osx</code> </li>
<li>On Android: <code>android</code> </li>
<li>On GNU/Linux: <code>linux</code> </li>
<li>On Microsoft Windows: <code>windows</code> </li>
</ul>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">QSimpleUpdater::getPlatformKey()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -432,7 +385,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>If <em>enabled</em> is set to true, then the user will be able to download and install updates directly from the application, without the need of opening the download URL from a browser and manually installing the update. </p> <p>If the <em>enabled</em> parameter is set to <code>true</code>, the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will open the integrated downloader if the user agrees to install the update (if any) </p>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">QSimpleUpdater::setDownloaderEnabled()</a>.</p>
</div> </div>
</div> </div>
@ -457,7 +412,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Changes the name of the module, this can be useful in large applications that only need to update certain components of them (e.g. plugins). </p> <p>Changes the module <em>name</em>. </p><dl class="section note"><dt>Note</dt><dd>The module name is used on the user prompts. If the module name is empty, then the prompts will show the name of the application. </dd></dl>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">QSimpleUpdater::setModuleName()</a>.</p>
</div> </div>
</div> </div>
@ -482,9 +439,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Changes the version of the module, this can be useful in large applications that only need to update certain components of them (e.g. plugins). </p> <p>Changes the module <em>version</em> </p><dl class="section note"><dt>Note</dt><dd>The module version is used to compare the local and remote versions. If the <em>version</em> parameter is empty, then the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will use the application version (referenced by <code>qApp</code>) </dd></dl>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">checkingFinished()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName()</a>, <a class="el" href="../../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion()</a>, <a class="el" href="../../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish()</a>, <a class="el" href="../../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate()</a>, <a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey()</a>, <a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader::startDownload()</a>, <a class="el" href="../../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">updateAvailable()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">QSimpleUpdater::setModuleVersion()</a>.</p>
</div> </div>
</div> </div>
@ -509,8 +466,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>If set to <code>true</code>, the updater will notify the user when it finishes checking for updates (even where there are no updates available).</p> <p>If <em>notify</em> is set to <code>true</code>, then the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will notify the user when it has finished interpreting the update definitions file. </p>
<p>If set to <code>false</code> (default), the updater will only notify the user when there is an update available (if <a class="el" href="../../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">setNotifyOnUpdate()</a> is <code>true</code>). </p>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">QSimpleUpdater::setNotifyOnFinish()</a>.</p>
</div> </div>
</div> </div>
@ -535,8 +493,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>If <code>notify</code> is set to true, the <code>QSimpleUpdater</code> will notify the user when an update is available.</p> <p>If <em>notify</em> is set to <code>true</code>, then the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will notify the user when an update is available. </p>
<p>If <code>notify</code> is set to false, the <code>QSimpleUpdater</code> will not notify the user when an update is available. </p>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">QSimpleUpdater::setNotifyOnUpdate()</a>.</p>
</div> </div>
</div> </div>
@ -561,10 +520,18 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Changes the platform key/id. This can be useful if the update depends on more than the underlying operating system on which the application runs. </p> <p>Changes the platform key. If the platform key is empty, then the system will use the following keys:</p><ul>
<li>On iOS: <code>ios</code> </li>
<li>On Mac OSX: <code>osx</code> </li>
<li>On Android: <code>android</code> </li>
<li>On GNU/Linux: <code>linux</code> </li>
<li>On Microsoft Windows: <code>windows</code> </li>
</ul>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey()</a>.</p> <p>References <a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey()</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">QSimpleUpdater::setPlatformKey()</a>.</p>
</div> </div>
</div> </div>
<a class="anchor" id="a1219e9bb1c1fb0a68d757fbc0d9b76aa"></a> <a class="anchor" id="a1219e9bb1c1fb0a68d757fbc0d9b76aa"></a>
@ -588,10 +555,12 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Changes the <em>url</em> from where we download the update definitions </p> <p>Changes the <code>url</code> in which the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> can find the update definitions file. </p>
<p>References <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p> <p>References <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">QSimpleUpdater::setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
<a class="anchor" id="ac3f35326fb62b9cf8a2421d91651ad60"></a> <a class="anchor" id="ac3f35326fb62b9cf8a2421d91651ad60"></a>
@ -615,9 +584,11 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>If <code>custom</code> is set to true, then the <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a> will not attempt to open or install the downloaded updates. This can be useful if you want to implement your own install procedures using the <code><a class="el" href="../../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">downloadFinished()</a></code> signal. </p> <p>If the <em>custom</em> parameter is set to <code>true</code>, the <code><a class="el" href="../../d3/d1d/class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will not try to open the downloaded file. Use the signals fired by the <code><a class="el" href="../../d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> to install the update from the downloaded file by yourself. </p>
<p>References <a class="el" href="../../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader::setUseCustomInstallProcedures()</a>.</p> <p>References <a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName()</a>, <a class="el" href="../../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion()</a>, <a class="el" href="../../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish()</a>, <a class="el" href="../../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate()</a>, <a class="el" href="../../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey()</a>, <a class="el" href="../../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader::setUseCustomInstallProcedures()</a>, <a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader::startDownload()</a>, <a class="el" href="../../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">updateAvailable()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">QSimpleUpdater::setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -633,9 +604,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns <code>true</code> if the updater found an updated version of the application/module online. </p> <p>Returns <code>true</code> if there is an update available. </p><dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a></code> before using this function </dd></dl>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">QSimpleUpdater::getUpdateAvailable()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -651,9 +622,9 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns the AppCast URL (from which we extract the update definitions) </p> <p>Returns the URL of the update definitions file </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl()</a>.</p> <p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a>, <a class="el" href="../../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -669,11 +640,12 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns <code>true</code> if the downloader will not attempt to install the downloaded file.</p> <p>Returns <code>true</code> if the updater shall not intervene when the download has finished (you can use the <code><a class="el" href="../../d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> signals to know when the download is completed). </p>
<p>This can be useful if you want to use the <code><a class="el" href="../../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">downloadFinished()</a></code> signal to implement your own install procedures. </p>
<p>References <a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader::useCustomInstallProcedures()</a>.</p> <p>References <a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader::useCustomInstallProcedures()</a>.</p>
<p>Referenced by <a class="el" href="../../d0/d80/class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">QSimpleUpdater::usesCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
<hr/>The documentation for this class was generated from the following files:<ul> <hr/>The documentation for this class was generated from the following files:<ul>

View File

@ -0,0 +1,125 @@
<!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.11"/>
<title>QSimpleUpdater: Member List</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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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="projectlogo"><img alt="Logo" src="../../icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</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><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">QSimpleUpdater Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates</a>(const QString &amp;url)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>checkingFinished</b>(const QString &amp;url) (defined in <a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a>)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>downloadFinished</b>(const QString &amp;url, const QString &amp;filepath) (defined in <a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a>)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">getChangelog</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">getDownloaderEnabled</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">getDownloadUrl</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#adea7d414a9430fc2b653231a87eaacc6">getInstance</a>()</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">getLatestVersion</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">getModuleName</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">getModuleVersion</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">getNotifyOnFinish</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">getNotifyOnUpdate</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">getPlatformKey</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">getUpdateAvailable</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">setDownloaderEnabled</a>(const QString &amp;url, const bool &amp;enabled)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">setModuleName</a>(const QString &amp;url, const QString &amp;name)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">setModuleVersion</a>(const QString &amp;url, const QString &amp;version)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">setNotifyOnFinish</a>(const QString &amp;url, const bool &amp;notify)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">setNotifyOnUpdate</a>(const QString &amp;url, const bool &amp;notify)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">setPlatformKey</a>(const QString &amp;url, const QString &amp;platform)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures</a>(const QString &amp;url, const bool &amp;custom)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">usesCustomInstallProcedures</a>(const QString &amp;url) const </td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~QSimpleUpdater</b>() (defined in <a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a>)</td><td class="entry"><a class="el" href="../../d0/d80/class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></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.11
</small></address>
</body>
</html>

View File

@ -93,9 +93,9 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<table class="directory"> <table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">changelog</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">changelog</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates</a>()</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr> <tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates</a>()</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">checkingFinished</a>(const QString &amp;url)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr> <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>checkingFinished</b>(const QString &amp;url) (defined in <a class="el" href="../../d3/d1d/class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">downloadFinished</a>(const QString &amp;url, const QString &amp;filepath)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr> <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>downloadFinished</b>(const QString &amp;url, const QString &amp;filepath) (defined in <a class="el" href="../../d3/d1d/class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName</a>() const </td><td class="entry"><a class="el" href="../../d3/d1d/class_updater.html">Updater</a></td><td class="entry"></td></tr>

View File

@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<p>This is the complete list of members for <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a>, including all inherited members.</p> <p>This is the complete list of members for <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a>, including all inherited members.</p>
<table class="directory"> <table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Downloader</b>(QWidget *parent=0) (defined in <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr> <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Downloader</b>(QWidget *parent=0) (defined in <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished</a>(const QString &amp;url, const QString &amp;filepath)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">signal</span></td></tr> <tr bgcolor="#f0f0f0"><td class="entry"><b>downloadFinished</b>(const QString &amp;url, const QString &amp;filepath) (defined in <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">setUseCustomInstallProcedures</a>(const bool &amp;custom)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">slot</span></td></tr> <tr class="even"><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">setUseCustomInstallProcedures</a>(const bool &amp;custom)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload</a>(const QUrl &amp;url)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">slot</span></td></tr> <tr><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload</a>(const QUrl &amp;url)</td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures</a>() const </td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures</a>() const </td><td class="entry"><a class="el" href="../../de/dc0/class_downloader.html">Downloader</a></td><td class="entry"></td></tr>

File diff suppressed because one or more lines are too long

View File

@ -93,6 +93,11 @@ var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
<div class="title">Downloader Class Reference</div> </div> <div class="title">Downloader Class Reference</div> </div>
</div><!--header--> </div><!--header-->
<div class="contents"> <div class="contents">
<p>Implements an integrated file downloader with a nice UI.
<a href="../../de/dc0/class_downloader.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d1/d88/_downloader_8h_source.html">Downloader.h</a>&gt;</code></p>
<div class="dynheader"> <div class="dynheader">
Inheritance diagram for Downloader:</div> Inheritance diagram for Downloader:</div>
<div class="dyncontent"> <div class="dyncontent">
@ -111,7 +116,8 @@ Public Slots</h2></td></tr>
</table><table class="memberdecls"> </table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
Signals</h2></td></tr> Signals</h2></td></tr>
<tr class="memitem:a7374214627efe871ac19af293f702f9a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished</a> (const QString &amp;url, const QString &amp;filepath)</td></tr> <tr class="memitem:a7374214627efe871ac19af293f702f9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7374214627efe871ac19af293f702f9a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>downloadFinished</b> (const QString &amp;url, const QString &amp;filepath)</td></tr>
<tr class="separator:a7374214627efe871ac19af293f702f9a"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a7374214627efe871ac19af293f702f9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls"> </table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
@ -122,44 +128,9 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a3e7a91a3cdfa68e3bc59db0af1377f9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures</a> () const </td></tr> <tr class="memitem:a3e7a91a3cdfa68e3bc59db0af1377f9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures</a> () const </td></tr>
<tr class="separator:a3e7a91a3cdfa68e3bc59db0af1377f9c"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a3e7a91a3cdfa68e3bc59db0af1377f9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table> </table>
<h2 class="groupheader">Member Function Documentation</h2> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<a class="anchor" id="a7374214627efe871ac19af293f702f9a"></a> <div class="textblock"><p>Implements an integrated file downloader with a nice UI. </p>
<div class="memitem"> </div><h2 class="groupheader">Member Function Documentation</h2>
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Downloader::downloadFinished </td>
<td>(</td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>url</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const QString &amp;&#160;</td>
<td class="paramname"><em>filepath</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">signal</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Emitted when the download has finished. You can use this to implement your own procedures to install the downloaded updates. </p>
<p>Referenced by <a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload()</a>.</p>
</div>
</div>
<a class="anchor" id="a26a4f889029c63c11f679284397a3285"></a> <a class="anchor" id="a26a4f889029c63c11f679284397a3285"></a>
<div class="memitem"> <div class="memitem">
<div class="memproto"> <div class="memproto">
@ -181,7 +152,8 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>If <code>custom</code> is set to true, then the <a class="el" href="../../de/dc0/class_downloader.html">Downloader</a> will not attempt to open or install the downloaded updates. This can be useful if you want to implement your own install procedures using the <code><a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished()</a></code> signal. </p> <p>If the <em>custom</em> parameter is set to <code>true</code>, then the <code><a class="el" href="../../de/dc0/class_downloader.html" title="Implements an integrated file downloader with a nice UI. ">Downloader</a></code> will not attempt to open the downloaded file.</p>
<p>Use the signals fired by the <code><a class="el" href="../../d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> to implement your own install procedures. </p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater::setUseCustomInstallProcedures()</a>.</p> <p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater::setUseCustomInstallProcedures()</a>.</p>
@ -208,11 +180,11 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Begins downloading the update </p> <p>Begins downloading the file at the given <em>url</em> </p>
<p>References <a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished()</a>, and <a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures()</a>.</p> <p>References <a class="el" href="../../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures()</a>.</p>
<p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater::setModuleVersion()</a>.</p> <p>Referenced by <a class="el" href="../../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater::setUseCustomInstallProcedures()</a>.</p>
</div> </div>
</div> </div>
@ -228,8 +200,7 @@ Public Member Functions</h2></td></tr>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Returns <code>true</code> if the downloader will not attempt to install the downloaded file.</p> <p>Returns <code>true</code> if the updater shall not intervene when the download has finished (you can use the <code><a class="el" href="../../d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> signals to know when the download is completed). </p>
<p>This can be useful if you want to use the <code><a class="el" href="../../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">downloadFinished()</a></code> signal to implement your own install procedures. </p>
<p>Referenced by <a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater::useCustomInstallProcedures()</a>.</p> <p>Referenced by <a class="el" href="../../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload()</a>, and <a class="el" href="../../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater::useCustomInstallProcedures()</a>.</p>

View File

@ -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.11"/>
<title>QSimpleUpdater: include Directory 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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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="projectlogo"><img alt="Logo" src="icon.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">QSimpleUpdater
</div>
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</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> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">include Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
</table>
</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.11
</small></address>
</body>
</html>

View File

@ -88,7 +88,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory"> <div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<table class="directory"> <table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="d1/d88/_downloader_8h_source.html"><span class="icondoc"></span></a><b>Downloader.h</b></td><td class="desc"></td></tr> <tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="d1/d88/_downloader_8h_source.html"><span class="icondoc"></span></a><b>Downloader.h</b></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dd/d30/_updater_8h_source.html"><span class="icondoc"></span></a><b>Updater.h</b></td><td class="desc"></td></tr> <tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="d0/d2f/_q_simple_updater_8h_source.html"><span class="icondoc"></span></a><b>QSimpleUpdater.h</b></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dd/d30/_updater_8h_source.html"><span class="icondoc"></span></a><b>Updater.h</b></td><td class="desc"></td></tr>
</table> </table>
</div><!-- directory --> </div><!-- directory -->
</div><!-- contents --> </div><!-- contents -->

View File

@ -74,6 +74,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="functions_func.html"><span>Functions</span></a></li> <li><a href="functions_func.html"><span>Functions</span></a></li>
</ul> </ul>
</div> </div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li class="current"><a href="#index_u"><span>u</span></a></li>
</ul>
</div>
</div><!-- top --> </div><!-- top -->
<!-- window showing the filter options --> <!-- window showing the filter options -->
<div id="MSearchSelectWindow" <div id="MSearchSelectWindow"
@ -90,72 +103,140 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div> </div>
<div class="contents"> <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> <div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>changelog() <li>changelog()
: <a class="el" href="d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">Updater</a>
</li> </li>
<li>checkForUpdates() <li>checkForUpdates()
: <a class="el" href="d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">QSimpleUpdater</a>
</li> , <a class="el" href="d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">Updater</a>
<li>checkingFinished()
: <a class="el" href="d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>downloaderEnabled() <li>downloaderEnabled()
: <a class="el" href="d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">Updater</a>
</li> </li>
<li>downloadFinished()
: <a class="el" href="de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">Updater</a>
</li>
<li>downloadUrl() <li>downloadUrl()
: <a class="el" href="d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>getChangelog()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">QSimpleUpdater</a>
</li>
<li>getDownloaderEnabled()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">QSimpleUpdater</a>
</li>
<li>getDownloadUrl()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">QSimpleUpdater</a>
</li>
<li>getInstance()
: <a class="el" href="d0/d80/class_q_simple_updater.html#adea7d414a9430fc2b653231a87eaacc6">QSimpleUpdater</a>
</li>
<li>getLatestVersion()
: <a class="el" href="d0/d80/class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">QSimpleUpdater</a>
</li>
<li>getModuleName()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">QSimpleUpdater</a>
</li>
<li>getModuleVersion()
: <a class="el" href="d0/d80/class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">QSimpleUpdater</a>
</li>
<li>getNotifyOnFinish()
: <a class="el" href="d0/d80/class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">QSimpleUpdater</a>
</li>
<li>getNotifyOnUpdate()
: <a class="el" href="d0/d80/class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">QSimpleUpdater</a>
</li>
<li>getPlatformKey()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">QSimpleUpdater</a>
</li>
<li>getUpdateAvailable()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">QSimpleUpdater</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>latestVersion() <li>latestVersion()
: <a class="el" href="d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>moduleName() <li>moduleName()
: <a class="el" href="d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">Updater</a>
</li> </li>
<li>moduleVersion() <li>moduleVersion()
: <a class="el" href="d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>notifyOnFinish() <li>notifyOnFinish()
: <a class="el" href="d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">Updater</a>
</li> </li>
<li>notifyOnUpdate() <li>notifyOnUpdate()
: <a class="el" href="d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>platformKey() <li>platformKey()
: <a class="el" href="d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>setDownloaderEnabled() <li>setDownloaderEnabled()
: <a class="el" href="d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">Updater</a>
</li> </li>
<li>setModuleName() <li>setModuleName()
: <a class="el" href="d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">Updater</a>
</li> </li>
<li>setModuleVersion() <li>setModuleVersion()
: <a class="el" href="d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater</a>
</li> </li>
<li>setNotifyOnFinish() <li>setNotifyOnFinish()
: <a class="el" href="d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">Updater</a>
</li> </li>
<li>setNotifyOnUpdate() <li>setNotifyOnUpdate()
: <a class="el" href="d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">Updater</a>
</li> </li>
<li>setPlatformKey() <li>setPlatformKey()
: <a class="el" href="d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">Updater</a>
</li> </li>
<li>setUrl() <li>setUrl()
: <a class="el" href="d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">Updater</a>
</li> </li>
<li>setUseCustomInstallProcedures() <li>setUseCustomInstallProcedures()
: <a class="el" href="de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader</a> : <a class="el" href="de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader</a>
, <a class="el" href="d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater</a> , <a class="el" href="d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater</a>
</li> </li>
<li>startDownload() <li>startDownload()
: <a class="el" href="de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader</a> : <a class="el" href="de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>updateAvailable() <li>updateAvailable()
: <a class="el" href="d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">Updater</a>
</li> </li>
@ -166,6 +247,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader</a> : <a class="el" href="de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater</a> , <a class="el" href="d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater</a>
</li> </li>
<li>usesCustomInstallProcedures()
: <a class="el" href="d0/d80/class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">QSimpleUpdater</a>
</li>
</ul> </ul>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->

View File

@ -74,6 +74,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li> <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
</ul> </ul>
</div> </div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li class="current"><a href="#index_u"><span>u</span></a></li>
</ul>
</div>
</div><!-- top --> </div><!-- top -->
<!-- window showing the filter options --> <!-- window showing the filter options -->
<div id="MSearchSelectWindow" <div id="MSearchSelectWindow"
@ -90,72 +103,140 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div> </div>
<div class="contents"> <div class="contents">
&#160;<ul> &#160;
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
<li>changelog() <li>changelog()
: <a class="el" href="d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">Updater</a>
</li> </li>
<li>checkForUpdates() <li>checkForUpdates()
: <a class="el" href="d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">QSimpleUpdater</a>
</li> , <a class="el" href="d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5">Updater</a>
<li>checkingFinished()
: <a class="el" href="d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>downloaderEnabled() <li>downloaderEnabled()
: <a class="el" href="d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3">Updater</a>
</li> </li>
<li>downloadFinished()
: <a class="el" href="de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3">Updater</a>
</li>
<li>downloadUrl() <li>downloadUrl()
: <a class="el" href="d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>getChangelog()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">QSimpleUpdater</a>
</li>
<li>getDownloaderEnabled()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">QSimpleUpdater</a>
</li>
<li>getDownloadUrl()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">QSimpleUpdater</a>
</li>
<li>getInstance()
: <a class="el" href="d0/d80/class_q_simple_updater.html#adea7d414a9430fc2b653231a87eaacc6">QSimpleUpdater</a>
</li>
<li>getLatestVersion()
: <a class="el" href="d0/d80/class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">QSimpleUpdater</a>
</li>
<li>getModuleName()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">QSimpleUpdater</a>
</li>
<li>getModuleVersion()
: <a class="el" href="d0/d80/class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">QSimpleUpdater</a>
</li>
<li>getNotifyOnFinish()
: <a class="el" href="d0/d80/class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">QSimpleUpdater</a>
</li>
<li>getNotifyOnUpdate()
: <a class="el" href="d0/d80/class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">QSimpleUpdater</a>
</li>
<li>getPlatformKey()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">QSimpleUpdater</a>
</li>
<li>getUpdateAvailable()
: <a class="el" href="d0/d80/class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">QSimpleUpdater</a>
</li>
</ul>
<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
<li>latestVersion() <li>latestVersion()
: <a class="el" href="d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>moduleName() <li>moduleName()
: <a class="el" href="d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d">Updater</a>
</li> </li>
<li>moduleVersion() <li>moduleVersion()
: <a class="el" href="d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>notifyOnFinish() <li>notifyOnFinish()
: <a class="el" href="d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">Updater</a>
</li> </li>
<li>notifyOnUpdate() <li>notifyOnUpdate()
: <a class="el" href="d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>platformKey() <li>platformKey()
: <a class="el" href="d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">Updater</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>setDownloaderEnabled() <li>setDownloaderEnabled()
: <a class="el" href="d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee">Updater</a>
</li> </li>
<li>setModuleName() <li>setModuleName()
: <a class="el" href="d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">Updater</a>
</li> </li>
<li>setModuleVersion() <li>setModuleVersion()
: <a class="el" href="d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater</a>
</li> </li>
<li>setNotifyOnFinish() <li>setNotifyOnFinish()
: <a class="el" href="d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">Updater</a>
</li> </li>
<li>setNotifyOnUpdate() <li>setNotifyOnUpdate()
: <a class="el" href="d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">Updater</a>
</li> </li>
<li>setPlatformKey() <li>setPlatformKey()
: <a class="el" href="d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">Updater</a> : <a class="el" href="d0/d80/class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8">Updater</a>
</li> </li>
<li>setUrl() <li>setUrl()
: <a class="el" href="d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">Updater</a>
</li> </li>
<li>setUseCustomInstallProcedures() <li>setUseCustomInstallProcedures()
: <a class="el" href="de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader</a> : <a class="el" href="de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader</a>
, <a class="el" href="d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">QSimpleUpdater</a>
, <a class="el" href="d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater</a> , <a class="el" href="d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater</a>
</li> </li>
<li>startDownload() <li>startDownload()
: <a class="el" href="de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader</a> : <a class="el" href="de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader</a>
</li> </li>
</ul>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>updateAvailable() <li>updateAvailable()
: <a class="el" href="d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">Updater</a> : <a class="el" href="d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35">Updater</a>
</li> </li>
@ -166,6 +247,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader</a> : <a class="el" href="de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader</a>
, <a class="el" href="d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater</a> , <a class="el" href="d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater</a>
</li> </li>
<li>usesCustomInstallProcedures()
: <a class="el" href="d0/d80/class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">QSimpleUpdater</a>
</li>
</ul> </ul>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->

View File

@ -91,9 +91,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory"> <div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory"> <div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QObject</b></td><td class="desc"></td></tr> <tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QObject</b></td><td class="desc"></td></tr>
<tr id="row_0_0_"><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="d3/d1d/class_updater.html" target="_self">Updater</a></td><td class="desc"></td></tr> <tr id="row_0_0_"><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/d80/class_q_simple_updater.html" target="_self">QSimpleUpdater</a></td><td class="desc">Manages the updater instances </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QWidget</b></td><td class="desc"></td></tr> <tr id="row_0_1_" 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="d3/d1d/class_updater.html" target="_self">Updater</a></td><td class="desc">Downloads and interprests the update definition file </td></tr>
<tr id="row_1_0_"><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="de/dc0/class_downloader.html" target="_self">Downloader</a></td><td class="desc"></td></tr> <tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>QWidget</b></td><td class="desc"></td></tr>
<tr id="row_1_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="de/dc0/class_downloader.html" target="_self">Downloader</a></td><td class="desc">Implements an integrated file downloader with a nice UI </td></tr>
</table> </table>
</div><!-- directory --> </div><!-- directory -->
</div><!-- contents --> </div><!-- contents -->

View File

@ -80,26 +80,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">Introduction </div> </div> <div class="title">Introduction </div> </div>
</div><!--header--> </div><!--header-->
<div class="contents"> <div class="contents">
<div class="textblock"><p>QSimpleUpdater is an implementation of an auto-updating system to be used with Qt projects. It allows you to easily check for updates, download them and install them. Additionally, the QSimpleUpdater allows you to check for updates for different "modules" of your application. Check the WTFs for more information.</p> <div class="textblock"><p><a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> is an implementation of an auto-updating system to be used with Qt projects. It allows you to easily check for updates, download them and install them. Additionally, the <a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> allows you to check for updates for different "modules" of your application. Check the WTFs for more information.</p>
<h2>Integrating QSimpleUpdater with your projects</h2> <h2>Integrating <a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> with your projects</h2>
<ol type="1"> <ol type="1">
<li>Copy the QSimpleUpdater folder in your "3rd-party" folder.</li> <li>Copy the <a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> folder in your "3rd-party" folder.</li>
<li>Include the QSimpleUpdater project include (<em>pri</em>) file using the include() function.</li> <li>Include the <a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> project include (<em>pri</em>) file using the include() function.</li>
<li>That's all! Check the tutorial project as a reference for your project.</li> <li>That's all! Check the tutorial project as a reference for your project.</li>
</ol> </ol>
<h2>WTFs Section</h2> <h2>WTFs Section</h2>
<h3>1. How does the QSimpleUpdater check for updates?</h3> <h3>1. How does the <a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> check for updates?</h3>
<p>The QSimpleUpdater downloads an update definition file stored in JSON format. This file specifies the latest version, the download links and changelogs for each platform (you can also register your own platform easily if needed).</p> <p>The <a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> downloads an update definition file stored in JSON format. This file specifies the latest version, the download links and changelogs for each platform (you can also register your own platform easily if needed).</p>
<p>After downloading this file, the library analyzes the local version and the remote version. If the remote version is greater than the local version, then the library infers that there is an update available and notifies the user.</p> <p>After downloading this file, the library analyzes the local version and the remote version. If the remote version is greater than the local version, then the library infers that there is an update available and notifies the user.</p>
<h3>2. Can I customize the update notifications shown to the user?</h3> <h3>2. Can I customize the update notifications shown to the user?</h3>
<p>Yes! You can "toggle" which notifications to show using the library's functions or re-implement by yourself the notifications by "reacting" to the signals emitted by the QSimpleUpdater.</p> <p>Yes! You can "toggle" which notifications to show using the library's functions or re-implement by yourself the notifications by "reacting" to the signals emitted by the <a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a>.</p>
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;QString url = &quot;https://MyBadassApplication.com/updates.json&quot;;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;QSimpleUpdater::getInstance()-&gt;setNotifyOnUpdate (url, true);</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;QSimpleUpdater::getInstance()-&gt;setNotifyOnFinish (url, false);</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (url);</div></div><!-- fragment --><h3>3. Is the application able to download the updates directly?</h3> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;QString url = &quot;https://MyBadassApplication.com/updates.json&quot;;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;QSimpleUpdater::getInstance()-&gt;setNotifyOnUpdate (url, true);</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;QSimpleUpdater::getInstance()-&gt;setNotifyOnFinish (url, false);</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (url);</div></div><!-- fragment --><h3>3. Is the application able to download the updates directly?</h3>
<p>Yes. If there is an update available, the library will prompt the user if he/she wants to download the update. You can enable or disable the integrated downloader with the following code:</p> <p>Yes. If there is an update available, the library will prompt the user if he/she wants to download the update. You can enable or disable the integrated downloader with the following code:</p>
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;QString url = &quot;https://MyBadassApplication.com/updates.json&quot;;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;QSimpleUpdater::getInstance()-&gt;setDownloaderEnabled (url, true);</div></div><!-- fragment --><h3>4. Why do I need to specify an URL for each function of the library?</h3> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;QString url = &quot;https://MyBadassApplication.com/updates.json&quot;;</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;QSimpleUpdater::getInstance()-&gt;setDownloaderEnabled (url, true);</div></div><!-- fragment --><h3>4. Why do I need to specify an URL for each function of the library?</h3>
<p>The QSimpleUpdater allows you to use different updater instances, which can be accessed with the URL of the update definitions. While it is not obligatory to use multiple updater instances, this can be useful for applications that make use of plugins or different modules.</p> <p>The <a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> allows you to use different updater instances, which can be accessed with the URL of the update definitions. While it is not obligatory to use multiple updater instances, this can be useful for applications that make use of plugins or different modules.</p>
<p>Say that you are developing a game, in this case, you could use the following code:</p> <p>Say that you are developing a game, in this case, you could use the following code:</p>
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;// Update the game textures</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;QString textures_url = &quot;https://MyBadassGame.com/textures.json&quot;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleName (textures_url, &quot;textures&quot;);</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleVersion (textures_url, &quot;0.4&quot;);</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (textures_url);</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;// Update the game sounds</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;QString sounds_url = &quot;https://MyBadassGame.com/sounds.json&quot;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleName (sounds_url, &quot;sounds&quot;);</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleVersion (sounds_url, &quot;0.6&quot;);</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (sounds_url);</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;// Update the client (name &amp; versions are already stored in qApp)</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;QString client_url = &quot;https://MyBadassGame.com/client.json&quot;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (client_url);</div></div><!-- fragment --><h2>License</h2> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;// Update the game textures</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;QString textures_url = &quot;https://MyBadassGame.com/textures.json&quot;</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleName (textures_url, &quot;textures&quot;);</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleVersion (textures_url, &quot;0.4&quot;);</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (textures_url);</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;// Update the game sounds</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;QString sounds_url = &quot;https://MyBadassGame.com/sounds.json&quot;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleName (sounds_url, &quot;sounds&quot;);</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;QSimpleUpdater::getInstance()-&gt;setModuleVersion (sounds_url, &quot;0.6&quot;);</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (sounds_url);</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;// Update the client (name &amp; versions are already stored in qApp)</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;QString client_url = &quot;https://MyBadassGame.com/client.json&quot;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;QSimpleUpdater::getInstance()-&gt;checkForUpdates (client_url);</div></div><!-- fragment --><h2>License</h2>
<p>QSimpleUpdater is free and open-source software, it is released under the Don't Be A Dick License. </p> <p><a class="el" href="d0/d80/class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a> is free and open-source software, it is released under the Don't Be A Dick License. </p>
</div></div><!-- contents --> </div></div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>

View File

@ -1,6 +1,5 @@
var searchData= var searchData=
[ [
['changelog',['changelog',['../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb',1,'Updater']]], ['changelog',['changelog',['../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb',1,'Updater']]],
['checkforupdates',['checkForUpdates',['../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5',1,'Updater']]], ['checkforupdates',['checkForUpdates',['../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5',1,'Updater::checkForUpdates()'],['../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d',1,'QSimpleUpdater::checkForUpdates()']]]
['checkingfinished',['checkingFinished',['../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1',1,'Updater']]]
]; ];

View File

@ -2,6 +2,5 @@ var searchData=
[ [
['downloader',['Downloader',['../de/dc0/class_downloader.html',1,'']]], ['downloader',['Downloader',['../de/dc0/class_downloader.html',1,'']]],
['downloaderenabled',['downloaderEnabled',['../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3',1,'Updater']]], ['downloaderenabled',['downloaderEnabled',['../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3',1,'Updater']]],
['downloadfinished',['downloadFinished',['../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a',1,'Downloader::downloadFinished()'],['../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3',1,'Updater::downloadFinished()']]],
['downloadurl',['downloadUrl',['../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075',1,'Updater']]] ['downloadurl',['downloadUrl',['../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075',1,'Updater']]]
]; ];

View File

@ -1,4 +1,14 @@
var searchData= var searchData=
[ [
['introduction',['Introduction',['../index.html',1,'']]] ['getchangelog',['getChangelog',['../d0/d80/class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb',1,'QSimpleUpdater']]],
['getdownloaderenabled',['getDownloaderEnabled',['../d0/d80/class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d',1,'QSimpleUpdater']]],
['getdownloadurl',['getDownloadUrl',['../d0/d80/class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b',1,'QSimpleUpdater']]],
['getinstance',['getInstance',['../d0/d80/class_q_simple_updater.html#adea7d414a9430fc2b653231a87eaacc6',1,'QSimpleUpdater']]],
['getlatestversion',['getLatestVersion',['../d0/d80/class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70',1,'QSimpleUpdater']]],
['getmodulename',['getModuleName',['../d0/d80/class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3',1,'QSimpleUpdater']]],
['getmoduleversion',['getModuleVersion',['../d0/d80/class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60',1,'QSimpleUpdater']]],
['getnotifyonfinish',['getNotifyOnFinish',['../d0/d80/class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d',1,'QSimpleUpdater']]],
['getnotifyonupdate',['getNotifyOnUpdate',['../d0/d80/class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36',1,'QSimpleUpdater']]],
['getplatformkey',['getPlatformKey',['../d0/d80/class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c',1,'QSimpleUpdater']]],
['getupdateavailable',['getUpdateAvailable',['../d0/d80/class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b',1,'QSimpleUpdater']]]
]; ];

View File

@ -1,4 +1,4 @@
var searchData= var searchData=
[ [
['latestversion',['latestVersion',['../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48',1,'Updater']]] ['introduction',['Introduction',['../index.html',1,'']]]
]; ];

View File

@ -1,5 +1,4 @@
var searchData= var searchData=
[ [
['modulename',['moduleName',['../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d',1,'Updater']]], ['latestversion',['latestVersion',['../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48',1,'Updater']]]
['moduleversion',['moduleVersion',['../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e',1,'Updater']]]
]; ];

View File

@ -1,5 +1,5 @@
var searchData= var searchData=
[ [
['notifyonfinish',['notifyOnFinish',['../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0',1,'Updater']]], ['modulename',['moduleName',['../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d',1,'Updater']]],
['notifyonupdate',['notifyOnUpdate',['../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581',1,'Updater']]] ['moduleversion',['moduleVersion',['../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e',1,'Updater']]]
]; ];

View File

@ -1,4 +1,5 @@
var searchData= var searchData=
[ [
['platformkey',['platformKey',['../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee',1,'Updater']]] ['notifyonfinish',['notifyOnFinish',['../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0',1,'Updater']]],
['notifyonupdate',['notifyOnUpdate',['../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581',1,'Updater']]]
]; ];

View File

@ -1,12 +1,4 @@
var searchData= var searchData=
[ [
['setdownloaderenabled',['setDownloaderEnabled',['../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee',1,'Updater']]], ['platformkey',['platformKey',['../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee',1,'Updater']]]
['setmodulename',['setModuleName',['../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3',1,'Updater']]],
['setmoduleversion',['setModuleVersion',['../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c',1,'Updater']]],
['setnotifyonfinish',['setNotifyOnFinish',['../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc',1,'Updater']]],
['setnotifyonupdate',['setNotifyOnUpdate',['../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00',1,'Updater']]],
['setplatformkey',['setPlatformKey',['../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8',1,'Updater']]],
['seturl',['setUrl',['../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa',1,'Updater']]],
['setusecustominstallprocedures',['setUseCustomInstallProcedures',['../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285',1,'Downloader::setUseCustomInstallProcedures()'],['../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60',1,'Updater::setUseCustomInstallProcedures()']]],
['startdownload',['startDownload',['../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379',1,'Downloader']]]
]; ];

View File

@ -1,7 +1,4 @@
var searchData= var searchData=
[ [
['updateavailable',['updateAvailable',['../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35',1,'Updater']]], ['qsimpleupdater',['QSimpleUpdater',['../d0/d80/class_q_simple_updater.html',1,'']]]
['updater',['Updater',['../d3/d1d/class_updater.html',1,'']]],
['url',['url',['../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d',1,'Updater']]],
['usecustominstallprocedures',['useCustomInstallProcedures',['../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c',1,'Downloader::useCustomInstallProcedures()'],['../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5',1,'Updater::useCustomInstallProcedures()']]]
]; ];

View File

@ -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.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_9.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>

View File

@ -0,0 +1,12 @@
var searchData=
[
['setdownloaderenabled',['setDownloaderEnabled',['../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee',1,'Updater::setDownloaderEnabled()'],['../d0/d80/class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2',1,'QSimpleUpdater::setDownloaderEnabled()']]],
['setmodulename',['setModuleName',['../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3',1,'Updater::setModuleName()'],['../d0/d80/class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe',1,'QSimpleUpdater::setModuleName()']]],
['setmoduleversion',['setModuleVersion',['../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c',1,'Updater::setModuleVersion()'],['../d0/d80/class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919',1,'QSimpleUpdater::setModuleVersion()']]],
['setnotifyonfinish',['setNotifyOnFinish',['../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc',1,'Updater::setNotifyOnFinish()'],['../d0/d80/class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2',1,'QSimpleUpdater::setNotifyOnFinish()']]],
['setnotifyonupdate',['setNotifyOnUpdate',['../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00',1,'Updater::setNotifyOnUpdate()'],['../d0/d80/class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00',1,'QSimpleUpdater::setNotifyOnUpdate()']]],
['setplatformkey',['setPlatformKey',['../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8',1,'Updater::setPlatformKey()'],['../d0/d80/class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8',1,'QSimpleUpdater::setPlatformKey()']]],
['seturl',['setUrl',['../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa',1,'Updater']]],
['setusecustominstallprocedures',['setUseCustomInstallProcedures',['../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285',1,'Downloader::setUseCustomInstallProcedures()'],['../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60',1,'Updater::setUseCustomInstallProcedures()'],['../d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515',1,'QSimpleUpdater::setUseCustomInstallProcedures()']]],
['startdownload',['startDownload',['../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379',1,'Downloader']]]
];

View File

@ -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.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_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>

View File

@ -0,0 +1,8 @@
var searchData=
[
['updateavailable',['updateAvailable',['../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35',1,'Updater']]],
['updater',['Updater',['../d3/d1d/class_updater.html',1,'']]],
['url',['url',['../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d',1,'Updater']]],
['usecustominstallprocedures',['useCustomInstallProcedures',['../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c',1,'Downloader::useCustomInstallProcedures()'],['../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5',1,'Updater::useCustomInstallProcedures()']]],
['usescustominstallprocedures',['usesCustomInstallProcedures',['../d0/d80/class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87',1,'QSimpleUpdater']]]
];

View File

@ -1,4 +1,4 @@
var searchData= var searchData=
[ [
['updater',['Updater',['../d3/d1d/class_updater.html',1,'']]] ['qsimpleupdater',['QSimpleUpdater',['../d0/d80/class_q_simple_updater.html',1,'']]]
]; ];

View File

@ -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.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_2.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>

View File

@ -0,0 +1,4 @@
var searchData=
[
['updater',['Updater',['../d3/d1d/class_updater.html',1,'']]]
];

View File

@ -1,6 +1,5 @@
var searchData= var searchData=
[ [
['changelog',['changelog',['../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb',1,'Updater']]], ['changelog',['changelog',['../d3/d1d/class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb',1,'Updater']]],
['checkforupdates',['checkForUpdates',['../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5',1,'Updater']]], ['checkforupdates',['checkForUpdates',['../d3/d1d/class_updater.html#a4af41658f974f72c71a9463be7bba1b5',1,'Updater::checkForUpdates()'],['../d0/d80/class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d',1,'QSimpleUpdater::checkForUpdates()']]]
['checkingfinished',['checkingFinished',['../d3/d1d/class_updater.html#a82debd6b1ad627d6d40c0f2a9996e0c1',1,'Updater']]]
]; ];

View File

@ -1,6 +1,5 @@
var searchData= var searchData=
[ [
['downloaderenabled',['downloaderEnabled',['../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3',1,'Updater']]], ['downloaderenabled',['downloaderEnabled',['../d3/d1d/class_updater.html#a4f526325b92c344244303b877d990cd3',1,'Updater']]],
['downloadfinished',['downloadFinished',['../de/dc0/class_downloader.html#a7374214627efe871ac19af293f702f9a',1,'Downloader::downloadFinished()'],['../d3/d1d/class_updater.html#a274a08240ad2bbea8cda6c52787510d3',1,'Updater::downloadFinished()']]],
['downloadurl',['downloadUrl',['../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075',1,'Updater']]] ['downloadurl',['downloadUrl',['../d3/d1d/class_updater.html#a5690e5ab3dde19098caf77c22f8bf075',1,'Updater']]]
]; ];

View File

@ -1,4 +1,14 @@
var searchData= var searchData=
[ [
['latestversion',['latestVersion',['../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48',1,'Updater']]] ['getchangelog',['getChangelog',['../d0/d80/class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb',1,'QSimpleUpdater']]],
['getdownloaderenabled',['getDownloaderEnabled',['../d0/d80/class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d',1,'QSimpleUpdater']]],
['getdownloadurl',['getDownloadUrl',['../d0/d80/class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b',1,'QSimpleUpdater']]],
['getinstance',['getInstance',['../d0/d80/class_q_simple_updater.html#adea7d414a9430fc2b653231a87eaacc6',1,'QSimpleUpdater']]],
['getlatestversion',['getLatestVersion',['../d0/d80/class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70',1,'QSimpleUpdater']]],
['getmodulename',['getModuleName',['../d0/d80/class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3',1,'QSimpleUpdater']]],
['getmoduleversion',['getModuleVersion',['../d0/d80/class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60',1,'QSimpleUpdater']]],
['getnotifyonfinish',['getNotifyOnFinish',['../d0/d80/class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d',1,'QSimpleUpdater']]],
['getnotifyonupdate',['getNotifyOnUpdate',['../d0/d80/class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36',1,'QSimpleUpdater']]],
['getplatformkey',['getPlatformKey',['../d0/d80/class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c',1,'QSimpleUpdater']]],
['getupdateavailable',['getUpdateAvailable',['../d0/d80/class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b',1,'QSimpleUpdater']]]
]; ];

View File

@ -1,5 +1,4 @@
var searchData= var searchData=
[ [
['modulename',['moduleName',['../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d',1,'Updater']]], ['latestversion',['latestVersion',['../d3/d1d/class_updater.html#a25e7f289753c6d7b4439ee3728866a48',1,'Updater']]]
['moduleversion',['moduleVersion',['../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e',1,'Updater']]]
]; ];

View File

@ -1,5 +1,5 @@
var searchData= var searchData=
[ [
['notifyonfinish',['notifyOnFinish',['../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0',1,'Updater']]], ['modulename',['moduleName',['../d3/d1d/class_updater.html#a7d8369115126e41cdefd30004cefc46d',1,'Updater']]],
['notifyonupdate',['notifyOnUpdate',['../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581',1,'Updater']]] ['moduleversion',['moduleVersion',['../d3/d1d/class_updater.html#af32daac9bff9cb3e79798fc9a825648e',1,'Updater']]]
]; ];

View File

@ -1,4 +1,5 @@
var searchData= var searchData=
[ [
['platformkey',['platformKey',['../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee',1,'Updater']]] ['notifyonfinish',['notifyOnFinish',['../d3/d1d/class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0',1,'Updater']]],
['notifyonupdate',['notifyOnUpdate',['../d3/d1d/class_updater.html#abefc7aae1333458ab03d50aec9b58581',1,'Updater']]]
]; ];

View File

@ -1,12 +1,4 @@
var searchData= var searchData=
[ [
['setdownloaderenabled',['setDownloaderEnabled',['../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee',1,'Updater']]], ['platformkey',['platformKey',['../d3/d1d/class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee',1,'Updater']]]
['setmodulename',['setModuleName',['../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3',1,'Updater']]],
['setmoduleversion',['setModuleVersion',['../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c',1,'Updater']]],
['setnotifyonfinish',['setNotifyOnFinish',['../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc',1,'Updater']]],
['setnotifyonupdate',['setNotifyOnUpdate',['../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00',1,'Updater']]],
['setplatformkey',['setPlatformKey',['../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8',1,'Updater']]],
['seturl',['setUrl',['../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa',1,'Updater']]],
['setusecustominstallprocedures',['setUseCustomInstallProcedures',['../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285',1,'Downloader::setUseCustomInstallProcedures()'],['../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60',1,'Updater::setUseCustomInstallProcedures()']]],
['startdownload',['startDownload',['../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379',1,'Downloader']]]
]; ];

View File

@ -1,6 +1,12 @@
var searchData= var searchData=
[ [
['updateavailable',['updateAvailable',['../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35',1,'Updater']]], ['setdownloaderenabled',['setDownloaderEnabled',['../d3/d1d/class_updater.html#a46d6db0d853ed8400a1725df436812ee',1,'Updater::setDownloaderEnabled()'],['../d0/d80/class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2',1,'QSimpleUpdater::setDownloaderEnabled()']]],
['url',['url',['../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d',1,'Updater']]], ['setmodulename',['setModuleName',['../d3/d1d/class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3',1,'Updater::setModuleName()'],['../d0/d80/class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe',1,'QSimpleUpdater::setModuleName()']]],
['usecustominstallprocedures',['useCustomInstallProcedures',['../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c',1,'Downloader::useCustomInstallProcedures()'],['../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5',1,'Updater::useCustomInstallProcedures()']]] ['setmoduleversion',['setModuleVersion',['../d3/d1d/class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c',1,'Updater::setModuleVersion()'],['../d0/d80/class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919',1,'QSimpleUpdater::setModuleVersion()']]],
['setnotifyonfinish',['setNotifyOnFinish',['../d3/d1d/class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc',1,'Updater::setNotifyOnFinish()'],['../d0/d80/class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2',1,'QSimpleUpdater::setNotifyOnFinish()']]],
['setnotifyonupdate',['setNotifyOnUpdate',['../d3/d1d/class_updater.html#ad88b597bf4ae11a65a9c87171239ed00',1,'Updater::setNotifyOnUpdate()'],['../d0/d80/class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00',1,'QSimpleUpdater::setNotifyOnUpdate()']]],
['setplatformkey',['setPlatformKey',['../d3/d1d/class_updater.html#a840a6b061590901eae3255ba74ff7ad8',1,'Updater::setPlatformKey()'],['../d0/d80/class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8',1,'QSimpleUpdater::setPlatformKey()']]],
['seturl',['setUrl',['../d3/d1d/class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa',1,'Updater']]],
['setusecustominstallprocedures',['setUseCustomInstallProcedures',['../de/dc0/class_downloader.html#a26a4f889029c63c11f679284397a3285',1,'Downloader::setUseCustomInstallProcedures()'],['../d3/d1d/class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60',1,'Updater::setUseCustomInstallProcedures()'],['../d0/d80/class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515',1,'QSimpleUpdater::setUseCustomInstallProcedures()']]],
['startdownload',['startDownload',['../de/dc0/class_downloader.html#a7f81027436d44ca52168b30a6eb0d379',1,'Downloader']]]
]; ];

View File

@ -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.11"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_8.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>

View File

@ -0,0 +1,7 @@
var searchData=
[
['updateavailable',['updateAvailable',['../d3/d1d/class_updater.html#aec889d582692cb41875ea803db3feb35',1,'Updater']]],
['url',['url',['../d3/d1d/class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d',1,'Updater']]],
['usecustominstallprocedures',['useCustomInstallProcedures',['../de/dc0/class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c',1,'Downloader::useCustomInstallProcedures()'],['../d3/d1d/class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5',1,'Updater::useCustomInstallProcedures()']]],
['usescustominstallprocedures',['usesCustomInstallProcedures',['../d0/d80/class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87',1,'QSimpleUpdater']]]
];

View File

@ -1,8 +1,8 @@
var indexSectionsWithContent = var indexSectionsWithContent =
{ {
0: "cdilmnpsu", 0: "cdgilmnpqsu",
1: "du", 1: "dqu",
2: "cdlmnpsu", 2: "cdglmnpsu",
3: "i" 3: "i"
}; };

View File

@ -35,238 +35,71 @@
#include <QObject> #include <QObject>
#if defined (QSU_SHARED) #if defined (QSU_SHARED)
# define QSU_DECL Q_DECL_EXPORT #define QSU_DECL Q_DECL_EXPORT
#elif defined (QSU_IMPORT) #elif defined (QSU_IMPORT)
# define QSU_DECL Q_DECL_IMPORT #define QSU_DECL Q_DECL_IMPORT
#else #else
# define QSU_DECL #define QSU_DECL
#endif #endif
class Updater; class Updater;
/// /**
/// Project homepage: http://qsimpleupdater.sf.net/ * \brief Manages the updater instances
/// Code repository: http://github.com/alex-spataru/qsimpleupdater *
/// * The \c QSimpleUpdater class manages the updater system and allows for
/// The \c QSimpleUpdater class manages the updater system and allows for * parallel application modules to check for updates and download them.
/// parallel application modules to check for updates and download them. *
/// * The behavior of each updater can be regulated by specifying the update
/// The behavior of each updater can be regulated by specifying the update * definitions URL (from where we download the individual update definitions)
/// definitions URL (from where we download the individual update definitions) * and defining the desired options by calling the individual "setter"
/// and defining the desired options by calling the individual "setter" * functions (e.g. \c setNotifyOnUpdate()).
/// functions (e.g. \c setNotifyOnUpdate()). *
/// * The \c QSimpleUpdater also implements an integrated downloader.
/// The \c QSimpleUpdater also implements an integrated downloader. * If you need to use a custom install procedure/code, just create a function
/// If you need to use a custom install procedure/code, just create a function * that is called when the \c downloadFinished() signal is emitted to
/// that is called when the \c downloadFinished() signal is emitted to * implement your own install procedures.
/// implement your own install procedures. *
/// * By default, the downloader will try to open the file as if you opened it
/// By default, the downloader will try to open the file as if you opened it * from a file manager or a web browser (with the "file:*" url).
/// from a file manager or a web browser (with the "file:///" url). */
///
class QSU_DECL QSimpleUpdater : public QObject { class QSU_DECL QSimpleUpdater : public QObject {
Q_OBJECT Q_OBJECT
signals:
void checkingFinished (const QString& url);
void downloadFinished (const QString& url, const QString& filepath);
public: public:
///
/// Returns the only instance of the class
///
static QSimpleUpdater* getInstance(); static QSimpleUpdater* getInstance();
///
/// Returns \c true if the updater registered with the given \a url is set
/// to notify the user when it finds an available update.
///
bool getNotifyOnUpdate (const QString& url) const; bool getNotifyOnUpdate (const QString& url) const;
///
/// Returns \c true if the updater registered with the given \a url is set
/// to notify the user when it finishes checking for updates
///
bool getNotifyOnFinish (const QString& url) const; bool getNotifyOnFinish (const QString& url) const;
///
/// Returns \c true if the updater registered with the given \a url has an
/// update available.
///
/// \note you should call \c checkForUpdates() for this URL first in order
/// for this function to regurn a valid value
///
bool getUpdateAvailable (const QString& url) const; bool getUpdateAvailable (const QString& url) const;
///
/// Returns \c true if the downloader is enabled for the updater registered
/// with the given \a c url
///
bool getDownloaderEnabled (const QString& url) const; bool getDownloaderEnabled (const QString& url) const;
///
/// Returns the changelog of the updater instance with the given \c url.
///
QString getChangelog (const QString& url) const;
///
/// Returns the URL from where we can download the update
///
QString getDownloadUrl (const QString& url) const;
///
/// Returns the latest version online
///
QString getLatestVersion (const QString& url) const;
///
/// Returns the platform of the updater with the given \c url.
///
QString getPlatformKey (const QString& url) const;
///
/// Returns the application name registered for the given \c url.
///
QString getModuleName (const QString& url) const;
///
/// Returns the application version registered for the given \c url
///
QString getModuleVersion (const QString& url) const;
///
/// Returns \c true if the downloader will not attempt to install the
/// downloaded file.
///
/// This can be useful if you want to use the \c downloadFinished() signal
/// to implement your own install procedures.
///
bool usesCustomInstallProcedures (const QString& url) const; bool usesCustomInstallProcedures (const QString& url) const;
QString getChangelog (const QString& url) const;
QString getModuleName (const QString& url) const;
QString getDownloadUrl (const QString& url) const;
QString getPlatformKey (const QString& url) const;
QString getLatestVersion (const QString& url) const;
QString getModuleVersion (const QString& url) const;
public slots: public slots:
///
/// Checks for updates by downloading the update definitions file at the
/// given \a url.
///
/// You can have more than one updater running at the same time while the
/// \a url is different. Every updater instance will have its own set of
/// settings.
///
/// This can be used - for example - when having multiple shared modules
/// (e.g. plugins) that can be updated separately.
///
void checkForUpdates (const QString& url); void checkForUpdates (const QString& url);
///
/// Changes the platform key which we use to get version data and download
/// link in the appcast in the given \c url.
///
/// \note By default, the updater will use the name of the current operating
/// system as its platform key.
///
void setPlatformKey (const QString& url, const QString& platform);
///
/// Changes the application name to display in the notification messages
/// for the given appcast \a url.
///
/// This can be used - for example - when having multiple shared modules
/// (e.g. plugins) that can be updated separately.
///
/// \note By default, the updater will use the name given to the
/// \c QApplication during initialization of your application.
///
void setModuleName (const QString& url, const QString& name); void setModuleName (const QString& url, const QString& name);
///
/// Changes the application version to use when comparing the local and
/// remote application versions.
///
/// This can be used - for example - when having multiple shared modules
/// (e.g. plugins) that can be updated separately.
///
/// \note By default, the updater will use the version given to the
/// \c QApplication during initialization of your application.
///
void setModuleVersion (const QString& url, const QString& version);
///
/// If \c notify is set to true, the \c QSimpleUpdater will notify the user
/// when an update is available.
///
/// If \c notify is set to false, the \c QSimpleUpdater will not notify the
/// user when an update is available.
///
/// \note this feature is enabled by default
/// \note you should disable this feature if you are implementing your own
/// notification methods or update procedures in your application.
/// \note this function only changes the behavior for the updater registered
/// with the given \a url.
///
void setNotifyOnUpdate (const QString& url, const bool& notify); void setNotifyOnUpdate (const QString& url, const bool& notify);
///
/// If set to \c true, the updater will notify the user when it finishes
/// checking for updates (even where there are no updates available).
///
/// If set to \c false (default), the updater will only notify the user
/// when there is an update available (if setNotifyOnUpdate() is \c true).
///
/// You can enable this feature when the user triggers manually the updater
/// (e.g. by clicking on the "Check for Updates..." action on the menu).
///
/// \note this feature is disabled by default
/// \note you should disable this feature if you are implementing your own
/// notification methods or update procedures in your application.
/// \note this function only changes the behavior for the updater registered
/// with the given \a url.
///
void setNotifyOnFinish (const QString& url, const bool& notify); void setNotifyOnFinish (const QString& url, const bool& notify);
void setPlatformKey (const QString& url, const QString& platform);
/// void setModuleVersion (const QString& url, const QString& version);
/// If set to true, the updater will allow the user to choose whenever to
/// download the update directly from the application (instead of opening
/// the given download link through a browser).
///
/// \note this feature is enabled by default
/// \note you should disable this if you are implementing your own update
/// procedures in your application.
/// \note this function only changes the behavior for the updater registered
/// with the given \a url.
///
void setDownloaderEnabled (const QString& url, const bool& enabled); void setDownloaderEnabled (const QString& url, const bool& enabled);
///
/// If \c custom is set to true, then the Downloader will not attempt to
/// open or install the downloaded updates. This can be useful if you want
/// to implement your own install procedures using the \c downloadFinished()
/// signal.
///
void setUseCustomInstallProcedures (const QString& url, const bool& custom); void setUseCustomInstallProcedures (const QString& url, const bool& custom);
signals:
///
/// Emitted when the check for updates process finishes.
/// You can use this function if you are implementing your own notification
/// methods or download procedures.
///
/// \note use of this signal is not obligatory if you don't want
/// to show a custom notification or create your own downloader.
///
void checkingFinished (const QString& url);
///
/// Emitted when the download has finished.
/// You can use this to implement your own procedures to install the
/// downloaded updates.
///
void downloadFinished (const QString& url, const QString& filepath);
protected: protected:
~QSimpleUpdater(); ~QSimpleUpdater();
private: private:
///
/// Returns the updater object registered with the given \a url.
/// If an updater object with the given \a url is not found, then this
/// function will create it and configure it.
///
Updater* getUpdater (const QString& url) const; Updater* getUpdater (const QString& url) const;
}; };

View File

@ -1,30 +1,32 @@
/* /*
* (C) Copyright 2014 Alex Spataru * Copyright (c) 2014-2016 Alex Spataru <alex_spataru@outlook.com>
* *
* All rights reserved. This program and the accompanying materials * This file is part of the QSimpleUpdater library, which is released under
* are made available under the terms of the GNU Lesser General Public License * the DBAD license, you can read a copy of it below:
* (LGPL) version 2.1 which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-2.1.html
* *
* This library is distributed in the hope that it will be useful, * DON'T BE A DICK PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * DISTRIBUTION AND MODIFICATION:
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* *
* Do whatever you like with the original work, just don't be a dick.
* Being a dick includes - but is not limited to - the following instances:
*
* 1a. Outright copyright infringement - Don't just copy this and change the
* name.
* 1b. Selling the unmodified original with no work done what-so-ever, that's
* REALLY being a dick.
* 1c. Modifying the original work to contain hidden harmful content.
* That would make you a PROPER dick.
*
* If you become rich through modifications, related works/services, or
* supporting the original work, share the love.
* Only a dick would make loads off this work and not buy the original works
* creator(s) a pint.
*
* Code is provided with no warranty. Using somebody else's code and bitching
* when it goes wrong makes you a DONKEY dick.
* Fix the problem yourself. A non-dick would submit the fix back.
*/ */
//==============================================================================
// Class includes
//==============================================================================
#include "Downloader.h"
//==============================================================================
// System includes
//==============================================================================
#include <math.h>
#include <QDir> #include <QDir>
#include <QFile> #include <QFile>
#include <QProcess> #include <QProcess>
@ -33,9 +35,9 @@
#include <QDesktopServices> #include <QDesktopServices>
#include <QNetworkAccessManager> #include <QNetworkAccessManager>
//============================================================================== #include <math.h>
// Downloader::Downloader
//============================================================================== #include "Downloader.h"
Downloader::Downloader (QWidget* parent) : QWidget (parent) { Downloader::Downloader (QWidget* parent) : QWidget (parent) {
m_ui = new Ui::Downloader; m_ui = new Ui::Downloader;
@ -65,28 +67,24 @@ Downloader::Downloader (QWidget* parent) : QWidget (parent) {
setFixedSize (minimumSizeHint()); setFixedSize (minimumSizeHint());
} }
//==============================================================================
// Downloader::~Downloader
//==============================================================================
Downloader::~Downloader() { Downloader::~Downloader() {
delete m_ui; delete m_ui;
delete m_reply; delete m_reply;
delete m_manager; delete m_manager;
} }
//============================================================================== /**
// Downloader::useCustomInstallProcedures * Returns \c true if the updater shall not intervene when the download has
//============================================================================== * finished (you can use the \c QSimpleUpdater signals to know when the
* download is completed).
*/
bool Downloader::useCustomInstallProcedures() const { bool Downloader::useCustomInstallProcedures() const {
return m_useCustomProcedures; return m_useCustomProcedures;
} }
//============================================================================== /**
// Downloader::startDownload * Begins downloading the file at the given \a url
//============================================================================== */
void Downloader::startDownload (const QUrl& url) { void Downloader::startDownload (const QUrl& url) {
/* Reset UI */ /* Reset UI */
m_ui->progressBar->setValue (0); m_ui->progressBar->setValue (0);
@ -109,10 +107,11 @@ void Downloader::startDownload (const QUrl& url) {
showNormal(); showNormal();
} }
//============================================================================== /**
// Downloader::openDownload * Opens the downloaded file.
//============================================================================== * \note If the downloaded file is not found, then the function will alert the
* user about the error.
*/
void Downloader::openDownload() { void Downloader::openDownload() {
if (!m_filePath.isEmpty()) if (!m_filePath.isEmpty())
QDesktopServices::openUrl (QUrl::fromLocalFile (m_filePath)); QDesktopServices::openUrl (QUrl::fromLocalFile (m_filePath));
@ -125,10 +124,14 @@ void Downloader::openDownload() {
} }
} }
//============================================================================== /**
// Downloader::installUpdate * Instructs the OS to open the downloaded file.
//============================================================================== *
* \note If \c useCustomInstallProcedures() returns \c true, the function will
* not instruct the OS to open the downloaded file. You can use the
* signals fired by the \c QSimpleUpdater to install the update with your
* own implementations/code.
*/
void Downloader::installUpdate() { void Downloader::installUpdate() {
if (useCustomInstallProcedures()) if (useCustomInstallProcedures())
return; return;
@ -156,10 +159,10 @@ void Downloader::installUpdate() {
} }
} }
//============================================================================== /**
// Downloader::cancelDownload * Prompts the user if he/she wants to cancel the download and cancels the
//============================================================================== * download if the user agrees to do that.
*/
void Downloader::cancelDownload() { void Downloader::cancelDownload() {
if (!m_reply->isFinished()) { if (!m_reply->isFinished()) {
QMessageBox box; QMessageBox box;
@ -178,10 +181,14 @@ void Downloader::cancelDownload() {
hide(); hide();
} }
//============================================================================== /**
// Downloader::onDownloadFinished * Writes the downloaded data to a temp. directory and updates the UI controls.
//============================================================================== * \note If the function detects that the downloaded data is an HTML file
* (e.g. a redirection notice from the server), the function will add the
* *.html extension to the downloaded file. This ensures that the download
* will be resumed when the OS opens a web-browser with the redirection
* notice.
*/
void Downloader::onDownloadFinished() { void Downloader::onDownloadFinished() {
m_ui->stopButton->setText (tr ("Close")); m_ui->stopButton->setText (tr ("Close"));
m_ui->downloadLabel->setText (tr ("Download complete!")); m_ui->downloadLabel->setText (tr ("Download complete!"));
@ -213,10 +220,11 @@ void Downloader::onDownloadFinished() {
} }
} }
//============================================================================== /**
// Downloader::calculateSizes * Calculates the appropiate size units (bytes, KB or MB) for the received
//============================================================================== * data and the total download size. Then, this function proceeds to update the
* dialog controls/UI.
*/
void Downloader::calculateSizes (qint64 received, qint64 total) { void Downloader::calculateSizes (qint64 received, qint64 total) {
QString totalSize; QString totalSize;
QString receivedSize; QString receivedSize;
@ -244,10 +252,10 @@ void Downloader::calculateSizes (qint64 received, qint64 total) {
+ " " + totalSize + ")"); + " " + totalSize + ")");
} }
//============================================================================== /**
// Downloader::updateProgress * Uses the \a received and \a total parameters to get the download progress
//============================================================================== * and update the progressbar value on the dialog.
*/
void Downloader::updateProgress (qint64 received, qint64 total) { void Downloader::updateProgress (qint64 received, qint64 total) {
if (total > 0) { if (total > 0) {
m_ui->progressBar->setMinimum (0); m_ui->progressBar->setMinimum (0);
@ -269,16 +277,20 @@ void Downloader::updateProgress (qint64 received, qint64 total) {
} }
} }
//============================================================================== /**
// Downloader::calculateTimeRemaining * Uses two time samples (from the current time and a previous sample) to
//============================================================================== * calculate how many bytes have been downloaded.
*
* Then, this function proceeds to calculate the appropiate units of time
* (hours, minutes or seconds) and constructs a user-friendly string, which
* is displayed in the dialog.
*/
void Downloader::calculateTimeRemaining (qint64 received, qint64 total) { void Downloader::calculateTimeRemaining (qint64 received, qint64 total) {
uint difference = QDateTime::currentDateTime().toTime_t() - m_startTime; uint difference = QDateTime::currentDateTime().toTime_t() - m_startTime;
if (difference > 0) { if (difference > 0) {
QString timeString; QString timeString;
float timeRemaining = total / (received / difference); qreal timeRemaining = total / (received / difference);
if (timeRemaining > 7200) { if (timeRemaining > 7200) {
timeRemaining /= 3600; timeRemaining /= 3600;
@ -297,18 +309,20 @@ void Downloader::calculateTimeRemaining (qint64 received, qint64 total) {
} }
} }
//============================================================================== /**
// Downloader::round * Rounds the given \a input to two decimal places
//============================================================================== */
qreal Downloader::round (const qreal& input) {
float Downloader::round (const float& input) {
return roundf (input * 100) / 100; return roundf (input * 100) / 100;
} }
//============================================================================== /**
// Downloader::setUseCustomInstallProcedures * If the \a custom parameter is set to \c true, then the \c Downloader will not
//============================================================================== * attempt to open the downloaded file.
*
* Use the signals fired by the \c QSimpleUpdater to implement your own install
* procedures.
*/
void Downloader::setUseCustomInstallProcedures (const bool& custom) { void Downloader::setUseCustomInstallProcedures (const bool& custom) {
m_useCustomProcedures = custom; m_useCustomProcedures = custom;
} }

View File

@ -1,16 +1,30 @@
/* /*
* (C) Copyright 2014 Alex Spataru * Copyright (c) 2014-2016 Alex Spataru <alex_spataru@outlook.com>
* *
* All rights reserved. This program and the accompanying materials * This file is part of the QSimpleUpdater library, which is released under
* are made available under the terms of the GNU Lesser General Public License * the DBAD license, you can read a copy of it below:
* (LGPL) version 2.1 which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-2.1.html
* *
* This library is distributed in the hope that it will be useful, * DON'T BE A DICK PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * DISTRIBUTION AND MODIFICATION:
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* *
* Do whatever you like with the original work, just don't be a dick.
* Being a dick includes - but is not limited to - the following instances:
*
* 1a. Outright copyright infringement - Don't just copy this and change the
* name.
* 1b. Selling the unmodified original with no work done what-so-ever, that's
* REALLY being a dick.
* 1c. Modifying the original work to contain hidden harmful content.
* That would make you a PROPER dick.
*
* If you become rich through modifications, related works/services, or
* supporting the original work, share the love.
* Only a dick would make loads off this work and not buy the original works
* creator(s) a pint.
*
* Code is provided with no warranty. Using somebody else's code and bitching
* when it goes wrong makes you a DONKEY dick.
* Fix the problem yourself. A non-dick would submit the fix back.
*/ */
#ifndef DOWNLOAD_DIALOG_H #ifndef DOWNLOAD_DIALOG_H
@ -26,34 +40,23 @@ class Downloader;
class QNetworkReply; class QNetworkReply;
class QNetworkAccessManager; class QNetworkAccessManager;
/**
* \brief Implements an integrated file downloader with a nice UI
*/
class Downloader : public QWidget { class Downloader : public QWidget {
Q_OBJECT Q_OBJECT
signals:
void downloadFinished (const QString& url, const QString& filepath);
public: public:
explicit Downloader (QWidget* parent = 0); explicit Downloader (QWidget* parent = 0);
~Downloader(); ~Downloader();
///
/// Returns \c true if the downloader will not attempt to install the
/// downloaded file.
///
/// This can be useful if you want to use the \c downloadFinished() signal
/// to implement your own install procedures.
///
bool useCustomInstallProcedures() const; bool useCustomInstallProcedures() const;
public slots: public slots:
///
/// Begins downloading the update
///
void startDownload (const QUrl& url); void startDownload (const QUrl& url);
///
/// If \c custom is set to true, then the Downloader will not attempt to
/// open or install the downloaded updates. This can be useful if you want
/// to implement your own install procedures using the \c downloadFinished()
/// signal.
///
void setUseCustomInstallProcedures (const bool& custom); void setUseCustomInstallProcedures (const bool& custom);
private slots: private slots:
@ -66,18 +69,7 @@ class Downloader : public QWidget {
void calculateTimeRemaining (qint64 received, qint64 total); void calculateTimeRemaining (qint64 received, qint64 total);
private: private:
/// qreal round (const qreal& input);
/// Rounds the \a input to the nearest integer
///
float round (const float& input);
signals:
///
/// Emitted when the download has finished.
/// You can use this to implement your own procedures to install the
/// downloaded updates.
///
void downloadFinished (const QString& url, const QString& filepath);
private: private:
uint m_startTime; uint m_startTime;

View File

@ -27,200 +27,280 @@
* Fix the problem yourself. A non-dick would submit the fix back. * Fix the problem yourself. A non-dick would submit the fix back.
*/ */
//==============================================================================
// Class Includes
//==============================================================================
#include "Updater.h" #include "Updater.h"
#include "QSimpleUpdater.h" #include "QSimpleUpdater.h"
//==============================================================================
// Implementation hacks
//==============================================================================
static QList<QString> URLS; static QList<QString> URLS;
static QList<Updater*> UPDATERS; static QList<Updater*> UPDATERS;
//==============================================================================
// QSimpleUpdater::~QSimpleUpdater
//==============================================================================
QSimpleUpdater::~QSimpleUpdater() { QSimpleUpdater::~QSimpleUpdater() {
URLS.clear(); URLS.clear();
UPDATERS.clear(); UPDATERS.clear();
} }
//============================================================================== /**
// QSimpleUpdater::getInstance * Returns the only instance of the class
//============================================================================== */
QSimpleUpdater* QSimpleUpdater::getInstance() { QSimpleUpdater* QSimpleUpdater::getInstance() {
static QSimpleUpdater updater; static QSimpleUpdater updater;
return &updater; return &updater;
} }
//============================================================================== /**
// QSimpleUpdater::getNotifyOnUpdate * Returns \c true if the \c Updater instance registered with the given \a url
//============================================================================== * shall notify the user when an update is available.
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
bool QSimpleUpdater::getNotifyOnUpdate (const QString& url) const { bool QSimpleUpdater::getNotifyOnUpdate (const QString& url) const {
return getUpdater (url)->notifyOnUpdate(); return getUpdater (url)->notifyOnUpdate();
} }
//============================================================================== /**
// QSimpleUpdater::getNotifyOnFinish * Returns \c true if the \c Updater instance registered with the given \a url
//============================================================================== * shall notify the user when it finishes checking for updates.
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
bool QSimpleUpdater::getNotifyOnFinish (const QString& url) const { bool QSimpleUpdater::getNotifyOnFinish (const QString& url) const {
return getUpdater (url)->notifyOnFinish(); return getUpdater (url)->notifyOnFinish();
} }
//============================================================================== /**
// QSimpleUpdater::getUpdateAvailable * Returns \c true if the \c Updater instance registered with the given \a url
//============================================================================== * has an update available.
*
* \warning You should call \c checkForUpdates() before using this function
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
bool QSimpleUpdater::getUpdateAvailable (const QString& url) const { bool QSimpleUpdater::getUpdateAvailable (const QString& url) const {
return getUpdater (url)->updateAvailable(); return getUpdater (url)->updateAvailable();
} }
//============================================================================== /**
// QSimpleUpdater::getDownloaderEnabled * Returns \c true if the \c Updater instance registered with the given \a url
//============================================================================== * has the integrated downloader enabled.
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
bool QSimpleUpdater::getDownloaderEnabled (const QString& url) const { bool QSimpleUpdater::getDownloaderEnabled (const QString& url) const {
return getUpdater (url)->downloaderEnabled(); return getUpdater (url)->downloaderEnabled();
} }
//============================================================================== /**
// QSimpleUpdater::getChangelog * Returns \c true if the \c Updater instance registered with the given \a url
//============================================================================== * shall try to open the downloaded file.
*
QString QSimpleUpdater::getChangelog (const QString& url) const { * If you want to implement your own way to handle the downloaded file, just
return getUpdater (url)->changelog(); * bind to the \c downloadFinished() signal and disable the integrated
} * downloader with the \c setUseCustomInstallProcedures() function.
*
//============================================================================== * \note If an \c Updater instance registered with the given \a url is not
// QSimpleUpdater::getDownloadUrl * found, that \c Updater instance will be initialized automatically
//============================================================================== */
QString QSimpleUpdater::getDownloadUrl (const QString& url) const {
return getUpdater (url)->downloadUrl();
}
//==============================================================================
// QSimpleUpdater::getLatestVersion
//==============================================================================
QString QSimpleUpdater::getLatestVersion (const QString& url) const {
return getUpdater (url)->latestVersion();
}
//==============================================================================
// QSimpleUpdater::getPlatformKey
//==============================================================================
QString QSimpleUpdater::getPlatformKey (const QString& url) const {
return getUpdater (url)->platformKey();
}
//==============================================================================
// QSimpleUpdater::getModuleName
//==============================================================================
QString QSimpleUpdater::getModuleName (const QString& url) const {
return getUpdater (url)->moduleName();
}
//==============================================================================
// QSimpleUpdater::getModuleVersion
//==============================================================================
QString QSimpleUpdater::getModuleVersion (const QString& url) const {
return getUpdater (url)->moduleVersion();
}
//==============================================================================
// QSimpleUpdater::usesCustomInstallProcedures
//==============================================================================
bool QSimpleUpdater::usesCustomInstallProcedures (const QString& url) const { bool QSimpleUpdater::usesCustomInstallProcedures (const QString& url) const {
return getUpdater (url)->useCustomInstallProcedures(); return getUpdater (url)->useCustomInstallProcedures();
} }
//============================================================================== /**
// QSimpleUpdater::checkForUpdates * Returns the changelog of the \c Updater instance registered with the given
//============================================================================== * \a url.
*
* \warning You should call \c checkForUpdates() before using this function
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
QString QSimpleUpdater::getChangelog (const QString& url) const {
return getUpdater (url)->changelog();
}
/**
* Returns the module name of the \c Updater instance registered with the given
* \a url.
*
* \note If the module name is empty, then the \c Updater will use the
* application name as its module name.
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
QString QSimpleUpdater::getModuleName (const QString& url) const {
return getUpdater (url)->moduleName();
}
/**
* Returns the download URL of the \c Updater instance registered with the given
* \a url.
*
* \warning You should call \c checkForUpdates() before using this function
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
QString QSimpleUpdater::getDownloadUrl (const QString& url) const {
return getUpdater (url)->downloadUrl();
}
/**
* Returns the platform key of the \c Updater registered with the given \a url.
* If you do not define a platform key, the system will assign the following
* platform key:
* - On iOS: \c ios
* - On Mac OSX: \c osx
* - On Android: \c android
* - On GNU/Linux: \c linux
* - On Microsoft Windows: \c windows
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
QString QSimpleUpdater::getPlatformKey (const QString& url) const {
return getUpdater (url)->platformKey();
}
/**
* Returns the remote module version of the \c Updater instance registered with
* the given \a url.
*
* \warning You should call \c checkForUpdates() before using this function
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
QString QSimpleUpdater::getLatestVersion (const QString& url) const {
return getUpdater (url)->latestVersion();
}
/**
* Returns the module version of the \c Updater instance registered with the
* given \a url.
*
* \note If the module version is empty, then the \c Updater will use the
* application version as its module version.
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
QString QSimpleUpdater::getModuleVersion (const QString& url) const {
return getUpdater (url)->moduleVersion();
}
/**
* Instructs the \c Updater instance with the registered \c url to download and
* interpret the update definitions file.
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
void QSimpleUpdater::checkForUpdates (const QString& url) { void QSimpleUpdater::checkForUpdates (const QString& url) {
getUpdater (url)->checkForUpdates(); getUpdater (url)->checkForUpdates();
} }
//============================================================================== /**
// QSimpleUpdater::setPlatformKey * Changes the module \a name of the \c Updater instance registered at the
//============================================================================== * given \a url.
*
void QSimpleUpdater::setPlatformKey (const QString& url, * \note If an \c Updater instance registered with the given \a url is not
const QString& platform) { * found, that \c Updater instance will be initialized automatically
getUpdater (url)->setPlatformKey (platform); * \note The module name is used on the user prompts. If the module name is
} * empty, then the prompts will show the name of the application.
*/
//==============================================================================
// QSimpleUpdater::setModuleName
//==============================================================================
void QSimpleUpdater::setModuleName (const QString& url, const QString& name) { void QSimpleUpdater::setModuleName (const QString& url, const QString& name) {
getUpdater (url)->setModuleName (name); getUpdater (url)->setModuleName (name);
} }
//============================================================================== /**
// QSimpleUpdater::setModuleVersion * If \a notify is set to \c true, then the \c Updater instance registered with
//============================================================================== * the given \a url will notify the user when an update is available.
*
void QSimpleUpdater::setModuleVersion (const QString& url, * \note If an \c Updater instance registered with the given \a url is not
const QString& version) { * found, that \c Updater instance will be initialized automatically
getUpdater (url)->setModuleVersion (version); */
}
//==============================================================================
// QSimpleUpdater::setNotifyOnUpdate
//==============================================================================
void QSimpleUpdater::setNotifyOnUpdate (const QString& url, void QSimpleUpdater::setNotifyOnUpdate (const QString& url,
const bool& notify) { const bool& notify) {
getUpdater (url)->setNotifyOnUpdate (notify); getUpdater (url)->setNotifyOnUpdate (notify);
} }
//============================================================================== /**
// QSimpleUpdater::setNotifyOnFinish * If \a notify is set to \c true, then the \c Updater instance registered with
//============================================================================== * the given \a url will notify the user when it has finished interpreting the
* update definitions file.
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
void QSimpleUpdater::setNotifyOnFinish (const QString& url, void QSimpleUpdater::setNotifyOnFinish (const QString& url,
const bool& notify) { const bool& notify) {
getUpdater (url)->setNotifyOnFinish (notify); getUpdater (url)->setNotifyOnFinish (notify);
} }
//============================================================================== /**
// QSimpleUpdater::setDownloaderEnabled * Changes the platform key of the \c Updater isntance registered at the given
//============================================================================== * \a url.
*
* If the platform key is empty, then the system will use the following keys:
* - On iOS: \c ios
* - On Mac OSX: \c osx
* - On Android: \c android
* - On GNU/Linux: \c linux
* - On Microsoft Windows: \c windows
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
void QSimpleUpdater::setPlatformKey (const QString& url,
const QString& platform) {
getUpdater (url)->setPlatformKey (platform);
}
/**
* Changes the module \version of the \c Updater instance registered at the
* given \a url.
*
* \note The module version is used to compare it with the remove version.
* If the module name is empty, then the \c Updater instance will use the
* application version.
*/
void QSimpleUpdater::setModuleVersion (const QString& url,
const QString& version) {
getUpdater (url)->setModuleVersion (version);
}
/**
* If the \a enabled parameter is set to \c true, the \c Updater instance
* registered with the given \a url will open the integrated downloader
* if the user agrees to install the update (if any).
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
void QSimpleUpdater::setDownloaderEnabled (const QString& url, void QSimpleUpdater::setDownloaderEnabled (const QString& url,
const bool& enabled) { const bool& enabled) {
getUpdater (url)->setDownloaderEnabled (enabled); getUpdater (url)->setDownloaderEnabled (enabled);
} }
//============================================================================== /**
// QSimpleUpdater::setUseCustomInstallProcedures * If the \a custom parameter is set to \c true, the \c Updater instance
//============================================================================== * registered with the given \a url will not try to open the downloaded file.
*
* If you want to implement your own way to handle the downloaded file, just
* bind to the \c downloadFinished() signal and disable the integrated
* downloader with the \c setUseCustomInstallProcedures() function.
*
* \note If an \c Updater instance registered with the given \a url is not
* found, that \c Updater instance will be initialized automatically
*/
void QSimpleUpdater::setUseCustomInstallProcedures (const QString& url, void QSimpleUpdater::setUseCustomInstallProcedures (const QString& url,
const bool& custom) { const bool& custom) {
getUpdater (url)->setUseCustomInstallProcedures (custom); getUpdater (url)->setUseCustomInstallProcedures (custom);
} }
//============================================================================== /**
// QSimpleUpdater::getUpdater * Returns the \c Updater instance registered with the given \a url.
//============================================================================== *
* If an \c Updater instance registered with teh given \a url does not exist,
* this function will create it and configure it automatically.
*/
Updater* QSimpleUpdater::getUpdater (const QString& url) const { Updater* QSimpleUpdater::getUpdater (const QString& url) const {
if (!URLS.contains (url)) { if (!URLS.contains (url)) {
Updater* updater = new Updater; Updater* updater = new Updater;

View File

@ -27,17 +27,6 @@
* Fix the problem yourself. A non-dick would submit the fix back. * Fix the problem yourself. A non-dick would submit the fix back.
*/ */
//==============================================================================
// Class includes
//==============================================================================
#include "Updater.h"
#include "Downloader.h"
//==============================================================================
// System includes
//==============================================================================
#include <QJsonValue> #include <QJsonValue>
#include <QJsonObject> #include <QJsonObject>
#include <QMessageBox> #include <QMessageBox>
@ -45,9 +34,8 @@
#include <QJsonDocument> #include <QJsonDocument>
#include <QDesktopServices> #include <QDesktopServices>
//============================================================================== #include "Updater.h"
// Updater::Updater #include "Downloader.h"
//==============================================================================
Updater::Updater() { Updater::Updater() {
m_url = ""; m_url = "";
@ -83,186 +71,198 @@ Updater::Updater() {
this, SLOT (onReply (QNetworkReply*))); this, SLOT (onReply (QNetworkReply*)));
} }
//==============================================================================
// Updater::~Updater
//==============================================================================
Updater::~Updater() { Updater::~Updater() {
delete m_downloader; delete m_downloader;
} }
//============================================================================== /**
// Updater::url * Returns the URL of the update definitions file
//============================================================================== */
QString Updater::url() const { QString Updater::url() const {
return m_url; return m_url;
} }
//============================================================================== /**
// Updater::platformKey * Returns the changelog defined by the update definitions file.
//============================================================================== * \warning You should call \c checkForUpdates() before using this function
*/
QString Updater::platformKey() const {
return m_platform;
}
//==============================================================================
// Updater::notifyOnUpdate
//==============================================================================
bool Updater::notifyOnUpdate() const {
return m_notifyOnUpdate;
}
//==============================================================================
// Updater::notifyOnFinish
//==============================================================================
bool Updater::notifyOnFinish() const {
return m_notifyOnFinish;
}
//==============================================================================
// Updater::updateAvailable
//==============================================================================
bool Updater::updateAvailable() const {
return m_updateAvailable;
}
//==============================================================================
// Updater::downloaderEnabled
//==============================================================================
bool Updater::downloaderEnabled() const {
return m_downloaderEnabled;
}
//==============================================================================
// Updater::m_changelog
//==============================================================================
QString Updater::changelog() const { QString Updater::changelog() const {
return m_changelog; return m_changelog;
} }
//============================================================================== /**
// Updater::downloadUrl * Returns the name of the module (if defined)
//============================================================================== */
QString Updater::downloadUrl() const {
return m_downloadUrl;
}
//==============================================================================
// Updater::latestVersion
//==============================================================================
QString Updater::latestVersion() const {
return m_latestVersion;
}
//==============================================================================
// Updater::moduleName
//==============================================================================
QString Updater::moduleName() const { QString Updater::moduleName() const {
return m_moduleName; return m_moduleName;
} }
//============================================================================== /**
// Updater::moduleVersion * Returns the platform key (be it system-set or user-set).
//============================================================================== * If you do not define a platform key, the system will assign the following
* platform key:
* - On iOS: \c ios
* - On Mac OSX: \c osx
* - On Android: \c android
* - On GNU/Linux: \c linux
* - On Microsoft Windows: \c windows
*/
QString Updater::platformKey() const {
return m_platform;
}
/**
* Returns the download URL defined by the update definitions file.
* \warning You should call \c checkForUpdates() before using this function
*/
QString Updater::downloadUrl() const {
return m_downloadUrl;
}
/**
* Returns the latest version defined by the update definitions file.
* \warning You should call \c checkForUpdates() before using this function
*/
QString Updater::latestVersion() const {
return m_latestVersion;
}
/**
* Returns the "local" version of the installed module
*/
QString Updater::moduleVersion() const { QString Updater::moduleVersion() const {
return m_moduleVersion; return m_moduleVersion;
} }
//============================================================================== /**
// Updater::useCustomInstallProcedures * Returns \c true if the updater should notify the user when an update is
//============================================================================== * available.
*/
bool Updater::notifyOnUpdate() const {
return m_notifyOnUpdate;
}
/**
* Returns \c true if the updater should notify the user when it finishes
* checking for updates.
*
* \note If set to \c true, the \c Updater will notify the user even when there
* are no updates available (by congratulating him/her about being smart)
*/
bool Updater::notifyOnFinish() const {
return m_notifyOnFinish;
}
/**
* Returns \c true if there is an update available.
* \warning You should call \c checkForUpdates() before using this function
*/
bool Updater::updateAvailable() const {
return m_updateAvailable;
}
/**
* Returns \c true if the integrated downloader is enabled.
* \note If set to \c true, the \c Updater will open the downloader dialog if
* the user agrees to download the update.
*/
bool Updater::downloaderEnabled() const {
return m_downloaderEnabled;
}
/**
* Returns \c true if the updater shall not intervene when the download has
* finished (you can use the \c QSimpleUpdater signals to know when the
* download is completed).
*/
bool Updater::useCustomInstallProcedures() const { bool Updater::useCustomInstallProcedures() const {
return m_downloader->useCustomInstallProcedures(); return m_downloader->useCustomInstallProcedures();
} }
//============================================================================== /**
// Updater::checkForUpdates * Downloads and interpets the update definitions file referenced by the
//============================================================================== * \c url() function.
*/
void Updater::checkForUpdates() { void Updater::checkForUpdates() {
m_manager->get (QNetworkRequest (url())); m_manager->get (QNetworkRequest (url()));
} }
//============================================================================== /**
// Updater::setUrl * Changes the \c url in which the \c Updater can find the update definitions
//============================================================================== * file.
*/
void Updater::setUrl (const QString& url) { void Updater::setUrl (const QString& url) {
m_url = url; m_url = url;
} }
//============================================================================== /**
// Updater::setNotifyOnUpdate * Changes the module \a name.
//============================================================================== * \note The module name is used on the user prompts. If the module name is
* empty, then the prompts will show the name of the application.
void Updater::setNotifyOnUpdate (const bool& notify) { */
m_notifyOnUpdate = notify;
}
//==============================================================================
// Updater::setNotifyOnFinish
//==============================================================================
void Updater::setNotifyOnFinish (const bool& notify) {
m_notifyOnFinish = notify;
}
//==============================================================================
// Updater::setPlatformKey
//==============================================================================
void Updater::setPlatformKey (const QString& platformKey) {
m_platform = platformKey;
}
//==============================================================================
// Updater::setModuleName
//==============================================================================
void Updater::setModuleName (const QString& name) { void Updater::setModuleName (const QString& name) {
m_moduleName = name; m_moduleName = name;
} }
//============================================================================== /**
// Updater::setDownloaderEnabled * If \a notify is set to \c true, then the \c Updater will notify the user
//============================================================================== * when an update is available.
*/
void Updater::setDownloaderEnabled (const bool& enabled) { void Updater::setNotifyOnUpdate (const bool& notify) {
m_downloaderEnabled = enabled; m_notifyOnUpdate = notify;
} }
//============================================================================== /**
// Updater::setUseCustomInstallProcedures * If \a notify is set to \c true, then the \c Updater will notify the user
//============================================================================== * when it has finished interpreting the update definitions file.
*/
void Updater::setUseCustomInstallProcedures (const bool& custom) { void Updater::setNotifyOnFinish (const bool& notify) {
m_downloader->setUseCustomInstallProcedures (custom); m_notifyOnFinish = notify;
} }
//============================================================================== /**
// Updater::setModuleVersion * Changes the module \a version
//============================================================================== * \note The module version is used to compare the local and remote versions.
* If the \a version parameter is empty, then the \c Updater will use the
* application version (referenced by \c qApp)
*/
void Updater::setModuleVersion (const QString& version) { void Updater::setModuleVersion (const QString& version) {
m_moduleVersion = version; m_moduleVersion = version;
} }
//============================================================================== /**
// Updater::onReply * If the \a enabled parameter is set to \c true, the \c Updater will open the
//============================================================================== * integrated downloader if the user agrees to install the update (if any)
*/
void Updater::setDownloaderEnabled (const bool& enabled) {
m_downloaderEnabled = enabled;
}
/**
* Changes the platform key.
* If the platform key is empty, then the system will use the following keys:
* - On iOS: \c ios
* - On Mac OSX: \c osx
* - On Android: \c android
* - On GNU/Linux: \c linux
* - On Microsoft Windows: \c windows
*/
void Updater::setPlatformKey (const QString& platformKey) {
m_platform = platformKey;
}
/**
* If the \a custom parameter is set to \c true, the \c Updater will not try
* to open the downloaded file. Use the signals fired by the \c QSimpleUpdater
* to install the update from the downloaded file by yourself.
*/
void Updater::setUseCustomInstallProcedures (const bool& custom) {
m_downloader->setUseCustomInstallProcedures (custom);
}
/**
* Called when the download of the update definitions file is finished.
*/
void Updater::onReply (QNetworkReply* reply) { void Updater::onReply (QNetworkReply* reply) {
if (reply->error() == QNetworkReply::NoError) { if (reply->error() == QNetworkReply::NoError) {
QJsonDocument document = QJsonDocument::fromJson (reply->readAll()); QJsonDocument document = QJsonDocument::fromJson (reply->readAll());
@ -284,10 +284,10 @@ void Updater::onReply (QNetworkReply* reply) {
emit checkingFinished (url()); emit checkingFinished (url());
} }
//============================================================================== /**
// Updater::setUpdateAvailable * Prompts the user based on the value of the \a available parameter and the
//============================================================================== * settings of this instance of the \c Updater class.
*/
void Updater::setUpdateAvailable (const bool& available) { void Updater::setUpdateAvailable (const bool& available) {
m_updateAvailable = available; m_updateAvailable = available;
@ -331,10 +331,12 @@ void Updater::setUpdateAvailable (const bool& available) {
} }
} }
//============================================================================== /**
// Updater::compare * Compares the two version strings (\a x and \a y).
//============================================================================== * - If \a x is greater than \y, this function returns \c true.
* - If \a y is greater than \x, this function returns \c false.
* - If both versions are the same, this function returns \c false.
*/
bool Updater::compare (const QString& x, const QString& y) { bool Updater::compare (const QString& x, const QString& y) {
QStringList versionsX = x.split ("."); QStringList versionsX = x.split (".");
QStringList versionsY = y.split ("."); QStringList versionsY = y.split (".");

View File

@ -39,190 +39,50 @@
class Downloader; class Downloader;
/// /**
/// The Updater class is in charge of downloading and analyzing * \brief Downloads and interprests the update definition file
/// the appcast and "reacting" based on the options given by the */
/// user/developer/application.
///
class QSU_DECL Updater : public QObject { class QSU_DECL Updater : public QObject {
Q_OBJECT Q_OBJECT
signals:
void checkingFinished (const QString& url);
void downloadFinished (const QString& url, const QString& filepath);
public: public:
Updater(); Updater();
~Updater(); ~Updater();
///
/// Returns the AppCast URL (from which we extract the update definitions)
///
QString url() const; QString url() const;
///
/// Returns the current platform key, which is used to differentiate the
/// different download links (and download versions) based on the current
/// operating system.
///
/// You can modify this value with the \c setPlatformKey() function
///
QString platformKey() const;
///
/// Returns \c true if the class is set to notify the user when an update
/// is found online. By default this value is set to \c true.
///
bool notifyOnUpdate() const;
///
/// Returns \c true if the class is set to notify the user when it finishes
/// checking for updates (even if there are no updates available).
/// By default this value is set to \c false.
///
bool notifyOnFinish() const;
///
/// Returns \c true if the updater found an updated version of the
/// application/module online.
///
bool updateAvailable() const;
///
/// Returns \c if the updater allows the integrated downloader to download
/// and install the update (if aplicable).
///
bool downloaderEnabled() const;
///
/// Returns the latest changelog
///
QString changelog() const; QString changelog() const;
QString moduleName() const;
///
/// Returns the URL from where we can download the update
///
QString downloadUrl() const; QString downloadUrl() const;
QString platformKey() const;
/// QString moduleVersion() const;
/// Returns the latest version online
///
QString latestVersion() const; QString latestVersion() const;
/// bool notifyOnUpdate() const;
/// Returns the application name, which can be set manually or bool notifyOnFinish() const;
/// automatically using the \c qApp->applicationName() function. bool updateAvailable() const;
/// bool downloaderEnabled() const;
QString moduleName() const;
///
/// Returns the application version, which can be set manually or
/// automatically using the \c qApp->applicationVersion() function.
///
QString moduleVersion() const;
///
/// Returns \c true if the downloader will not attempt to install the
/// downloaded file.
///
/// This can be useful if you want to use the \c downloadFinished() signal
/// to implement your own install procedures.
///
bool useCustomInstallProcedures() const; bool useCustomInstallProcedures() const;
public slots: public slots:
///
/// Downloads the update definitions file and analyzes it to determine the
/// latest version and the download links
///
void checkForUpdates(); void checkForUpdates();
///
/// Changes the \a url from where we download the update definitions
///
void setUrl (const QString& url); void setUrl (const QString& url);
///
/// If \c notify is set to true, the \c QSimpleUpdater will notify the user
/// when an update is available.
///
/// If \c notify is set to false, the \c QSimpleUpdater will not notify the
/// user when an update is available.
///
void setNotifyOnUpdate (const bool& notify);
///
/// If set to \c true, the updater will notify the user when it finishes
/// checking for updates (even where there are no updates available).
///
/// If set to \c false (default), the updater will only notify the user
/// when there is an update available (if setNotifyOnUpdate() is \c true).
///
void setNotifyOnFinish (const bool& notify);
///
/// Changes the name of the module, this can be useful in large applications
/// that only need to update certain components of them (e.g. plugins).
///
void setModuleName (const QString& name); void setModuleName (const QString& name);
void setNotifyOnUpdate (const bool& notify);
/// void setNotifyOnFinish (const bool& notify);
/// Changes the version of the module, this can be useful in large
/// applications that only need to update certain components of them
/// (e.g. plugins).
///
void setModuleVersion (const QString& version); void setModuleVersion (const QString& version);
///
/// If \a enabled is set to true, then the user will be able to download
/// and install updates directly from the application, without the need
/// of opening the download URL from a browser and manually installing
/// the update.
///
void setDownloaderEnabled (const bool& enabled); void setDownloaderEnabled (const bool& enabled);
///
/// Changes the platform key/id. This can be useful if the update depends
/// on more than the underlying operating system on which the application
/// runs.
///
void setPlatformKey (const QString& platformKey); void setPlatformKey (const QString& platformKey);
///
/// If \c custom is set to true, then the Downloader will not attempt to
/// open or install the downloaded updates. This can be useful if you want
/// to implement your own install procedures using the \c downloadFinished()
/// signal.
///
void setUseCustomInstallProcedures (const bool& custom); void setUseCustomInstallProcedures (const bool& custom);
signals:
///
/// Emitted when the download definitions have been downloaded and analyzed.
///
void checkingFinished (const QString& url);
///
/// Emitted when the download has finished.
/// You can use this to implement your own procedures to install the
/// downloaded updates.
///
void downloadFinished (const QString& url, const QString& filepath);
private slots: private slots:
///
/// Reads and analyzes the downloaded update definition.
///
void onReply (QNetworkReply* reply); void onReply (QNetworkReply* reply);
///
/// Changes the appropiate internal values, shows notifications (if allowed)
/// and (if allowed) initializes the internal downloader.
///
void setUpdateAvailable (const bool& available); void setUpdateAvailable (const bool& available);
private: private:
///
/// Returns \c true if version \a x is greater than version \a y.
/// This is used to determine if the online version is greater than the
/// installed version of the module.
///
bool compare (const QString& x, const QString& y); bool compare (const QString& x, const QString& y);
private: private: