diff --git a/doc/generated/doxygen/annotated.html b/doc/generated/doxygen/annotated.html index 66e147fc..efdce3cc 100644 --- a/doc/generated/doxygen/annotated.html +++ b/doc/generated/doxygen/annotated.html @@ -269,7 +269,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');  CMinidumpUTF8StringA variable-length UTF-8-encoded string carried within a minidump file  CModuleSnapshotAn abstract interface to a snapshot representing a code module (binary image) loaded into a snapshot process  CNotifyServerA server interface for the notify Mach subsystem - CInterfaceAn interface that the different request messages that are a part of the notify Mach subsystem can be dispatched to + CDefaultInterfaceA concrete implementation of Interface that provides a default behavior for all notify routines + CInterfaceAn interface that the different request messages that are a part of the notify Mach subsystem can be dispatched to  CPEImageAnnotationsReaderA reader of annotations stored in a PE image mapped into another process  CPEImageReaderA reader for PE images mapped into another process  CPointerContainerAllows a standard container to “own” pointer elements stored in it diff --git a/doc/generated/doxygen/classcrashpad_1_1NotifyServer.html b/doc/generated/doxygen/classcrashpad_1_1NotifyServer.html index 431518c8..58a825bf 100644 --- a/doc/generated/doxygen/classcrashpad_1_1NotifyServer.html +++ b/doc/generated/doxygen/classcrashpad_1_1NotifyServer.html @@ -113,6 +113,9 @@ Inheritance diagram for crashpad::NotifyServer: + + + diff --git a/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface-members.html b/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface-members.html new file mode 100644 index 00000000..4c39f239 --- /dev/null +++ b/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface-members.html @@ -0,0 +1,114 @@ + + + + + + +Crashpad: Member List + + + + + + + + + + +
+
+

Classes

class  DefaultInterface
 A concrete implementation of Interface that provides a default behavior for all notify routines. More...
 
class  Interface
 An interface that the different request messages that are a part of the notify Mach subsystem can be dispatched to. More...
 
+ + + + + +
+
Crashpad +
+
+ + + + + + + +
+
+ + +
+ +
+ + + +
+
+
crashpad::NotifyServer::DefaultInterface Member List
+
+
+ +

This is the complete list of members for crashpad::NotifyServer::DefaultInterface, including all inherited members.

+ + + + + + + + + +
DefaultInterface() (defined in crashpad::NotifyServer::DefaultInterface)crashpad::NotifyServer::DefaultInterfaceinlineprotected
DoMachNotifyDeadName(notify_port_t notify, mach_port_name_t name, const mach_msg_trailer_t *trailer) overridecrashpad::NotifyServer::DefaultInterfacevirtual
DoMachNotifyNoSenders(notify_port_t notify, mach_port_mscount_t mscount, const mach_msg_trailer_t *trailer) overridecrashpad::NotifyServer::DefaultInterfacevirtual
DoMachNotifyPortDeleted(notify_port_t notify, mach_port_name_t name, const mach_msg_trailer_t *trailer) overridecrashpad::NotifyServer::DefaultInterfacevirtual
DoMachNotifyPortDestroyed(notify_port_t notify, mach_port_t rights, const mach_msg_trailer_t *trailer, bool *destroy_request) overridecrashpad::NotifyServer::DefaultInterfacevirtual
DoMachNotifySendOnce(notify_port_t notify, const mach_msg_trailer_t *trailer) overridecrashpad::NotifyServer::DefaultInterfacevirtual
~DefaultInterface() (defined in crashpad::NotifyServer::DefaultInterface)crashpad::NotifyServer::DefaultInterfaceinlineprotected
~Interface() (defined in crashpad::NotifyServer::Interface)crashpad::NotifyServer::Interfaceinlineprotected
+ + + + diff --git a/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface.html b/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface.html new file mode 100644 index 00000000..b07665c4 --- /dev/null +++ b/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface.html @@ -0,0 +1,419 @@ + + + + + + +Crashpad: crashpad::NotifyServer::DefaultInterface Class Reference + + + + + + + + + + +
+
+ + + + + + +
+
Crashpad +
+
+
+ + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
crashpad::NotifyServer::DefaultInterface Class Reference
+
+
+ +

