Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Public Attributes
nsIFastLoadFileControl Interface Reference

The nsIFastLoadFileControl interface and its subinterfaces are mix-ins for classes implementing nsIObjectInputStream and nsIObjectOutputStream, so that those stream types can be used with nsIFastLoadService to access and compute FastLoad file checksums, update and check FastLoad file dependencies, and multiplex documents loaded via non-blocking i/o. More...

import "nsIFastLoadFileControl.idl";

Inheritance diagram for nsIFastLoadFileControl:
Inheritance graph
[legend]
Collaboration diagram for nsIFastLoadFileControl:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void startMuxedDocument (in nsISupports aURI, in string aURISpec)
 Multiplexed document control methods.
nsISupports selectMuxedDocument (in nsISupports aURI)
void endMuxedDocument (in nsISupports aURI)
boolean hasMuxedDocument (in string aURISpec)
 Return true if aURISpec identifies a muxed document in the FastLoad file, false otherwise.

Public Attributes

attribute PRUint32 checksum
 Get and set the recorded checksum value from the FastLoad file header.

Detailed Description

The nsIFastLoadFileControl interface and its subinterfaces are mix-ins for classes implementing nsIObjectInputStream and nsIObjectOutputStream, so that those stream types can be used with nsIFastLoadService to access and compute FastLoad file checksums, update and check FastLoad file dependencies, and multiplex documents loaded via non-blocking i/o.

If an nsIObjectInputStream class doesn't support nsIFastLoadReadControl, or an nsIObjectOutputStream class doesn't support nsIFastLoadWriteControl, that implementation may still be useful for object serialization, but it can't be used to read or write a Mozilla FastLoad file.

Definition at line 58 of file nsIFastLoadFileControl.idl.


Member Function Documentation

Return true if aURISpec identifies a muxed document in the FastLoad file, false otherwise.

nsISupports nsIFastLoadFileControl::selectMuxedDocument ( in nsISupports  aURI)
void nsIFastLoadFileControl::startMuxedDocument ( in nsISupports  aURI,
in string  aURISpec 
)

Multiplexed document control methods.

A FastLoad file may contain multiple interleaved documents identified by a URI specifier string, and indexed for fast multiplexor select by an opaque URI object key. You StartMuxedDocument when initiating a document load, then Select before every batch of calls to (de)serialize document data, and End when the load completes.

Document multiplexing is necessary to support incremental FastLoad development in a non-blocking i/o architecture such as Mozilla, where some (but not all, at first, or for a while during development) of the results of parsing and compiling various inputs can be multiplexed to or from a FastLoad file.

Note: Select returns the previously selected URI object in case the caller is synchronously selecting and writing data to the FastLoad file, so the caller can reselect the previous URI and return to code the continues to write FastLoad data for the previous URI, unaware of the nested select/write/reselect.


Member Data Documentation

Get and set the recorded checksum value from the FastLoad file header.

Definition at line 63 of file nsIFastLoadFileControl.idl.


The documentation for this interface was generated from the following file: