<!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>Crashpad: crashpad::PruneCrashReportThread 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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </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>
<!-- 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="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1PruneCrashReportThread.html">PruneCrashReportThread</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1PruneCrashReportThread-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::PruneCrashReportThread Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A thread that periodically prunes crash reports from the database using the specified condition.  
 <a href="classcrashpad_1_1PruneCrashReportThread.html#details">More...</a></p>

<p><code>#include &quot;handler/prune_crash_reports_thread.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::PruneCrashReportThread:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1PruneCrashReportThread.png" usemap="#crashpad::PruneCrashReportThread_map" alt=""/>
  <map id="crashpad::PruneCrashReportThread_map" name="crashpad::PruneCrashReportThread_map">
<area href="classcrashpad_1_1WorkerThread_1_1Delegate.html" title="An interface for doing work on a WorkerThread." alt="crashpad::WorkerThread::Delegate" shape="rect" coords="0,0,216,24"/>
<area href="classcrashpad_1_1Stoppable.html" title="An interface for operations that may be Started and Stopped." alt="crashpad::Stoppable" shape="rect" coords="226,0,442,24"/>
  </map>
</div></div>
<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:a611e02d9b7666df11d2484f682b771ea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PruneCrashReportThread.html#a611e02d9b7666df11d2484f682b771ea">PruneCrashReportThread</a> (<a class="el" href="classcrashpad_1_1CrashReportDatabase.html">CrashReportDatabase</a> *database, std::unique_ptr&lt; <a class="el" href="classcrashpad_1_1PruneCondition.html">PruneCondition</a> &gt; condition)</td></tr>
<tr class="memdesc:a611e02d9b7666df11d2484f682b771ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new object.  <a href="classcrashpad_1_1PruneCrashReportThread.html#a611e02d9b7666df11d2484f682b771ea">More...</a><br /></td></tr>
<tr class="separator:a611e02d9b7666df11d2484f682b771ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5337f19cd27e3bf1e65d23133baeffc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PruneCrashReportThread.html#aa5337f19cd27e3bf1e65d23133baeffc">Start</a> () override</td></tr>
<tr class="memdesc:aa5337f19cd27e3bf1e65d23133baeffc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts a dedicated pruning thread.  <a href="classcrashpad_1_1PruneCrashReportThread.html#aa5337f19cd27e3bf1e65d23133baeffc">More...</a><br /></td></tr>
<tr class="separator:aa5337f19cd27e3bf1e65d23133baeffc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0099766932ba17cb5245d2f3199a286a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1PruneCrashReportThread.html#a0099766932ba17cb5245d2f3199a286a">Stop</a> () override</td></tr>
<tr class="memdesc:a0099766932ba17cb5245d2f3199a286a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the pruning thread.  <a href="classcrashpad_1_1PruneCrashReportThread.html#a0099766932ba17cb5245d2f3199a286a">More...</a><br /></td></tr>
<tr class="separator:a0099766932ba17cb5245d2f3199a286a"><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>A thread that periodically prunes crash reports from the database using the specified condition. </p>
<p>After the thread is started, the database is pruned using the condition every 24 hours. Upon calling <a class="el" href="classcrashpad_1_1PruneCrashReportThread.html#aa5337f19cd27e3bf1e65d23133baeffc" title="Starts a dedicated pruning thread.">Start()</a>, the thread waits 10 minutes before performing the initial prune operation. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a611e02d9b7666df11d2484f682b771ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a611e02d9b7666df11d2484f682b771ea">&#9670;&nbsp;</a></span>PruneCrashReportThread()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">crashpad::PruneCrashReportThread::PruneCrashReportThread </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcrashpad_1_1CrashReportDatabase.html">CrashReportDatabase</a> *&#160;</td>
          <td class="paramname"><em>database</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::unique_ptr&lt; <a class="el" href="classcrashpad_1_1PruneCondition.html">PruneCondition</a> &gt;&#160;</td>
          <td class="paramname"><em>condition</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructs a new object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">database</td><td>The database to prune crash reports from. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">condition</td><td>The condition used to evaluate crash reports for pruning. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa5337f19cd27e3bf1e65d23133baeffc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5337f19cd27e3bf1e65d23133baeffc">&#9670;&nbsp;</a></span>Start()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::PruneCrashReportThread::Start </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Starts a dedicated pruning thread. </p>
<p>The thread waits before running the initial prune, so as to not interfere with any startup-related IO performed by the client.</p>
<p>This method may only be be called on a newly-constructed object or after a call to <a class="el" href="classcrashpad_1_1PruneCrashReportThread.html#a0099766932ba17cb5245d2f3199a286a" title="Stops the pruning thread.">Stop()</a>. </p>

<p>Implements <a class="el" href="classcrashpad_1_1Stoppable.html#a046f4e683737878d2133b5f60614d727">crashpad::Stoppable</a>.</p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::PruneCrashReportThread::Stop </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Stops the pruning thread. </p>
<p>This method must only be called after <a class="el" href="classcrashpad_1_1PruneCrashReportThread.html#aa5337f19cd27e3bf1e65d23133baeffc" title="Starts a dedicated pruning thread.">Start()</a>. If <a class="el" href="classcrashpad_1_1PruneCrashReportThread.html#aa5337f19cd27e3bf1e65d23133baeffc" title="Starts a dedicated pruning thread.">Start()</a> has been called, this method must be called before destroying an object of this class.</p>
<p>This method may be called from any thread other than the pruning thread. It is expected to only be called from the same thread that called <a class="el" href="classcrashpad_1_1PruneCrashReportThread.html#aa5337f19cd27e3bf1e65d23133baeffc" title="Starts a dedicated pruning thread.">Start()</a>. </p>

<p>Implements <a class="el" href="classcrashpad_1_1Stoppable.html#ac001ba3eacb04fbbf432388286dbc34c">crashpad::Stoppable</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>handler/prune_crash_reports_thread.h</li>
<li>handler/prune_crash_reports_thread.cc</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.18
</small></address>
</body>
</html>