A concrete implementation of Interface that provides a default behavior for all notify routines. + More...

+ +

#include "util/mach/notify_server.h"

+
+Inheritance diagram for crashpad::NotifyServer::DefaultInterface:
+
+
+ + +crashpad::NotifyServer::Interface + +
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

kern_return_t DoMachNotifyPortDeleted (notify_port_t notify, mach_port_name_t name, const mach_msg_trailer_t *trailer) override
 Handles port-deleted notifications sent by mach_notify_port_deleted(). More...
 
kern_return_t DoMachNotifyPortDestroyed (notify_port_t notify, mach_port_t rights, const mach_msg_trailer_t *trailer, bool *destroy_request) override
 Handles port-destroyed notifications sent by mach_notify_port_destroyed(). More...
 
kern_return_t DoMachNotifyNoSenders (notify_port_t notify, mach_port_mscount_t mscount, const mach_msg_trailer_t *trailer) override
 Handles no-senders notifications sent by mach_notify_no_senders(). More...
 
kern_return_t DoMachNotifySendOnce (notify_port_t notify, const mach_msg_trailer_t *trailer) override
 Handles send-once notifications sent by mach_notify_send_once(). More...
 
kern_return_t DoMachNotifyDeadName (notify_port_t notify, mach_port_name_t name, const mach_msg_trailer_t *trailer) override
 Handles dead-name notifications sent by mach_notify_dead_name(). More...
 
+

Detailed Description

+

A concrete implementation of Interface that provides a default behavior for all notify routines.

+

The Mach notify 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 NotifyServer, a server can inherit from DefaultInterface instead of Interface. Unless overridden, each routine in DefaultInterface returns MIG_BAD_ID to indicate to the caller that the notify message was unexpected and not processed.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifyDeadName (notify_port_t notify,
mach_port_name_t name,
const mach_msg_trailer_t * trailer 
)
+
+overridevirtual
+
+ +

Handles dead-name notifications sent by mach_notify_dead_name().

+

A dead-name notification is generated when a port with a dead-name notification request is destroyed and the right becomes a dead name.

+

This behaves equivalently to a do_mach_notify_dead_name() function used with notify_server().

+
Parameters
+ + + + +
[in]notifyThe Mach port that the notification was sent to.
[in]nameThe dead name. Although this is transferred as a mach_port_name_t and not a mach_port_t, the callee assumes an additional reference to this port when this method is called. See the note below.
[in]trailerThe trailer received with the notification message.
+
+
+
Note
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. DoMachNotifyDeadName() implementations must take care to deallocate this extra reference. There is no destroy_request parameter to simplify this operation because dead-name notifications carry a port name only (name is of type mach_port_name_t) without transferring port rights, and are thus not complex Mach messages.
+ +

Implements crashpad::NotifyServer::Interface.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifyNoSenders (notify_port_t notify,
mach_port_mscount_t mscount,
const mach_msg_trailer_t * trailer 
)
+
+overridevirtual
+
+ +

Handles no-senders notifications sent by mach_notify_no_senders().

+

A no-senders notification is generated when a receive right with a no-senders notification request loses its last corresponding send right.

+

This behaves equivalently to a do_mach_notify_no_senders() function used with notify_server().

+
Parameters
+ + + + +
[in]notifyThe Mach port that the notification was sent to.
[in]mscountThe value of the sender-less port’s make-send count at the time the notification was generated.
[in]trailerThe trailer received with the notification message.
+
+
+ +

Implements crashpad::NotifyServer::Interface.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifyPortDeleted (notify_port_t notify,
mach_port_name_t name,
const mach_msg_trailer_t * trailer 
)
+
+overridevirtual
+
+ +

