LibreOffice LibreOffice 24.2 SDK API Reference

Loading...
Searching...
No Matches
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.

## 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::IOException | if 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:

- com/sun/star/io/XAsyncOutputMonitor.idl