<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openPilotLog: ADatabase 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="custom_dark_theme.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_main.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">openPilotLog
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_a_database.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- 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 class="header">
  <div class="summary">
<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="#pub-attribs">Public Attributes</a> &#124;
<a href="class_a_database-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ADatabase Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The DB class encapsulates the SQL database by providing fast access to hot database data.  
 <a href="class_a_database.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="adatabase_8h_source.html">adatabase.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ADatabase:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_a_database.png" alt=""/>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
Signals</h2></td></tr>
<tr class="memitem:a5ed8c010ccc022687ce903cfde8ae911"><td class="memItemLeft" align="right" valign="top"><a id="a5ed8c010ccc022687ce903cfde8ae911"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5ed8c010ccc022687ce903cfde8ae911">dataBaseUpdated</a> ()</td></tr>
<tr class="memdesc:a5ed8c010ccc022687ce903cfde8ae911"><td class="mdescLeft">&#160;</td><td class="mdescRight">updated is emitted whenever the database contents have been updated. This can be either a commit, update or remove. This signal should be used to trigger an update to the models of the views displaying database contents in the user interface so that a user is always presented with up-to-date information. <br /></td></tr>
<tr class="separator:a5ed8c010ccc022687ce903cfde8ae911"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="memItemLeft" align="right" valign="top"><a id="a0f0bffbb6cdd79975b7b5ca6c0db31a7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0f0bffbb6cdd79975b7b5ca6c0db31a7">connectionReset</a> ()</td></tr>
<tr class="memdesc:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">connectionReset is emitted whenever the database connection is reset, for example when creating or restoring a backup. <br /></td></tr>
<tr class="separator:a0f0bffbb6cdd79975b7b5ca6c0db31a7"><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:aad08b473425d508107bc6c872cb53334"><td class="memItemLeft" align="right" valign="top"><a id="aad08b473425d508107bc6c872cb53334"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ADatabase</b> (const <a class="el" href="class_a_database.html">ADatabase</a> &amp;)=delete</td></tr>
<tr class="separator:aad08b473425d508107bc6c872cb53334"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c3e1c6b74a9e92f26f7118a6a130a64"><td class="memItemLeft" align="right" valign="top"><a id="a3c3e1c6b74a9e92f26f7118a6a130a64"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="class_a_database.html">ADatabase</a> &amp;)=delete</td></tr>
<tr class="separator:a3c3e1c6b74a9e92f26f7118a6a130a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c026e7784b03fc5822077c7d0071330"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330">dbRevision</a> () const</td></tr>
<tr class="memdesc:a1c026e7784b03fc5822077c7d0071330"><td class="mdescLeft">&#160;</td><td class="mdescRight">dbRevision returns the database Revision Number. The Revision refers to what iteration of the database layout is used. For the sqlite version of the database refer to <a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns the database sqlite version. See also dbRevision()">sqliteVersion()</a>  <a href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330">More...</a><br /></td></tr>
<tr class="separator:a1c026e7784b03fc5822077c7d0071330"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f0df6cc04e6d9b563db874a989ebc61"><td class="memItemLeft" align="right" valign="top"><a id="a4f0df6cc04e6d9b563db874a989ebc61"></a>
TableNames_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4f0df6cc04e6d9b563db874a989ebc61">getTableNames</a> () const</td></tr>
<tr class="memdesc:a4f0df6cc04e6d9b563db874a989ebc61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the names of all tables in the database. <br /></td></tr>
<tr class="separator:a4f0df6cc04e6d9b563db874a989ebc61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad977866124a3c7f7184e165c02a68931"><td class="memItemLeft" align="right" valign="top"><a id="ad977866124a3c7f7184e165c02a68931"></a>
ColumnNames_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ad977866124a3c7f7184e165c02a68931">getTableColumns</a> (TableName_T table_name) const</td></tr>
<tr class="memdesc:ad977866124a3c7f7184e165c02a68931"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the names of a given table in the database. <br /></td></tr>
<tr class="separator:ad977866124a3c7f7184e165c02a68931"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c0fdc84000ad397d61f0efabd032194"><td class="memItemLeft" align="right" valign="top"><a id="a3c0fdc84000ad397d61f0efabd032194"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a3c0fdc84000ad397d61f0efabd032194">updateLayout</a> ()</td></tr>
<tr class="memdesc:a3c0fdc84000ad397d61f0efabd032194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the member variables tableNames and tableColumns with up-to-date layout information if the database has been altered. This function is normally only required during database setup or maintenance. <br /></td></tr>
<tr class="separator:a3c0fdc84000ad397d61f0efabd032194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a491415273a771dd7ea41452c331a34b0"><td class="memItemLeft" align="right" valign="top">const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">sqliteVersion</a> () const</td></tr>
<tr class="memdesc:a491415273a771dd7ea41452c331a34b0"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns the database sqlite version. See also dbRevision()">ADatabase::sqliteVersion</a> returns the database sqlite version. See also <a class="el" href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330" title="dbRevision returns the database Revision Number. The Revision refers to what iteration of the databas...">dbRevision()</a>  <a href="class_a_database.html#a491415273a771dd7ea41452c331a34b0">More...</a><br /></td></tr>
<tr class="separator:a491415273a771dd7ea41452c331a34b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6080200aa3f229251480bc416755fed"><td class="memItemLeft" align="right" valign="top"><a id="aa6080200aa3f229251480bc416755fed"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#aa6080200aa3f229251480bc416755fed">connect</a> ()</td></tr>
<tr class="memdesc:aa6080200aa3f229251480bc416755fed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the database and populate database information. <br /></td></tr>
<tr class="separator:aa6080200aa3f229251480bc416755fed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc461aaa66304ca638e546f67a694935"><td class="memItemLeft" align="right" valign="top"><a id="abc461aaa66304ca638e546f67a694935"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#abc461aaa66304ca638e546f67a694935">disconnect</a> ()</td></tr>
<tr class="memdesc:abc461aaa66304ca638e546f67a694935"><td class="mdescLeft">&#160;</td><td class="mdescRight">closes the database connection. <br /></td></tr>
<tr class="separator:abc461aaa66304ca638e546f67a694935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="memItemLeft" align="right" valign="top">QVector&lt; QVariant &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">customQuery</a> (QString statement, int return_values)</td></tr>
<tr class="memdesc:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be used to send a complex query to the database.  <a href="class_a_database.html#a2a43936d3ae28993f9f7eda0fdf4664d">More...</a><br /></td></tr>
<tr class="separator:a2a43936d3ae28993f9f7eda0fdf4664d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24f938e4c8d20afddb5e5651e041a7a6"><td class="memItemLeft" align="right" valign="top"><a id="a24f938e4c8d20afddb5e5651e041a7a6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a24f938e4c8d20afddb5e5651e041a7a6">exists</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr>
<tr class="memdesc:a24f938e4c8d20afddb5e5651e041a7a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if an entry exists in the database, based on position data. <br /></td></tr>
<tr class="separator:a24f938e4c8d20afddb5e5651e041a7a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22ce31ddea49c144d85c05658f49fec5"><td class="memItemLeft" align="right" valign="top"><a id="a22ce31ddea49c144d85c05658f49fec5"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>exists</b> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
<tr class="separator:a22ce31ddea49c144d85c05658f49fec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a652472c747c0ce68940b17c9c23666dd"><td class="memItemLeft" align="right" valign="top"><a id="a652472c747c0ce68940b17c9c23666dd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a652472c747c0ce68940b17c9c23666dd">commit</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr>
<tr class="memdesc:a652472c747c0ce68940b17c9c23666dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">commits an entry to the database, calls either insert or update, based on position data <br /></td></tr>
<tr class="separator:a652472c747c0ce68940b17c9c23666dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="memItemLeft" align="right" valign="top"><a id="a4ecb6d0c9b3813c90b3165c993e69ad5"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4ecb6d0c9b3813c90b3165c993e69ad5">insert</a> (<a class="el" href="class_a_entry.html">AEntry</a> new_entry)</td></tr>
<tr class="memdesc:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new entry in the databse based on UserInput. <br /></td></tr>
<tr class="separator:a4ecb6d0c9b3813c90b3165c993e69ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a910bc0c1717e9301911343c082aa1aaa"><td class="memItemLeft" align="right" valign="top"><a id="a910bc0c1717e9301911343c082aa1aaa"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a910bc0c1717e9301911343c082aa1aaa">update</a> (<a class="el" href="class_a_entry.html">AEntry</a> updated_entry)</td></tr>
<tr class="memdesc:a910bc0c1717e9301911343c082aa1aaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates entry in database from existing entry tweaked by the user. <br /></td></tr>
<tr class="separator:a910bc0c1717e9301911343c082aa1aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4903909a28daed708e1a335d3be4f57b"><td class="memItemLeft" align="right" valign="top"><a id="a4903909a28daed708e1a335d3be4f57b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4903909a28daed708e1a335d3be4f57b">remove</a> (<a class="el" href="class_a_entry.html">AEntry</a> entry)</td></tr>
<tr class="memdesc:a4903909a28daed708e1a335d3be4f57b"><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes an entry from the database. <br /></td></tr>
<tr class="separator:a4903909a28daed708e1a335d3be4f57b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a863d30e9e3a7c14adfe72787363618c8"><td class="memItemLeft" align="right" valign="top"><a id="a863d30e9e3a7c14adfe72787363618c8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a863d30e9e3a7c14adfe72787363618c8">removeMany</a> (QList&lt; <a class="el" href="struct_data_position.html">DataPosition</a> &gt;)</td></tr>
<tr class="memdesc:a863d30e9e3a7c14adfe72787363618c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">deletes a list of entries from the database. Optimised for speed when deleting many entries. <br /></td></tr>
<tr class="separator:a863d30e9e3a7c14adfe72787363618c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc39f6136fc822e0649964fa22b84bf9"><td class="memItemLeft" align="right" valign="top"><a id="afc39f6136fc822e0649964fa22b84bf9"></a>
RowData_T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#afc39f6136fc822e0649964fa22b84bf9">getEntryData</a> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
<tr class="memdesc:afc39f6136fc822e0649964fa22b84bf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreive entry data from the database to create an entry object <br /></td></tr>
<tr class="separator:afc39f6136fc822e0649964fa22b84bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8959b406b97d9520981890d92850b1ba"><td class="memItemLeft" align="right" valign="top"><a id="a8959b406b97d9520981890d92850b1ba"></a>
<a class="el" href="class_a_entry.html">AEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a8959b406b97d9520981890d92850b1ba">getEntry</a> (<a class="el" href="struct_data_position.html">DataPosition</a> data_position)</td></tr>
<tr class="memdesc:a8959b406b97d9520981890d92850b1ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreive an Entry from the database. <br /></td></tr>
<tr class="separator:a8959b406b97d9520981890d92850b1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a426026d641a594863995ec5db8312259"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a426026d641a594863995ec5db8312259">getPilotEntry</a> (RowId_T row_id)</td></tr>
<tr class="memdesc:a426026d641a594863995ec5db8312259"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a PilotEntry from the database.  <a href="class_a_database.html#a426026d641a594863995ec5db8312259">More...</a><br /></td></tr>
<tr class="separator:a426026d641a594863995ec5db8312259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a356df159542705635dc3898d90682039"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a356df159542705635dc3898d90682039">getTailEntry</a> (RowId_T row_id)</td></tr>
<tr class="memdesc:a356df159542705635dc3898d90682039"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a TailEntry from the database.  <a href="class_a_database.html#a356df159542705635dc3898d90682039">More...</a><br /></td></tr>
<tr class="separator:a356df159542705635dc3898d90682039"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0a3c9273431195df6295b9da24b3a3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">getAircraftEntry</a> (RowId_T row_id)</td></tr>
<tr class="memdesc:ae0a3c9273431195df6295b9da24b3a3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a TailEntry from the database.  <a href="class_a_database.html#ae0a3c9273431195df6295b9da24b3a3a">More...</a><br /></td></tr>
<tr class="separator:ae0a3c9273431195df6295b9da24b3a3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bb44738362582e4f54f68e3aa30d40a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">getFlightEntry</a> (RowId_T row_id)</td></tr>
<tr class="memdesc:a7bb44738362582e4f54f68e3aa30d40a"><td class="mdescLeft">&#160;</td><td class="mdescRight">retreives a flight entry from the database.  <a href="class_a_database.html#a7bb44738362582e4f54f68e3aa30d40a">More...</a><br /></td></tr>
<tr class="separator:a7bb44738362582e4f54f68e3aa30d40a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5abdf1f35468f788609252c7a3be7bc4"><td class="memItemLeft" align="right" valign="top"><a id="a5abdf1f35468f788609252c7a3be7bc4"></a>
<a class="el" href="struct_a_currency_entry.html">ACurrencyEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5abdf1f35468f788609252c7a3be7bc4">getCurrencyEntry</a> (ACurrencyEntry::CurrencyName currency_name)</td></tr>
<tr class="memdesc:a5abdf1f35468f788609252c7a3be7bc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retreives a currency entry from the database. <br /></td></tr>
<tr class="separator:a5abdf1f35468f788609252c7a3be7bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89de409c1828125363f46f384df47359"><td class="memItemLeft" align="right" valign="top"><a id="a89de409c1828125363f46f384df47359"></a>
const QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a89de409c1828125363f46f384df47359">getCompletionList</a> (ADatabaseTarget target)</td></tr>
<tr class="memdesc:a89de409c1828125363f46f384df47359"><td class="mdescLeft">&#160;</td><td class="mdescRight">getCompletionList returns a QStringList of values for a QCompleter based on database values <br /></td></tr>
<tr class="separator:a89de409c1828125363f46f384df47359"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dba46567089112b28b16aaf985af0ba"><td class="memItemLeft" align="right" valign="top">const QMap&lt; QString, RowId_T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">getIdMap</a> (ADatabaseTarget target)</td></tr>
<tr class="memdesc:a5dba46567089112b28b16aaf985af0ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a QMap&lt;QString, RowId_t&gt; of a human-readable database value and its row id. Used in the Dialogs to map user input to unique database entries.  <a href="class_a_database.html#a5dba46567089112b28b16aaf985af0ba">More...</a><br /></td></tr>
<tr class="separator:a5dba46567089112b28b16aaf985af0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a264fea56cd3fbc31463c587f196ce576"><td class="memItemLeft" align="right" valign="top"><a id="a264fea56cd3fbc31463c587f196ce576"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a264fea56cd3fbc31463c587f196ce576">getLastEntry</a> (ADatabaseTarget target)</td></tr>
<tr class="memdesc:a264fea56cd3fbc31463c587f196ce576"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the ROWID for the newest entry in the respective database. <br /></td></tr>
<tr class="separator:a264fea56cd3fbc31463c587f196ce576"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="memItemLeft" align="right" valign="top"><a id="a6006c47c82b2c72f7ab6b5cc319c5fbf"></a>
QList&lt; RowId_T &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a6006c47c82b2c72f7ab6b5cc319c5fbf">getForeignKeyConstraints</a> (RowId_T foreign_row_id, ADatabaseTarget target)</td></tr>
<tr class="memdesc:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a list of ROWID's in the flights table for which foreign key constraints exist. <br /></td></tr>
<tr class="separator:a6006c47c82b2c72f7ab6b5cc319c5fbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4640a4348dad468a0ff65bad05b07227"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">resolveForeignPilot</a> (RowId_T foreign_key)</td></tr>
<tr class="memdesc:a4640a4348dad468a0ff65bad05b07227"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolves the foreign key in a flight entry.  <a href="class_a_database.html#a4640a4348dad468a0ff65bad05b07227">More...</a><br /></td></tr>
<tr class="separator:a4640a4348dad468a0ff65bad05b07227"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">resolveForeignTail</a> (RowId_T foreign_key)</td></tr>
<tr class="memdesc:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolves the foreign key in a flight entry.  <a href="class_a_database.html#a5878bcd4bc19e4c3fc5275ca7252860d">More...</a><br /></td></tr>
<tr class="separator:a5878bcd4bc19e4c3fc5275ca7252860d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56baf4eaf25922030f3cfa6906963f7c"><td class="memItemLeft" align="right" valign="top">QMap&lt; ADatabaseSummaryKey, QString &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">databaseSummary</a> (const QString &amp;db_path)</td></tr>
<tr class="memdesc:a56baf4eaf25922030f3cfa6906963f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a summary of a database.  <a href="class_a_database.html#a56baf4eaf25922030f3cfa6906963f7c">More...</a><br /></td></tr>
<tr class="separator:a56baf4eaf25922030f3cfa6906963f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c54b7506faf0f15f5323ed53ff12099"><td class="memItemLeft" align="right" valign="top"><a id="a2c54b7506faf0f15f5323ed53ff12099"></a>
const QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2c54b7506faf0f15f5323ed53ff12099">databaseSummaryString</a> (const QString &amp;db_path)</td></tr>
<tr class="memdesc:a2c54b7506faf0f15f5323ed53ff12099"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a short summary string of the database, containing total time and date of last flight. <br /></td></tr>
<tr class="separator:a2c54b7506faf0f15f5323ed53ff12099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bda52064f005f1463e56b60cd23b164"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">restoreBackup</a> (const QString &amp;backup_file)</td></tr>
<tr class="memdesc:a0bda52064f005f1463e56b60cd23b164"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164" title="ADatabase::restoreBackup restores the database from a given backup file and replaces the currently ac...">ADatabase::restoreBackup</a> restores the database from a given backup file and replaces the currently active database.  <a href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164">More...</a><br /></td></tr>
<tr class="separator:a0bda52064f005f1463e56b60cd23b164"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ab838a62a83974f9e40c62f66adfa99"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">createBackup</a> (const QString &amp;dest_file)</td></tr>
<tr class="memdesc:a5ab838a62a83974f9e40c62f66adfa99"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99" title="ADatabase::createBackup copies the currently used database to an external backup location provided by...">ADatabase::createBackup</a> copies the currently used database to an external backup location provided by the user.  <a href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99">More...</a><br /></td></tr>
<tr class="separator:a5ab838a62a83974f9e40c62f66adfa99"><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:ad4f5ba05c99e7eb5eec75ba913f1fc00"><td class="memItemLeft" align="right" valign="top"><a id="ad4f5ba05c99e7eb5eec75ba913f1fc00"></a>
static <a class="el" href="class_a_database.html">ADatabase</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>instance</b> ()</td></tr>
<tr class="separator:ad4f5ba05c99e7eb5eec75ba913f1fc00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2379c9da900da8e96add932e4024389a"><td class="memItemLeft" align="right" valign="top">static QSqlDatabase&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a2379c9da900da8e96add932e4024389a">database</a> ()</td></tr>
<tr class="memdesc:a2379c9da900da8e96add932e4024389a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Can be used to access the database connection.  <a href="class_a_database.html#a2379c9da900da8e96add932e4024389a">More...</a><br /></td></tr>
<tr class="separator:a2379c9da900da8e96add932e4024389a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a95d05441d87fa291acb96e37b029409e"><td class="memItemLeft" align="right" valign="top"><a id="a95d05441d87fa291acb96e37b029409e"></a>
<a class="el" href="class_a_database_error.html">ADatabaseError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_database.html#a95d05441d87fa291acb96e37b029409e">lastError</a></td></tr>
<tr class="memdesc:a95d05441d87fa291acb96e37b029409e"><td class="mdescLeft">&#160;</td><td class="mdescRight">lastError extends QSqlError. Holds information about the last error that ocurred during a SQL operation. <br /></td></tr>
<tr class="separator:a95d05441d87fa291acb96e37b029409e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1da0311f588fd269dec80389aea8644"><td class="memItemLeft" align="right" valign="top"><a id="ae1da0311f588fd269dec80389aea8644"></a>
const QFileInfo&#160;</td><td class="memItemRight" valign="bottom"><b>databaseFile</b></td></tr>
<tr class="separator:ae1da0311f588fd269dec80389aea8644"><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>The DB class encapsulates the SQL database by providing fast access to hot database data. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a5ab838a62a83974f9e40c62f66adfa99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ab838a62a83974f9e40c62f66adfa99">&#9670;&nbsp;</a></span>createBackup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ADatabase::createBackup </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>dest_file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="class_a_database.html#a5ab838a62a83974f9e40c62f66adfa99" title="ADatabase::createBackup copies the currently used database to an external backup location provided by...">ADatabase::createBackup</a> copies the currently used database to an external backup location provided by the user. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dest_file</td><td>This is the full path and filename of where the backup will be created, e.g. 'home/Sully/myBackups/backupFromOpl.db' </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2a43936d3ae28993f9f7eda0fdf4664d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a43936d3ae28993f9f7eda0fdf4664d">&#9670;&nbsp;</a></span>customQuery()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QVector&lt; QVariant &gt; ADatabase::customQuery </td>
          <td>(</td>
          <td class="paramtype">QString&#160;</td>
          <td class="paramname"><em>statement</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>return_values</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Can be used to send a complex query to the database. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">query</td><td>- the full sql query statement </td></tr>
    <tr><td class="paramname">returnValues</td><td>- the number of return values </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2379c9da900da8e96add932e4024389a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2379c9da900da8e96add932e4024389a">&#9670;&nbsp;</a></span>database()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">QSqlDatabase ADatabase::database </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>Can be used to access the database connection. </p>
<dl class="section return"><dt>Returns</dt><dd>The QSqlDatabase object pertaining to the connection. </dd></dl>

</div>
</div>
<a id="a56baf4eaf25922030f3cfa6906963f7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56baf4eaf25922030f3cfa6906963f7c">&#9670;&nbsp;</a></span>databaseSummary()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QMap&lt; ADatabaseSummaryKey, QString &gt; ADatabase::databaseSummary </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>db_path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a summary of a database. </p>
<p>Creates a summary of the database giving a quick overview of the relevant contents. The function runs several specialised SQL queries to create a QMap&lt;ADatabaseSummaryKey, QString&gt; containing Total Flight Time, Number of unique aircraft and pilots, as well as the date of last flight. Uses a temporary database connection separate from the default connection in order to not tamper with the currently active database connection. </p>

</div>
</div>
<a id="a1c026e7784b03fc5822077c7d0071330"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c026e7784b03fc5822077c7d0071330">&#9670;&nbsp;</a></span>dbRevision()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ADatabase::dbRevision </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>dbRevision returns the database Revision Number. The Revision refers to what iteration of the database layout is used. For the sqlite version of the database refer to <a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns the database sqlite version. See also dbRevision()">sqliteVersion()</a> </p>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>

</div>
</div>
<a id="ae0a3c9273431195df6295b9da24b3a3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0a3c9273431195df6295b9da24b3a3a">&#9670;&nbsp;</a></span>getAircraftEntry()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a> ADatabase::getAircraftEntry </td>
          <td>(</td>
          <td class="paramtype">RowId_T&#160;</td>
          <td class="paramname"><em>row_id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>retreives a TailEntry from the database. </p>
<p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns an <a class="el" href="struct_a_aircraft_entry.html">AAircraftEntry</a> instead of an <a class="el" href="class_a_entry.html" title="The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...">AEntry</a>. It allows for easy access to an aircraft entry with only the RowId required as input. </p>

</div>
</div>
<a id="a7bb44738362582e4f54f68e3aa30d40a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bb44738362582e4f54f68e3aa30d40a">&#9670;&nbsp;</a></span>getFlightEntry()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_a_flight_entry.html">AFlightEntry</a> ADatabase::getFlightEntry </td>
          <td>(</td>
          <td class="paramtype">RowId_T&#160;</td>
          <td class="paramname"><em>row_id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>retreives a flight entry from the database. </p>
<p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns an <a class="el" href="class_a_flight_entry.html">AFlightEntry</a> instead of an <a class="el" href="class_a_entry.html" title="The Entry class encapsulates table metadata(table name, row id) and data for new and existing entries...">AEntry</a>. It allows for easy access to a flight entry with only the RowId required as input. </p>

</div>
</div>
<a id="a5dba46567089112b28b16aaf985af0ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dba46567089112b28b16aaf985af0ba">&#9670;&nbsp;</a></span>getIdMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const QMap&lt; QString, RowId_T &gt; ADatabase::getIdMap </td>
          <td>(</td>
          <td class="paramtype">ADatabaseTarget&#160;</td>
          <td class="paramname"><em>target</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns a QMap&lt;QString, RowId_t&gt; of a human-readable database value and its row id. Used in the Dialogs to map user input to unique database entries. </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>What is this QString semantically? As i understand its a "QueryResult" QVariant cast to QString </dd></dl>

</div>
</div>
<a id="a426026d641a594863995ec5db8312259"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a426026d641a594863995ec5db8312259">&#9670;&nbsp;</a></span>getPilotEntry()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> ADatabase::getPilotEntry </td>
          <td>(</td>
          <td class="paramtype">RowId_T&#160;</td>
          <td class="paramname"><em>row_id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>retreives a PilotEntry from the database. </p>
<p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns a PilotEntry instead of an Entry. It allows for easy access to a pilot entry with only the RowId required as input. </p>

</div>
</div>
<a id="a356df159542705635dc3898d90682039"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a356df159542705635dc3898d90682039">&#9670;&nbsp;</a></span>getTailEntry()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> ADatabase::getTailEntry </td>
          <td>(</td>
          <td class="paramtype">RowId_T&#160;</td>
          <td class="paramname"><em>row_id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>retreives a TailEntry from the database. </p>
<p>This function is a wrapper for DataBase::getEntry(DataPosition), where the table is already set and which returns a TailEntry instead of an Entry. It allows for easy access to a tail entry with only the RowId required as input. </p>

</div>
</div>
<a id="a4640a4348dad468a0ff65bad05b07227"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4640a4348dad468a0ff65bad05b07227">&#9670;&nbsp;</a></span>resolveForeignPilot()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_pilot_entry.html">APilotEntry</a> ADatabase::resolveForeignPilot </td>
          <td>(</td>
          <td class="paramtype">RowId_T&#160;</td>
          <td class="paramname"><em>foreign_key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resolves the foreign key in a flight entry. </p>
<dl class="section return"><dt>Returns</dt><dd>The Pilot Entry referencted by the foreign key. </dd></dl>

</div>
</div>
<a id="a5878bcd4bc19e4c3fc5275ca7252860d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5878bcd4bc19e4c3fc5275ca7252860d">&#9670;&nbsp;</a></span>resolveForeignTail()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_a_tail_entry.html">ATailEntry</a> ADatabase::resolveForeignTail </td>
          <td>(</td>
          <td class="paramtype">RowId_T&#160;</td>
          <td class="paramname"><em>foreign_key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resolves the foreign key in a flight entry. </p>
<dl class="section return"><dt>Returns</dt><dd>The Tail Entry referencted by the foreign key. </dd></dl>

</div>
</div>
<a id="a0bda52064f005f1463e56b60cd23b164"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bda52064f005f1463e56b60cd23b164">&#9670;&nbsp;</a></span>restoreBackup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ADatabase::restoreBackup </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>backup_file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="class_a_database.html#a0bda52064f005f1463e56b60cd23b164" title="ADatabase::restoreBackup restores the database from a given backup file and replaces the currently ac...">ADatabase::restoreBackup</a> restores the database from a given backup file and replaces the currently active database. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">backup_file</td><td>This is the full path and filename of the backup, e.g. 'home/Sully/myBackups/backupFromOpl.db' </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a491415273a771dd7ea41452c331a34b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a491415273a771dd7ea41452c331a34b0">&#9670;&nbsp;</a></span>sqliteVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const QString ADatabase::sqliteVersion </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="class_a_database.html#a491415273a771dd7ea41452c331a34b0" title="ADatabase::sqliteVersion returns the database sqlite version. See also dbRevision()">ADatabase::sqliteVersion</a> returns the database sqlite version. See also <a class="el" href="class_a_database.html#a1c026e7784b03fc5822077c7d0071330" title="dbRevision returns the database Revision Number. The Revision refers to what iteration of the databas...">dbRevision()</a> </p>
<dl class="section return"><dt>Returns</dt><dd>sqlite version string </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/database/<a class="el" href="adatabase_8h_source.html">adatabase.h</a></li>
<li>src/database/adatabase.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_a_database.html">ADatabase</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
  </ul>
</div>
</body>
</html>