<areahref="classcrashpad_1_1CrashReportDatabase.html"title="An interface for managing a collection of crash report files and metadata associated with the crash r..."alt="crashpad::CrashReportDatabase"shape="rect"coords="0,0,240,24"/>
<trclass="memdesc:a91406c5fbec397b15aac2b0964e9d53e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the <aclass="el"href="classcrashpad_1_1Settings.html"title="An interface for accessing and modifying the settings of a CrashReportDatabase. ">Settings</a> object for this database. <ahref="#a91406c5fbec397b15aac2b0964e9d53e">More...</a><br/></td></tr>
<trclass="memdesc:aa79e8766d90501fc06adb3ff934e1d12"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Creates a record of a new crash report. <ahref="#aa79e8766d90501fc06adb3ff934e1d12">More...</a><br/></td></tr>
<trclass="memdesc:a81da0d483b8c69b8baa636c1a6ad4dae"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Informs the database that a crash report has been successfully written. <ahref="#a81da0d483b8c69b8baa636c1a6ad4dae">More...</a><br/></td></tr>
<trclass="memdesc:a0694c0d8f7758f990f653d542dd8986c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the crash report record for the unique identifier. <ahref="#a0694c0d8f7758f990f653d542dd8986c">More...</a><br/></td></tr>
<trclass="memdesc:a8cdc4769b0d7a0964ea9fa5584ba05e9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a list of crash report records that have not been uploaded. <ahref="#a8cdc4769b0d7a0964ea9fa5584ba05e9">More...</a><br/></td></tr>
<trclass="memdesc:a59211bd411d4f4438c4686e57d0e527c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns a list of crash report records that have been completed, either by being uploaded or by skipping upload. <ahref="#a59211bd411d4f4438c4686e57d0e527c">More...</a><br/></td></tr>
<trclass="memdesc:a4204cbbd07f3b8e58c4ef193e696d7c9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Obtains and locks a report object for uploading to a collection server. <ahref="#a4204cbbd07f3b8e58c4ef193e696d7c9">More...</a><br/></td></tr>
<trclass="memdesc:a5be2c76566de31d9ae8fd632e1b4fe7e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Moves a report from the pending state to the completed state, but without the report being uploaded. <ahref="#a5be2c76566de31d9ae8fd632e1b4fe7e">More...</a><br/></td></tr>
<trclass="memdesc:a13bd4a9b11a9219a4618c1f93bd1ff3c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Deletes a crash report file and its associated metadata. <ahref="#a13bd4a9b11a9219a4618c1f93bd1ff3c">More...</a><br/></td></tr>
<trclass="memdesc:a6deed32774a49b84c0df5103739cb21e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Marks a crash report as explicitly requested to be uploaded by the user and moves it to 'pending' state. <ahref="#a6deed32774a49b84c0df5103739cb21e">More...</a><br/></td></tr>
<trclass="memdesc:a5f9b808bc4840db00cac1070102aeb2c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Cleans the database of expired lockfiles, metadata without report files, and report files without metadata. <ahref="#a5f9b808bc4840db00cac1070102aeb2c">More...</a><br/></td></tr>
<trclass="inherit_header pub_methods_classcrashpad_1_1CrashReportDatabase"><tdcolspan="2"onclick="javascript:toggleInherit('pub_methods_classcrashpad_1_1CrashReportDatabase')"><imgsrc="closed.png"alt="-"/> Public Member Functions inherited from <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html">crashpad::CrashReportDatabase</a></td></tr>
<trclass="memdesc:a329a165c28e20bc3458e697ea8778517 inherit pub_methods_classcrashpad_1_1CrashReportDatabase"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Records a successful upload for a report and updates the last upload attempt time as returned by <aclass="el"href="classcrashpad_1_1Settings.html#a855f61d6fc73042dcb886ef40d8e4429"title="Retrieves the last time at which a report was attempted to be uploaded. ">Settings::GetLastUploadAttemptTime()</a>. <ahref="classcrashpad_1_1CrashReportDatabase.html#a329a165c28e20bc3458e697ea8778517">More...</a><br/></td></tr>
<trclass="inherit_header pub_types_classcrashpad_1_1CrashReportDatabase"><tdcolspan="2"onclick="javascript:toggleInherit('pub_types_classcrashpad_1_1CrashReportDatabase')"><imgsrc="closed.png"alt="-"/> Public Types inherited from <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html">crashpad::CrashReportDatabase</a></td></tr>
<trclass="memitem:a0bbd146654537fa0cf1b576eb647bb00 inherit pub_types_classcrashpad_1_1CrashReportDatabase"><tdclass="memItemLeft"align="right"valign="top">enum  </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a0bbd146654537fa0cf1b576eb647bb00">OperationStatus</a><trclass="memdesc:a0bbd146654537fa0cf1b576eb647bb00"><tdclass="mdescLeft"> </td><tdclass="mdescRight">The result code for operations performed on a database. <ahref="classcrashpad_1_1CrashReportDatabase.html#a0bbd146654537fa0cf1b576eb647bb00">More...</a><br/></td></tr>
<trclass="inherit_header pub_static_methods_classcrashpad_1_1CrashReportDatabase"><tdcolspan="2"onclick="javascript:toggleInherit('pub_static_methods_classcrashpad_1_1CrashReportDatabase')"><imgsrc="closed.png"alt="-"/> Static Public Member Functions inherited from <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html">crashpad::CrashReportDatabase</a></td></tr>
<trclass="memdesc:a00292742dfe4c0081d6987c5a32c7a3e inherit pub_static_methods_classcrashpad_1_1CrashReportDatabase"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Opens a database of crash reports, possibly creating it. <ahref="classcrashpad_1_1CrashReportDatabase.html#a00292742dfe4c0081d6987c5a32c7a3e">More...</a><br/></td></tr>
<trclass="memdesc:abc49f639a5880f51c7d69b955a3deae7 inherit pub_static_methods_classcrashpad_1_1CrashReportDatabase"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Opens an existing database of crash reports. <ahref="classcrashpad_1_1CrashReportDatabase.html#abc49f639a5880f51c7d69b955a3deae7">More...</a><br/></td></tr>
<p>Cleans the database of expired lockfiles, metadata without report files, and report files without metadata. </p>
<p>This method does nothing on the macOS and Windows implementations of the database.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">lockfile_ttl</td><td>The number of seconds at which lockfiles or new report files are considered expired. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The number of reports cleaned. </dd></dl>
<p>Reimplemented from <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#af06b2b1312d8a824559d99232a173576">crashpad::CrashReportDatabase</a>.</p>
<p>Deletes a crash report file and its associated metadata. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">uuid</td><td>The <aclass="el"href="structcrashpad_1_1UUID.html"title="A universally unique identifier (UUID). ">UUID</a> of the report to delete.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The operation status code. </dd></dl>
<p>Informs the database that a crash report has been successfully written. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">report</td><td>A NewReport obtained with <aclass="el"href="classcrashpad_1_1CrashReportDatabaseGeneric.html#aa79e8766d90501fc06adb3ff934e1d12"title="Creates a record of a new crash report. ">PrepareNewCrashReport()</a>. The NewReport object will be invalidated as part of this call. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">uuid</td><td>The <aclass="el"href="structcrashpad_1_1UUID.html"title="A universally unique identifier (UUID). ">UUID</a> of this crash report.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The operation status code. </dd></dl>
<p>Returns a list of crash report records that have been completed, either by being uploaded or by skipping upload. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">reports</td><td>A list of crash report record objects. This must be empty on entry. Only valid if this returns <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a0bbd146654537fa0cf1b576eb647bb00ad73503b93bff6f4ae156a65fcb5e71f8"title="No error occurred. ">kNoError</a>.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The operation status code. </dd></dl>
<p>Returns a list of crash report records that have not been uploaded. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">reports</td><td>A list of crash report record objects. This must be empty on entry. Only valid if this returns <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a0bbd146654537fa0cf1b576eb647bb00ad73503b93bff6f4ae156a65fcb5e71f8"title="No error occurred. ">kNoError</a>.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The operation status code. </dd></dl>
<p>Obtains and locks a report object for uploading to a collection server. </p>
<p>Callers should upload the crash report using the <aclass="el"href="classcrashpad_1_1FileReader.html"title="A file reader implementation that wraps traditional system file operations on files accessed through ...">FileReader</a> provided. Callers should then call <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a329a165c28e20bc3458e697ea8778517"title="Records a successful upload for a report and updates the last upload attempt time as returned by Sett...">RecordUploadComplete()</a> to record a successful upload. If <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a329a165c28e20bc3458e697ea8778517"title="Records a successful upload for a report and updates the last upload attempt time as returned by Sett...">RecordUploadComplete()</a> is not called, the upload attempt will be recorded as unsuccessful and the report lock released when <em>report</em> is destroyed.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">uuid</td><td>The unique identifier for the crash report record. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">report</td><td>A crash report record for the report to be uploaded. Only valid if this returns <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a0bbd146654537fa0cf1b576eb647bb00ad73503b93bff6f4ae156a65fcb5e71f8"title="No error occurred. ">kNoError</a>. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">report_metrics</td><td>If <code>false</code>, metrics will not be recorded for this upload attempt when <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a329a165c28e20bc3458e697ea8778517"title="Records a successful upload for a report and updates the last upload attempt time as returned by Sett...">RecordUploadComplete()</a> is called or <em>report</em> is destroyed. Metadata for the upload attempt will still be recorded in the database.</td></tr>
<p>Returns the <aclass="el"href="classcrashpad_1_1Settings.html"title="An interface for accessing and modifying the settings of a CrashReportDatabase. ">Settings</a> object for this database. </p>
<dlclass="section return"><dt>Returns</dt><dd>A weak pointer to the <aclass="el"href="classcrashpad_1_1Settings.html"title="An interface for accessing and modifying the settings of a CrashReportDatabase. ">Settings</a> object, which is owned by the database. </dd></dl>
<p>Returns the crash report record for the unique identifier. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">uuid</td><td>The crash report record unique identifier. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">report</td><td>A crash report record. Only valid if this returns <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a0bbd146654537fa0cf1b576eb647bb00ad73503b93bff6f4ae156a65fcb5e71f8"title="No error occurred. ">kNoError</a>.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The operation status code. </dd></dl>
<p>Callers should write the crash report using the <aclass="el"href="classcrashpad_1_1FileWriter.html"title="A file writer implementation that wraps traditional system file operations on files accessed through ...">FileWriter</a> provided. Callers should then call <aclass="el"href="classcrashpad_1_1CrashReportDatabaseGeneric.html#a81da0d483b8c69b8baa636c1a6ad4dae"title="Informs the database that a crash report has been successfully written. ">FinishedWritingCrashReport()</a> to complete report creation. If an error is encountered while writing the crash report, no special action needs to be taken. If <aclass="el"href="classcrashpad_1_1CrashReportDatabaseGeneric.html#a81da0d483b8c69b8baa636c1a6ad4dae"title="Informs the database that a crash report has been successfully written. ">FinishedWritingCrashReport()</a> is not called, the report will be removed from the database when <em>report</em> is destroyed.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">report</td><td>A NewReport object containing a <aclass="el"href="classcrashpad_1_1FileWriter.html"title="A file writer implementation that wraps traditional system file operations on files accessed through ...">FileWriter</a> with which to write the report data. Only valid if this returns <aclass="el"href="classcrashpad_1_1CrashReportDatabase.html#a0bbd146654537fa0cf1b576eb647bb00ad73503b93bff6f4ae156a65fcb5e71f8"title="No error occurred. ">kNoError</a>.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The operation status code. </dd></dl>
<p>Moves a report from the pending state to the completed state, but without the report being uploaded. </p>
<p>This can be used if the user has disabled crash report collection, but crash generation is still enabled in the product.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">uuid</td><td>The unique identifier for the crash report record. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">reason</td><td>The reason the report upload is being skipped for metrics tracking purposes.</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>The operation status code. </dd></dl>