<!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::test::BufferExtensionStreamDataSource 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="namespacecrashpad_1_1test.html">test</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1test_1_1BufferExtensionStreamDataSource.html">BufferExtensionStreamDataSource</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_1test_1_1BufferExtensionStreamDataSource-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::test::BufferExtensionStreamDataSource Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>A user extension data source that wraps a buffer.  
 <a href="classcrashpad_1_1test_1_1BufferExtensionStreamDataSource.html#details">More...</a></p>

<p><code>#include &quot;minidump/test/minidump_user_extension_stream_util.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::test::BufferExtensionStreamDataSource:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1test_1_1BufferExtensionStreamDataSource.png" usemap="#crashpad::test::BufferExtensionStreamDataSource_map" alt=""/>
  <map id="crashpad::test::BufferExtensionStreamDataSource_map" name="crashpad::test::BufferExtensionStreamDataSource_map">
<area href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource.html" title="Describes a user extension data stream in a minidump." alt="crashpad::MinidumpUserExtensionStreamDataSource" shape="rect" coords="0,0,311,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:a6892937b29f5d461d05101fdd56b4a1b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1BufferExtensionStreamDataSource.html#a6892937b29f5d461d05101fdd56b4a1b">BufferExtensionStreamDataSource</a> (uint32_t stream_type, const void *data, size_t data_size)</td></tr>
<tr class="memdesc:a6892937b29f5d461d05101fdd56b4a1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a data source with <em>stream_type</em>.  <a href="classcrashpad_1_1test_1_1BufferExtensionStreamDataSource.html#a6892937b29f5d461d05101fdd56b4a1b">More...</a><br /></td></tr>
<tr class="separator:a6892937b29f5d461d05101fdd56b4a1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8548e3860ec84575e6c116e8bf4bee2"><td class="memItemLeft" align="right" valign="top"><a id="ac8548e3860ec84575e6c116e8bf4bee2"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1BufferExtensionStreamDataSource.html#ac8548e3860ec84575e6c116e8bf4bee2">StreamDataSize</a> () override</td></tr>
<tr class="memdesc:ac8548e3860ec84575e6c116e8bf4bee2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The size of this data stream. <br /></td></tr>
<tr class="separator:ac8548e3860ec84575e6c116e8bf4bee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ee83dd5e7bc50321d8e49cbcb64a38b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1BufferExtensionStreamDataSource.html#a6ee83dd5e7bc50321d8e49cbcb64a38b">ReadStreamData</a> (<a class="el" href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource_1_1Delegate.html">Delegate</a> *delegate) override</td></tr>
<tr class="memdesc:a6ee83dd5e7bc50321d8e49cbcb64a38b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls Delegate::UserStreamDataSourceRead(), providing it with the stream data.  <a href="classcrashpad_1_1test_1_1BufferExtensionStreamDataSource.html#a6ee83dd5e7bc50321d8e49cbcb64a38b">More...</a><br /></td></tr>
<tr class="separator:a6ee83dd5e7bc50321d8e49cbcb64a38b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcrashpad_1_1MinidumpUserExtensionStreamDataSource"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcrashpad_1_1MinidumpUserExtensionStreamDataSource')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource.html">crashpad::MinidumpUserExtensionStreamDataSource</a></td></tr>
<tr class="memitem:aeb78007044c41ae9f25c55f180e6c273 inherit pub_methods_classcrashpad_1_1MinidumpUserExtensionStreamDataSource"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource.html#aeb78007044c41ae9f25c55f180e6c273">MinidumpUserExtensionStreamDataSource</a> (uint32_t stream_type)</td></tr>
<tr class="memdesc:aeb78007044c41ae9f25c55f180e6c273 inherit pub_methods_classcrashpad_1_1MinidumpUserExtensionStreamDataSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a <a class="el" href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource.html" title="Describes a user extension data stream in a minidump.">MinidumpUserExtensionStreamDataSource</a>.  <a href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource.html#aeb78007044c41ae9f25c55f180e6c273">More...</a><br /></td></tr>
<tr class="separator:aeb78007044c41ae9f25c55f180e6c273 inherit pub_methods_classcrashpad_1_1MinidumpUserExtensionStreamDataSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3bad626727af40438c0f3adb2e5104f inherit pub_methods_classcrashpad_1_1MinidumpUserExtensionStreamDataSource"><td class="memItemLeft" align="right" valign="top"><a id="ab3bad626727af40438c0f3adb2e5104f"></a>
<a class="el" href="namespacecrashpad.html#a88363a45a4af1a16f542a8c1ff522ab9">MinidumpStreamType</a>&#160;</td><td class="memItemRight" valign="bottom"><b>stream_type</b> () const</td></tr>
<tr class="separator:ab3bad626727af40438c0f3adb2e5104f inherit pub_methods_classcrashpad_1_1MinidumpUserExtensionStreamDataSource"><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 user extension data source that wraps a buffer. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6892937b29f5d461d05101fdd56b4a1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6892937b29f5d461d05101fdd56b4a1b">&#9670;&nbsp;</a></span>BufferExtensionStreamDataSource()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">crashpad::test::BufferExtensionStreamDataSource::BufferExtensionStreamDataSource </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>stream_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a data source with <em>stream_type</em>. </p>
<p>param[in] stream_type The type of the stream. param[in] data The data of the stream. param[in] data_size The length of <em>data</em>. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::test::BufferExtensionStreamDataSource::ReadStreamData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource_1_1Delegate.html">Delegate</a> *&#160;</td>
          <td class="paramname"><em>delegate</em></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>Calls Delegate::UserStreamDataSourceRead(), providing it with the stream data. </p>
<p>Implementations do not necessarily compute the stream data prior to this method being called. The stream data may be computed or loaded lazily and may be discarded after being passed to the delegate.</p>
<dl class="section return"><dt>Returns</dt><dd><code>false</code> on failure, otherwise, the return value of <a class="el" href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource_1_1Delegate.html#ae2710f88dc56cb07c2edd2a01c1de609" title="Called by MinidumpUserExtensionStreamDataSource::Read() to provide data requested by a call to that m...">Delegate::ExtensionStreamDataSourceRead()</a>, which should be <code>true</code> on success and <code>false</code> on failure. </dd></dl>

<p>Implements <a class="el" href="classcrashpad_1_1MinidumpUserExtensionStreamDataSource.html#af7a07e8cf01ea22439dab82452139e28">crashpad::MinidumpUserExtensionStreamDataSource</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>minidump/test/minidump_user_extension_stream_util.h</li>
<li>minidump/test/minidump_user_extension_stream_util.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>
