LibreOffice LibreOffice 25.2 SDK API Reference

Exported Interfaces | List of all members
ObjectInputStream Service Referencepublished

is a stream which allows reading the data of persistent objects. More...

`import"ObjectInputStream.idl";`

Inheritance diagram for ObjectInputStream:

## Exported Interfaces
interface | com::sun::star::io::XObjectInputStream
| allows to read the data from the stream. More...
interface | com::sun::star::io::XActiveDataSink
| allows to set the underlying inputstream More...
interface | com::sun::star::io::XConnectable
| allows to navigate via a chain of streams More...
interface | com::sun::star::io::XMarkableStream
| allows to set marks within the stream. More...

## Additional Inherited Members
Public Member Functions inherited from XObjectInputStream
com::sun::star::io::XPersistObject | readObject () raises ( com::sun::star::io::IOException )
| reads an object from the stream. More...
Public Member Functions inherited from XDataInputStream
byte | readBoolean () raises ( com::sun::star::io::IOException )
| reads in a boolean. More...
byte | readByte () raises ( com::sun::star::io::IOException )
| reads an 8-bit byte. More...
char | readChar () raises ( com::sun::star::io::IOException )
| reads a 16-bit unicode character. More...
short | readShort () raises ( com::sun::star::io::IOException )
| reads a 16-bit big endian integer. More...
long | readLong () raises ( com::sun::star::io::IOException )
| reads a 32-bit big endian integer. More...
hyper | readHyper () raises ( com::sun::star::io::IOException )
| reads a 64-bit big endian integer. More...
float | readFloat () raises ( com::sun::star::io::IOException )
| reads a 32-bit IEEE float. More...
double | readDouble () raises ( com::sun::star::io::IOException )
| reads a 64-bit IEEE double. More...
string | readUTF () raises ( com::sun::star::io::IOException )
| reads a string of UTF encoded characters. More...
Public Member Functions inherited from XInputStream
long | readBytes ([out] sequence< byte > aData, [in] long nBytesToRead) raises ( com::sun::star::io::NotConnectedException, com::sun::star::io::BufferSizeExceededException, com::sun::star::io::IOException)
| reads the specified number of bytes in the given sequence. More...
long | readSomeBytes ([out] sequence< byte > aData, [in] long nMaxBytesToRead) raises ( com::sun::star::io::NotConnectedException, com::sun::star::io::BufferSizeExceededException, com::sun::star::io::IOException )
| reads the available number of bytes, at maximum nMaxBytesToRead. More...
void | skipBytes ([in] long nBytesToSkip) raises ( com::sun::star::io::NotConnectedException, com::sun::star::io::BufferSizeExceededException, com::sun::star::io::IOException )
| skips the next nBytesToSkip bytes (must be positive). More...
long | available () raises ( com::sun::star::io::NotConnectedException, com::sun::star::io::IOException )
| states how many bytes can be read or skipped without blocking. More...
void | closeInput () raises ( com::sun::star::io::NotConnectedException, com::sun::star::io::IOException)
| closes the stream. More...
Public Member Functions inherited from XInterface
any | queryInterface ([in] type aType)
| queries for a new interface to an existing UNO object. More...
void | acquire ()
| increases the reference counter by one. More...
void | release ()
| decreases the reference counter by one. More...
Public Member Functions inherited from XActiveDataSink
void | setInputStream ([in] com::sun::star::io::XInputStream aStream)
| plugs the input stream. More...
com::sun::star::io::XInputStream | getInputStream ()
Public Member Functions inherited from XConnectable
void | setPredecessor ([in] com::sun::star::io::XConnectable aPredecessor)
| sets the source of the data flow for this object. More...
com::sun::star::io::XConnectable | getPredecessor ()
void | setSuccessor ([in] com::sun::star::io::XConnectable aSuccessor)
| sets the sink of the data flow for this object. More...
com::sun::star::io::XConnectable | getSuccessor ()
Public Member Functions inherited from XMarkableStream
long | createMark () raises ( com::sun::star::io::IOException )
| creates a mark of the current position and returns an identifier to it. More...
void | deleteMark ([in] long Mark) raises ( com::sun::star::io::IOException, com::sun::star::lang::IllegalArgumentException )
| deletes the mark that you previously created with XMarkableStream::createMark(). More...
void | jumpToMark ([in] long nMark) raises ( com::sun::star::io::IOException, com::sun::star::lang::IllegalArgumentException )
| jumps to a previously created mark. More...
void | jumpToFurthest () raises ( com::sun::star::io::IOException )
| jumps to the furthest position of the stream. More...
long | offsetToMark ([in] long nMark) raises ( com::sun::star::io::IOException, com::sun::star::lang::IllegalArgumentException )

## Detailed Description

is a stream which allows reading the data of persistent objects.

Implementations of this service must fulfill the specifications of the DataInputStream service. It must be chained to an XMarkableStream. Therefore, it provides the XMarkableStream interface, and delegates the calls to the chained object.

The written objects are held until this instance is destroyed. The references to the objects are read as four-byte integers. Data format reads:

    short   InfoLength
    long    ObjectReference  // 0 indicates no object
    UTF     ServiceName      // length of 0 indicates this is only a reference
    long    ObjectLength     // 0 if it is a reference or no object, otherwise the len of the object data
    Object  ObjectData       // the data of the object
    ...                      // skipping additional data

Note
  - -thread safe
  - -allow buffer size is 2 ^ 31 -1
  - -maximum object reference identifier must be the number of objects.
  - -object reference identifier 0 indicates no object
  - -skip addition data
  - -set the stream position behind the object data

## Exported Interfaces

## ◆ com::sun::star::io::XActiveDataSink

interface com::sun::star::io::XActiveDataSink

allows to set the underlying inputstream

## ◆ com::sun::star::io::XConnectable

interface com::sun::star::io::XConnectable

allows to navigate via a chain of streams

## ◆ com::sun::star::io::XMarkableStream

interface com::sun::star::io::XMarkableStream

allows to set marks within the stream.

The implementation may forward calls to this interface to a chained markablestream.

## ◆ com::sun::star::io::XObjectInputStream

interface com::sun::star::io::XObjectInputStream

allows to read the data from the stream.

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

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