Package org.eclipse.debug.core.model

## Interface IBinaryStreamMonitor

All Superinterfaces:
  `IFlushableStreamMonitor`, `IStreamMonitor`

    public interface IBinaryStreamMonitor
    extends IFlushableStreamMonitor

A variant of `IStreamMonitor` which does not touch the received content and pass it as bytes instead of strings.

A stream monitor manages the contents of the stream a process is writing to, and notifies registered listeners of changes in the stream.

Clients may implement this interface. Generally, a client that provides an implementation of the `IBinaryStreamsProxy` interface must also provide an implementation of this interface.

Since:
  3.16
See Also:
  `IStreamsProxy`, `IFlushableStreamMonitor`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addBinaryListener​(IBinaryStreamListener listener)` Adds the given listener to this stream monitor's registered listeners.
`byte[]` `getData()` Returns the entire current contents of the stream.
`void` `removeBinaryListener​(IBinaryStreamListener listener)` Removes the given listener from this stream monitor's registered listeners.

### Methods inherited from interface org.eclipse.debug.core.model.IFlushableStreamMonitor

`flushContents, isBuffered, setBuffered`

### Methods inherited from interface org.eclipse.debug.core.model.IStreamMonitor

`addListener, getContents, removeListener`

### Method Detail

#### addBinaryListener

    void addBinaryListener​(IBinaryStreamListener listener)

Adds the given listener to this stream monitor's registered listeners. Has no effect if an identical listener is already registered.

Parameters:
  `listener` - the listener to add

#### getData

    byte[] getData()

Returns the entire current contents of the stream. An empty array is returned if the stream is empty.

Note: the current content is influenced by the buffering mechanism.

Returns:
  the stream contents as array
See Also:
  `IFlushableStreamMonitor.isBuffered()`, `IFlushableStreamMonitor.flushContents()`

#### removeBinaryListener

    void removeBinaryListener​(IBinaryStreamListener listener)

Removes the given listener from this stream monitor's registered listeners. Has no effect if the listener is not already registered.

Parameters:
  `listener` - the listener to remove