Struct xpcom::interfaces::nsIStorageStream
[−]
[src]
#[repr(C)]pub struct nsIStorageStream { /* fields omitted */ }
interface nsIStorageStream : nsISupports
/**
* 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.
*/
Methods
impl nsIStorageStream
[src]
pub fn coerce<T: nsIStorageStreamCoerce>(&self) -> &T
[src]
Cast this nsIStorageStream
to one of its base interfaces.
impl nsIStorageStream
[src]
pub unsafe fn Init(&self, segmentSize: uint32_t, maxSize: uint32_t) -> nsresult
[src]
/**
*
* Initialize the stream, setting up the amount of space that will be
* allocated for the stream's backing-store.
*
* @param segmentSize
* Size of each segment. Must be a power of two.
* @param maxSize
* Maximum total size of this stream. length will always be less
* than or equal to this value. Passing UINT32_MAX is safe.
*/
void init (in uint32_t segmentSize, in uint32_t maxSize);
pub unsafe fn GetOutputStream(
&self,
startPosition: int32_t,
_retval: *mut *const nsIOutputStream
) -> nsresult
[src]
&self,
startPosition: int32_t,
_retval: *mut *const nsIOutputStream
) -> nsresult
/**
* 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.
*/
nsIOutputStream getOutputStream (in int32_t startPosition);
pub unsafe fn NewInputStream(
&self,
startPosition: int32_t,
_retval: *mut *const nsIInputStream
) -> nsresult
[src]
&self,
startPosition: int32_t,
_retval: *mut *const nsIInputStream
) -> nsresult
/**
* 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.
*/
nsIInputStream newInputStream (in int32_t startPosition);
pub unsafe fn GetLength(&self, aLength: *mut uint32_t) -> nsresult
[src]
/**
* 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.
*
* @See #writeInProgress */
attribute uint32_t length;
pub unsafe fn SetLength(&self, aLength: uint32_t) -> nsresult
[src]
/**
* 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.
*
* @See #writeInProgress */
attribute uint32_t length;
pub unsafe fn GetWriteInProgress(&self, aWriteInProgress: *mut bool) -> nsresult
[src]
/**
* True, when output stream has not yet been Close'ed
*/
readonly attribute boolean writeInProgress;
Methods from Deref<Target = nsISupports>
pub fn coerce<T: nsISupportsCoerce>(&self) -> &T
[src]
Cast this nsISupports
to one of its base interfaces.
pub unsafe fn QueryInterface(
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
[src]
&self,
uuid: &nsIID,
result: *mut *mut c_void
) -> nsresult
void QueryInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result);
pub unsafe fn AddRef(&self) -> nsrefcnt
[src]
[noscript,notxpcom] nsrefcnt AddRef ();
pub unsafe fn Release(&self) -> nsrefcnt
[src]
[noscript,notxpcom] nsrefcnt Release ();
Trait Implementations
impl XpCom for nsIStorageStream
[src]
const IID: nsIID
IID: nsIID = nsID(1151467774, 27691, 19265, [180, 227, 99, 232, 193, 78, 124, 13])
fn query_interface<T: XpCom>(&self) -> Option<RefPtr<T>>
[src]
Perform a QueryInterface call on this object, attempting to dynamically cast it to the requested interface type. Returns Some(RefPtr) if the cast succeeded, and None otherwise. Read more
impl RefCounted for nsIStorageStream
[src]
unsafe fn addref(&self)
[src]
Increment the reference count.
unsafe fn release(&self)
[src]
Decrement the reference count, potentially freeing backing memory.
impl Deref for nsIStorageStream
[src]
type Target = nsISupports
The resulting type after dereferencing.
fn deref(&self) -> &nsISupports
[src]
Dereferences the value.