crashpad/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface.html
2018-08-01 13:34:49 -04:00

408 lines
24 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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::NotifyServer::DefaultInterface 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="classcrashpad_1_1NotifyServer.html">NotifyServer</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html">DefaultInterface</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_1NotifyServer_1_1DefaultInterface-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">crashpad::NotifyServer::DefaultInterface Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A concrete implementation of <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html" title="An interface that the different request messages that are a part of the notify Mach subsystem can be ...">Interface</a> that provides a default behavior for all <code>notify</code> routines.
<a href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#details">More...</a></p>
<p><code>#include &quot;util/mach/notify_server.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::NotifyServer::DefaultInterface:</div>
<div class="dyncontent">
<div class="center">
<img src="classcrashpad_1_1NotifyServer_1_1DefaultInterface.png" usemap="#crashpad::NotifyServer::DefaultInterface_map" alt=""/>
<map id="crashpad::NotifyServer::DefaultInterface_map" name="crashpad::NotifyServer::DefaultInterface_map">
<area href="classcrashpad_1_1NotifyServer_1_1Interface.html" title="An interface that the different request messages that are a part of the notify Mach subsystem can be ..." alt="crashpad::NotifyServer::Interface" shape="rect" coords="0,0,239,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:a462b8fbfe77693bc77e4dc394d89398f"><td class="memItemLeft" align="right" valign="top">kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a462b8fbfe77693bc77e4dc394d89398f">DoMachNotifyPortDeleted</a> (notify_port_t notify, mach_port_name_t name, const mach_msg_trailer_t *trailer) override</td></tr>
<tr class="memdesc:a462b8fbfe77693bc77e4dc394d89398f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles port-deleted notifications sent by <code>mach_notify_port_deleted()</code>. <a href="#a462b8fbfe77693bc77e4dc394d89398f">More...</a><br /></td></tr>
<tr class="separator:a462b8fbfe77693bc77e4dc394d89398f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26e577092f3d7289a950545319e29d7f"><td class="memItemLeft" align="right" valign="top">kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a26e577092f3d7289a950545319e29d7f">DoMachNotifyPortDestroyed</a> (notify_port_t notify, mach_port_t rights, const mach_msg_trailer_t *trailer, bool *destroy_request) override</td></tr>
<tr class="memdesc:a26e577092f3d7289a950545319e29d7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles port-destroyed notifications sent by <code>mach_notify_port_destroyed()</code>. <a href="#a26e577092f3d7289a950545319e29d7f">More...</a><br /></td></tr>
<tr class="separator:a26e577092f3d7289a950545319e29d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed9cb9e85f275edd5ee72eca34888188"><td class="memItemLeft" align="right" valign="top">kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#aed9cb9e85f275edd5ee72eca34888188">DoMachNotifyNoSenders</a> (notify_port_t notify, mach_port_mscount_t mscount, const mach_msg_trailer_t *trailer) override</td></tr>
<tr class="memdesc:aed9cb9e85f275edd5ee72eca34888188"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles no-senders notifications sent by <code>mach_notify_no_senders()</code>. <a href="#aed9cb9e85f275edd5ee72eca34888188">More...</a><br /></td></tr>
<tr class="separator:aed9cb9e85f275edd5ee72eca34888188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a5e82e6bd51eac1dbff7aac2c7b6bf4"><td class="memItemLeft" align="right" valign="top">kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a3a5e82e6bd51eac1dbff7aac2c7b6bf4">DoMachNotifySendOnce</a> (notify_port_t notify, const mach_msg_trailer_t *trailer) override</td></tr>
<tr class="memdesc:a3a5e82e6bd51eac1dbff7aac2c7b6bf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles send-once notifications sent by <code>mach_notify_send_once()</code>. <a href="#a3a5e82e6bd51eac1dbff7aac2c7b6bf4">More...</a><br /></td></tr>
<tr class="separator:a3a5e82e6bd51eac1dbff7aac2c7b6bf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0373d989a72ee8c37ab4977f8ffb836a"><td class="memItemLeft" align="right" valign="top">kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a0373d989a72ee8c37ab4977f8ffb836a">DoMachNotifyDeadName</a> (notify_port_t notify, mach_port_name_t name, const mach_msg_trailer_t *trailer) override</td></tr>
<tr class="memdesc:a0373d989a72ee8c37ab4977f8ffb836a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles dead-name notifications sent by <code>mach_notify_dead_name()</code>. <a href="#a0373d989a72ee8c37ab4977f8ffb836a">More...</a><br /></td></tr>
<tr class="separator:a0373d989a72ee8c37ab4977f8ffb836a"><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 concrete implementation of <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html" title="An interface that the different request messages that are a part of the notify Mach subsystem can be ...">Interface</a> that provides a default behavior for all <code>notify</code> routines. </p>
<p>The Mach <code>notify</code> subsystem contains a collection of unrelated routines, and a single server would rarely need to implement all of them. To make it easier to use <a class="el" href="classcrashpad_1_1NotifyServer.html" title="A server interface for the notify Mach subsystem. ">NotifyServer</a>, a server can inherit from <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html" title="A concrete implementation of Interface that provides a default behavior for all notify routines...">DefaultInterface</a> instead of <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html" title="An interface that the different request messages that are a part of the notify Mach subsystem can be ...">Interface</a>. Unless overridden, each routine in <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html" title="A concrete implementation of Interface that provides a default behavior for all notify routines...">DefaultInterface</a> returns <code>MIG_BAD_ID</code> to indicate to the caller that the <code>notify</code> message was unexpected and not processed. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a0373d989a72ee8c37ab4977f8ffb836a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0373d989a72ee8c37ab4977f8ffb836a">&#9670;&nbsp;</a></span>DoMachNotifyDeadName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifyDeadName </td>
<td>(</td>
<td class="paramtype">notify_port_t&#160;</td>
<td class="paramname"><em>notify</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mach_port_name_t&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const mach_msg_trailer_t *&#160;</td>
<td class="paramname"><em>trailer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Handles dead-name notifications sent by <code>mach_notify_dead_name()</code>. </p>
<p>A dead-name notification is generated when a port with a dead-name notification request is destroyed and the right becomes a dead name.</p>
<p>This behaves equivalently to a <code>do_mach_notify_dead_name()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The dead name. Although this is transferred as a <code>mach_port_name_t</code> and not a <code>mach_port_t</code>, the callee assumes an additional reference to this port when this method is called. See the note below. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>When a dead-name notification is generated, the user reference count of the dead name is incremented. A send right with one reference that becomes a dead name will have one dead-name reference, and the dead-name notification will add another dead-name reference, for a total of 2. <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a0373d989a72ee8c37ab4977f8ffb836a" title="Handles dead-name notifications sent by mach_notify_dead_name(). ">DoMachNotifyDeadName()</a> implementations must take care to deallocate this extra reference. There is no <em>destroy_request</em> parameter to simplify this operation because dead-name notifications carry a port name only (<em>name</em> is of type <code>mach_port_name_t</code>) without transferring port rights, and are thus not complex Mach messages. </dd></dl>
<p>Implements <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#a14dd1d58279338be03f2d8bcb4cec552">crashpad::NotifyServer::Interface</a>.</p>
</div>
</div>
<a id="aed9cb9e85f275edd5ee72eca34888188"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed9cb9e85f275edd5ee72eca34888188">&#9670;&nbsp;</a></span>DoMachNotifyNoSenders()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifyNoSenders </td>
<td>(</td>
<td class="paramtype">notify_port_t&#160;</td>
<td class="paramname"><em>notify</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mach_port_mscount_t&#160;</td>
<td class="paramname"><em>mscount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const mach_msg_trailer_t *&#160;</td>
<td class="paramname"><em>trailer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Handles no-senders notifications sent by <code>mach_notify_no_senders()</code>. </p>
<p>A no-senders notification is generated when a receive right with a no-senders notification request loses its last corresponding send right.</p>
<p>This behaves equivalently to a <code>do_mach_notify_no_senders()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mscount</td><td>The value of the sender-less ports make-send count at the time the notification was generated. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#a9818bb1f746ab470b06daffa53f4a3f6">crashpad::NotifyServer::Interface</a>.</p>
</div>
</div>
<a id="a462b8fbfe77693bc77e4dc394d89398f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a462b8fbfe77693bc77e4dc394d89398f">&#9670;&nbsp;</a></span>DoMachNotifyPortDeleted()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifyPortDeleted </td>
<td>(</td>
<td class="paramtype">notify_port_t&#160;</td>
<td class="paramname"><em>notify</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mach_port_name_t&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const mach_msg_trailer_t *&#160;</td>
<td class="paramname"><em>trailer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Handles port-deleted notifications sent by <code>mach_notify_port_deleted()</code>. </p>
<p>A port-deleted notification is generated when a port with a dead-name notification request is destroyed and the port name becomes available for reuse.</p>
<p>This behaves equivalently to a <code>do_mach_notify_port_deleted()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The name that formerly referenced the deleted port. When this method is called, <em>name</em> no longer corresponds to the port that has been deleted, and may be reused for another purpose. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#afb31bdbba0f94be2efa0caff19a89fa4">crashpad::NotifyServer::Interface</a>.</p>
</div>
</div>
<a id="a26e577092f3d7289a950545319e29d7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26e577092f3d7289a950545319e29d7f">&#9670;&nbsp;</a></span>DoMachNotifyPortDestroyed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifyPortDestroyed </td>
<td>(</td>
<td class="paramtype">notify_port_t&#160;</td>
<td class="paramname"><em>notify</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">mach_port_t&#160;</td>
<td class="paramname"><em>rights</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const mach_msg_trailer_t *&#160;</td>
<td class="paramname"><em>trailer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool *&#160;</td>
<td class="paramname"><em>destroy_request</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Handles port-destroyed notifications sent by <code>mach_notify_port_destroyed()</code>. </p>
<p>A port-destroyed notification is generated when a receive right with a port-destroyed notification request is destroyed. Rather than destroying the receive right, it is transferred via this notifications <em>rights</em> parameter.</p>
<p>This behaves equivalently to a <code>do_mach_notify_port_destroyed()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rights</td><td>A receive right for the port that would have been destroyed. The callee takes ownership of this port, however, if the callee does not wish to take ownership, it may set <em>destroy_request</em> to <code>true</code>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">destroy_request</td><td><code>true</code> if the request message is to be destroyed even when this method returns success. See <a class="el" href="classcrashpad_1_1MachMessageServer_1_1Interface.html" title="A Mach RPC callback interface, called by Run(). ">MachMessageServer::Interface</a>. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#afd3f056edee7243e1b388aed2dcd6505">crashpad::NotifyServer::Interface</a>.</p>
</div>
</div>
<a id="a3a5e82e6bd51eac1dbff7aac2c7b6bf4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a5e82e6bd51eac1dbff7aac2c7b6bf4">&#9670;&nbsp;</a></span>DoMachNotifySendOnce()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifySendOnce </td>
<td>(</td>
<td class="paramtype">notify_port_t&#160;</td>
<td class="paramname"><em>notify</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const mach_msg_trailer_t *&#160;</td>
<td class="paramname"><em>trailer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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>Handles send-once notifications sent by <code>mach_notify_send_once()</code>. </p>
<p>A send-once notification is generated when a send-once right is destroyed without being used.</p>
<p>This behaves equivalently to a <code>do_mach_notify_send_once()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Unlike the other notifications in the <code>notify</code> subsystem, send-once notifications are not generated as a result of a notification request, but are generated any time a send-once right is destroyed rather than being used. The notification is sent via the send-once right to its receiver. These notifications are more useful for clients, not servers. Send-once notifications are normally handled by MIG-generated client routines, which make send-once rights for their reply ports and interpret send-once notifications as a signal that there will be no reply. Although not expected to be primarily useful for servers, this method is provided because send-once notifications are defined as a part of the <code>notify</code> subsystem. </dd></dl>
<p>Implements <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#a39d4166913a905e3354cc2f689869b0e">crashpad::NotifyServer::Interface</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>util/mach/notify_server.h</li>
<li>util/mach/notify_server.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>