Interface nsISafeOutputStreamType

This interface provides a mechanism to control an output stream that takes care not to overwrite an existing target until it is known that all writes to the destination succeeded.

An object that supports this interface is intended to also support nsIOutputStream.

For example, a file output stream that supports this interface writes to a temporary file, and moves it over the original file when |finish| is called only if the stream can be successfully closed and all writes succeeded. If |finish| is called but something went wrong during writing, it will delete the temporary file and not touch the original. If the stream is closed by calling |close| directly, or the stream goes away, the original file will not be overwritten, and the temporary file will be deleted.

Currently, this interface is implemented only for file output streams.

Hierarchy

Methods

  • Increases the reference count for this interface. The associated instance will not be deleted unless the reference count is returned to zero.

    Returns

    The resulting reference count.

    Returns number

  • Parameters

    • aIID: object
    • Optional aInstancePtr: object

    Returns any

  • A run time mechanism for interface discovery.

    Returns

    NS_OK if the interface is supported by the associated instance, NS_NOINTERFACE if it is not.

    aInstancePtr must not be null.

    Parameters

    • aIID: object

      [in] A requested interface IID

    • aInstancePtr: object

      [out] A pointer to an interface pointer to receive the result.

    Returns void

  • Decreases the reference count for this interface. Generally, if the reference count returns to zero, the associated instance is deleted.

    Returns

    The resulting reference count.

    Returns number

  • Call this method to close the stream and cause the original target to be overwritten. Note: if any call to |write| failed to write out all of the data given to it, then calling this method will |close| the stream and return failure. Further, if closing the stream fails, this method will return failure. The original target will be overwritten only if all calls to |write| succeeded and the stream was successfully closed.

    Returns void

Generated using TypeDoc