<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::test::WinChildProcess 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.14 -->
<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_1WinChildProcess.html">WinChildProcess</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classcrashpad_1_1test_1_1WinChildProcess-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::test::WinChildProcess Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Facilitates the launching of child processes from unit tests.  
 <a href="classcrashpad_1_1test_1_1WinChildProcess.html#details">More...</a></p>

<p><code>#include &quot;test/win/win_child_process.h&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1test_1_1WinChildProcess_1_1Handles.html">Handles</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Groups handles used to communicate with, observe, and manage a child process.  <a href="structcrashpad_1_1test_1_1WinChildProcess_1_1Handles.html#details">More...</a><br /></td></tr>
<tr class="separator:"><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:a30f2d003430c1c906a807e95df9dfedf"><td class="memItemLeft" align="right" valign="top"><a id="a30f2d003430c1c906a807e95df9dfedf"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#a30f2d003430c1c906a807e95df9dfedf">IsChildProcess</a> ()</td></tr>
<tr class="memdesc:a30f2d003430c1c906a807e95df9dfedf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the current process is a child process. <br /></td></tr>
<tr class="separator:a30f2d003430c1c906a807e95df9dfedf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc8004bc5b3cff7f65f211eab31ac459"><td class="memTemplParams" colspan="2"><a id="afc8004bc5b3cff7f65f211eab31ac459"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:afc8004bc5b3cff7f65f211eab31ac459"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#afc8004bc5b3cff7f65f211eab31ac459">EntryPoint</a> ()</td></tr>
<tr class="memdesc:afc8004bc5b3cff7f65f211eab31ac459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs the child process defined by T if the current process is a child process; does not return in that case. Otherwise, returns. <br /></td></tr>
<tr class="separator:afc8004bc5b3cff7f65f211eab31ac459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99fbff379b0b4e52f15b5d0166aea490"><td class="memItemLeft" align="right" valign="top"><a id="a99fbff379b0b4e52f15b5d0166aea490"></a>
static std::unique_ptr&lt; <a class="el" href="structcrashpad_1_1test_1_1WinChildProcess_1_1Handles.html">Handles</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#a99fbff379b0b4e52f15b5d0166aea490">Launch</a> ()</td></tr>
<tr class="memdesc:a99fbff379b0b4e52f15b5d0166aea490"><td class="mdescLeft">&#160;</td><td class="mdescRight">Launches a child process and returns the <a class="el" href="structcrashpad_1_1test_1_1WinChildProcess_1_1Handles.html" title="Groups handles used to communicate with, observe, and manage a child process. ">Handles</a> for that process. The process is guaranteed to be executing by the time this method returns. Returns null and logs a GTest failure in case of failure. <br /></td></tr>
<tr class="separator:a99fbff379b0b4e52f15b5d0166aea490"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a91d2989da870dfc3327a90b9e5fd737a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecrashpad.html#a07f8e33c4fdeba3783277f9f2563e48a">FileHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#a91d2989da870dfc3327a90b9e5fd737a">ReadPipeHandle</a> () const</td></tr>
<tr class="memdesc:a91d2989da870dfc3327a90b9e5fd737a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a handle to read from an anonymous pipe shared with the parent process.  <a href="#a91d2989da870dfc3327a90b9e5fd737a">More...</a><br /></td></tr>
<tr class="separator:a91d2989da870dfc3327a90b9e5fd737a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03d835d92e03be88576e38c937eef882"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacecrashpad.html#a07f8e33c4fdeba3783277f9f2563e48a">FileHandle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#a03d835d92e03be88576e38c937eef882">WritePipeHandle</a> () const</td></tr>
<tr class="memdesc:a03d835d92e03be88576e38c937eef882"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a handle to write to an anonymous pipe shared with the parent process.  <a href="#a03d835d92e03be88576e38c937eef882">More...</a><br /></td></tr>
<tr class="separator:a03d835d92e03be88576e38c937eef882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaab97f1b2f1e61b8c5ca3a00ca68851b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#aaab97f1b2f1e61b8c5ca3a00ca68851b">CloseReadPipe</a> ()</td></tr>
<tr class="memdesc:aaab97f1b2f1e61b8c5ca3a00ca68851b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the read pipe.  <a href="#aaab97f1b2f1e61b8c5ca3a00ca68851b">More...</a><br /></td></tr>
<tr class="separator:aaab97f1b2f1e61b8c5ca3a00ca68851b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4e205ec12f2c01860ce2756e90fe321"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#af4e205ec12f2c01860ce2756e90fe321">CloseWritePipe</a> ()</td></tr>
<tr class="memdesc:af4e205ec12f2c01860ce2756e90fe321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the write pipe.  <a href="#af4e205ec12f2c01860ce2756e90fe321">More...</a><br /></td></tr>
<tr class="separator:af4e205ec12f2c01860ce2756e90fe321"><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>Facilitates the launching of child processes from unit tests. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aaab97f1b2f1e61b8c5ca3a00ca68851b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaab97f1b2f1e61b8c5ca3a00ca68851b">&#9670;&nbsp;</a></span>CloseReadPipe()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::test::WinChildProcess::CloseReadPipe </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Closes the read pipe. </p>
<p><a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#a91d2989da870dfc3327a90b9e5fd737a" title="Returns a handle to read from an anonymous pipe shared with the parent process. ">ReadPipeHandle()</a> must not be called after this. </p>

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

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::test::WinChildProcess::CloseWritePipe </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Closes the write pipe. </p>
<p>An attempt to read from the read pipe in the parent process will indicate end-of-file. <a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#a03d835d92e03be88576e38c937eef882" title="Returns a handle to write to an anonymous pipe shared with the parent process. ">WritePipeHandle()</a> must not be called after this. </p>

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

<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="namespacecrashpad.html#a07f8e33c4fdeba3783277f9f2563e48a">FileHandle</a> crashpad::test::WinChildProcess::ReadPipeHandle </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a handle to read from an anonymous pipe shared with the parent process. </p>
<p>It is an error to call this after <a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#aaab97f1b2f1e61b8c5ca3a00ca68851b" title="Closes the read pipe. ">CloseReadPipe()</a> has been called.</p>
<dl class="section return"><dt>Returns</dt><dd>The read pipe's file handle. </dd></dl>

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

<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="namespacecrashpad.html#a07f8e33c4fdeba3783277f9f2563e48a">FileHandle</a> crashpad::test::WinChildProcess::WritePipeHandle </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a handle to write to an anonymous pipe shared with the parent process. </p>
<p>It is an error to call this after <a class="el" href="classcrashpad_1_1test_1_1WinChildProcess.html#af4e205ec12f2c01860ce2756e90fe321" title="Closes the write pipe. ">CloseWritePipe()</a> has been called.</p>
<dl class="section return"><dt>Returns</dt><dd>The write pipe's file handle. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>test/win/win_child_process.h</li>
<li>test/win/win_child_process.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.14
</small></address>
</body>
</html>
