This article needs a technical review. How you can help.
IDL file: mozilla-central/source/dom/base/nsIMessageManager.idl
Inherits from: nsIMessageListenerManager
Message "senders" have a single "other side" to which messages are sent. For example, a child-process message manager will send messages that are only delivered to its one parent-process message manager.
See Message Manager interfaces for more details on the distinction between message senders and message broadcasters.
Both sendSyncMessage()
and sendRpcMessage()
will block until a reply is received, but they may be temporarily interrupted to process an urgent incoming message (such as a CPOW request).
Methods
jsval sendSyncMessage([optional] in AString messageName, |
jsval sendRpcMessage([optional] in AString messageName, |
sendSyncMessage()
Like sendAsyncMessage()
, except blocks the sender until all listeners of the message have been invoked. Returns an array containing return values from each listener invoked.
Send messageName
and obj
to the "other side" of this message manager. This invokes listeners who registered for messageName
using a nsIMessageListenerManager
.
See nsIMessageListener::receiveMessage()
for the format of the data delivered to listeners.
Throws NS_ERROR_NOT_INITIALIZED
if the sender is not initialized. For example, we will throw NS_ERROR_NOT_INITIALIZED
if we try to send a message to a cross-process frame but the other process has not yet been set up.
Throws NS_ERROR_FAILURE
when the message receiver cannot be found. For example, we will throw NS_ERROR_FAILURE
if we try to send a message to a cross-process frame whose process has crashed.
Parameters
Name | Type | Description |
---|---|---|
messageName |
String |
The name of the message. Optional. This becomes the |
obj |
Object. |
The message payload. A structured clone of this becomes the |
objects |
Object. |
An object each of whose properties is an object. This becomes the |
principal |
nsIPrincipal |
Returns
Array
: an array of structured clones of the objects returned by all the listeners to this message, one element for each listener. If there was only one listener, it is an array with a single element.
sendRpcMessage()
Like sendSyncMessage()
, except re-entrant. New RPC messages may be issued even if, earlier on the call stack, we are waiting for a reply to an earlier sendRpcMessage()
call.
Parameters
Name | Type | Description |
---|---|---|
messageName |
String |
The name of the message. Optional. This becomes the |
obj |
JSONable object. |
The message payload. A structured clone of this becomes the |
objects |
Object. |
An object each of whose properties is an object. This becomes the |
principal |
nsIPrincipal |
Returns
Array
: an array of structured clones of the objects returned by all the listeners to this message, one element for each listener. If there was only one listener, it is an array with a single element.