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

Modifier and Type
Method
Description
`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 Details

### 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