the IPC service provides the means to communicate with an external IPC daemon and/or other mozilla-based applications on the same physical system. the IPC daemon hosts modules (some builtin and others dynamically loaded) with which applications may interact.
at application startup, the IPC service will attempt to establish a connection with the IPC daemon. the IPC daemon will be automatically started if necessary. when a connection has been established, the IPC service will enumerate the "ipc-startup-category" and broadcast an "ipc-startup" notification using the observer service.
when the connection to the IPC daemon is closed, an "ipc-shutdown" notification will be broadcast.
each client has a name. the client name need not be unique across all clients, but it is usually good if it is. the IPC service does not require unique names. instead, the IPC daemon assigns each client a unique ID that is good for the current "session." clients can query other clients by name or by ID. the IPC service supports forwarding messages from one client to another via the IPC daemon.
for performance reasons, this system should not be used to transfer large amounts of data. instead, applications may choose to utilize shared memory, and rely on the IPC service for synchronization and small message transfer only.
Public Member Functions
|void||addClientObserver (in ipcIClientObserver aObserver)|
|void||addName (in string aName)|
|boolean||clientExists (in unsigned long aClientID)|
|void||defineTarget (in nsIDRef aTarget, in ipcIMessageObserver aObserver, in boolean aOnCurrentThread)|
|void||disableMessageObserver (in nsIDRef aTarget)|
|void||enableMessageObserver (in nsIDRef aTarget)|
|void||removeClientObserver (in ipcIClientObserver aObserver)|
|void||removeName (in string aName)|
|unsigned long||resolveClientName (in string aName)|
|void||sendMessage (in unsigned long aReceiverID, in nsIDRef aTarget,[array, const, size_is(aDataLen)] in octet aData, in unsigned long aDataLen)|
|void||waitMessage (in unsigned long aSenderID, in nsIDRef aTarget, in ipcIMessageObserver aObserver, in unsigned long aTimeout)|
|NS_IMETHOD_ (nsrefcnt) Release(void)=0|
|NS_IMETHOD_ (nsrefcnt) AddRef(void)=0|
|NS_IMETHOD||QueryInterface (REFNSIID aIID, void **aInstancePtr)=0|
|readonly attribute unsigned long||ID|