LibreOffice
LibreOffice 24.2 SDK API Reference
Public Member Functions | List of all members
XAsyncOutputMonitor Interface Reference

An optional companion interface to com::sun::star::io::XOutputStream that supports scenarios where com::sun::star::io::XOutputStream::writeBytes() operates asynchronously and does not necessarily report any errors. More...

import"XAsyncOutputMonitor.idl";

Public Member Functions

void waitForCompletion () raises (IOException)
 waits for the completion of any previous calls to com::sun::star::io::XOutputStream::writeBytes(), and reports potentially pending errors. More...
 

Detailed Description

An optional companion interface to com::sun::star::io::XOutputStream that supports scenarios where com::sun::star::io::XOutputStream::writeBytes() operates asynchronously and does not necessarily report any errors.

A typical scenario where this interface is useful is when an com::sun::star::io::XOutputStream is used to write to a file via NFS. Normally, any calls to com::sun::star::io::XOutputStream::writeBytes() will execute asynchronously then, in that any potential errors might only be reported by later calls to com::sun::star::io::XOutputStream::writeBytes() or com::sun::star::io::XOutputStream::closeOutput(). If such an output stream shall not be closed immediately after one or more calls to com::sun::star::io::XOutputStream::writeBytes(), but the client wants to know as soon as possible whether writing was successful, then com::sun::star::io::XAsyncOutputMonitor::waitForCompletion() should be called after the series of calls to com::sun::star::io::XOutputStream::writeBytes().

Since
OOo 2.0

Member Function Documentation

◆ waitForCompletion()

void waitForCompletion ( )
raises (IOException
)

waits for the completion of any previous calls to com::sun::star::io::XOutputStream::writeBytes(), and reports potentially pending errors.

Calling this method is potentially expensive (even if the associated com::sun::star::io::XOutputStream represents a local file not accessed via NFS, for example). This method has a similar description to com::sun::star::io::XOutputStream::flush(). However, where the semantics of flush are rather vague, waitForCompletion has very specific semantics—it just blocks long enough so that any errors encountered during previous calls to com::sun::star::io::XOutputStream::writeBytes() can reliably be reported. It specifically does not guarantee that any data have safely been stored on a stable physical medium, like a hard disk (and it is completely unspecified whether flush should give this guarantee).

Exceptions
com::sun::star::io::IOExceptionif any previous call to com::sun::star::io::XOutputStream::writeBytes() encountered such an error, but has not yet reported it (in cases where writeBytes operates asynchronously).

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