Handles port-deleted notifications sent by mach_notify_port_deleted().

+

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.

+

This behaves equivalently to a do_mach_notify_port_deleted() function used with notify_server().

+
Parameters
+ + + + +
[in]notifyThe Mach port that the notification was sent to.
[in]nameThe name that formerly referenced the deleted port. When this method is called, name no longer corresponds to the port that has been deleted, and may be reused for another purpose.
[in]trailerThe trailer received with the notification message.
+
+
+ +

Implements crashpad::NotifyServer::Interface.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifyPortDestroyed (notify_port_t notify,
mach_port_t rights,
const mach_msg_trailer_t * trailer,
bool * destroy_request 
)
+
+overridevirtual
+
+ +

Handles port-destroyed notifications sent by mach_notify_port_destroyed().

+

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 notification’s rights parameter.

+

This behaves equivalently to a do_mach_notify_port_destroyed() function used with notify_server().

+
Parameters
+ + + + + +
[in]notifyThe Mach port that the notification was sent to.
[in]rightsA 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 destroy_request to true.
[in]trailerThe trailer received with the notification message.
[out]destroy_requesttrue if the request message is to be destroyed even when this method returns success. See MachMessageServer::Interface.
+
+
+ +

Implements crashpad::NotifyServer::Interface.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
kern_return_t crashpad::NotifyServer::DefaultInterface::DoMachNotifySendOnce (notify_port_t notify,
const mach_msg_trailer_t * trailer 
)
+
+overridevirtual
+
+ +

Handles send-once notifications sent by mach_notify_send_once().

+

A send-once notification is generated when a send-once right is destroyed without being used.

+

This behaves equivalently to a do_mach_notify_send_once() function used with notify_server().

+
Parameters
+ + + +
[in]notifyThe Mach port that the notification was sent to.
[in]trailerThe trailer received with the notification message.
+
+
+
Note
Unlike the other notifications in the notify 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 notify subsystem.
+ +

Implements crashpad::NotifyServer::Interface.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface.png b/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface.png new file mode 100644 index 00000000..3b79f2fe Binary files /dev/null and b/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1DefaultInterface.png differ diff --git a/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1Interface.html b/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1Interface.html index efa197ec..5ca2e05f 100644 --- a/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1Interface.html +++ b/doc/generated/doxygen/classcrashpad_1_1NotifyServer_1_1Interface.html @@ -100,6 +100,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); More...

#include "util/mach/notify_server.h"

+
+Inheritance diagram for crashpad::NotifyServer::Interface:
+
+
+ + +crashpad::NotifyServer::DefaultInterface + +
@@ -121,6 +130,7 @@ Public Member Functions

Public Member Functions

Detailed Description

An interface that the different request messages that are a part of the notify Mach subsystem can be dispatched to.

+

Default implementations of all methods are available in the DefaultInterface class.

Member Function Documentation

@@ -173,6 +183,8 @@ Public Member Functions
Note
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. DoMachNotifyDeadName() implementations must take care to deallocate this extra reference. There is no destroy_request parameter to simplify this operation because dead-name notifications carry a port name only (name is of type mach_port_name_t) without transferring port rights, and are thus not complex Mach messages.
+

Implemented in crashpad::NotifyServer::DefaultInterface.

+
@@ -225,6 +237,8 @@ Public Member Functions +

Implemented in crashpad::NotifyServer::DefaultInterface.

+ @@ -277,6 +291,8 @@ Public Member Functions +

Implemented in crashpad::NotifyServer::DefaultInterface.

+ @@ -336,6 +352,8 @@ Public Member Functions +

Implemented in crashpad::NotifyServer::DefaultInterface.

+ @@ -382,6 +400,8 @@ Public Member Functions
Note
Unlike the other notifications in the notify 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 notify subsystem.
+

Implemented in crashpad::NotifyServer::DefaultInterface.

+
The documentation for this class was generated from the following file: