Back to index

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

The nsIStorageStream interface maintains an internal data buffer that can be filled using a single output stream. More...

import "nsIStorageStream.idl";

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

List of all members.

Public Member Functions

void init (in PRUint32 segmentSize, in PRUint32 maxSize, in nsIMemory segmentAllocator)
 Initialize the stream, setting up the amount of space that will be allocated for the stream's backing-store.
nsIOutputStream getOutputStream (in PRInt32 startPosition)
 Get a reference to the one and only output stream for this instance.
nsIInputStream newInputStream (in PRInt32 startPosition)
 Create a new input stream to read data (written by the singleton output stream) from the internal buffer.

Public Attributes

attribute PRUint32 length
 The length attribute indicates the total number of bytes stored in the nsIStorageStream internal buffer, regardless of any consumption by input streams.
readonly attribute boolean writeInProgress
 True, when output stream has not yet been Close'ed.

Detailed Description

The nsIStorageStream interface maintains an internal data buffer that can be filled using a single output stream.

One or more independent input streams can be created to read the data from the buffer non-destructively.

Definition at line 53 of file nsIStorageStream.idl.


Member Function Documentation

Get a reference to the one and only output stream for this instance.

The zero-based startPosition argument is used is used to set the initial write cursor position. The startPosition cannot be set larger than the current buffer length. Calling this method has the side-effect of truncating the internal buffer to startPosition bytes.

void nsIStorageStream::init ( in PRUint32  segmentSize,
in PRUint32  maxSize,
in nsIMemory  segmentAllocator 
)

Initialize the stream, setting up the amount of space that will be allocated for the stream's backing-store.

Parameters:
segmentSizeSize of each segment. Must be a power of two.
maxSizeMaximum total size of this stream. length will always be less than or equal to this value. Passing PR_UINT32_MAX is safe.
segmentAllocatorWhich allocator to use for the segments. May be null, in which case a default allocator will be used.

Create a new input stream to read data (written by the singleton output stream) from the internal buffer.

Multiple, independent input streams can be created.


Member Data Documentation

The length attribute indicates the total number of bytes stored in the nsIStorageStream internal buffer, regardless of any consumption by input streams.

Assigning to the length field can be used to truncate the buffer data, but can not be used when either the instance's output stream is in use.

writeInProgress

Definition at line 95 of file nsIStorageStream.idl.

True, when output stream has not yet been Close'ed.

Definition at line 100 of file nsIStorageStream.idl.


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