Package org.eclipse.debug.core

# Interface IMemoryBlockManager

public interface IMemoryBlockManager
Manages registered memory blocks in the workspace. Clients interested in notification of the addition and removal of memory blocks may register as a memory block listener with the memory block manager.

Since:
  3.1
See Also:
  - `IMemoryBlock`
  - `IMemoryBlockListener`
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

## Method Summary

Modifier and Type
Method
Description
`void`
`addListener(IMemoryBlockListener listener)`
Registers the given listener for memory block addition and removal notification.
`void`
`addMemoryBlocks(IMemoryBlock[] memoryBlocks)`
Adds the given memory blocks to the memory block manager.
`IMemoryBlock[]`
`getMemoryBlocks()`
Returns all registered memory blocks.
`IMemoryBlock[]`
`getMemoryBlocks(IDebugTarget debugTarget)`
Returns all registered memory blocks associated with the given debug target.
`IMemoryBlock[]`
`getMemoryBlocks(IMemoryBlockRetrieval source)`
Returns all registered memory blocks that originated from the given memory retrieval source.
`void`
`removeListener(IMemoryBlockListener listener)`
Unregisters the given listener for memory block addition and removal notification.
`void`
`removeMemoryBlocks(IMemoryBlock[] memoryBlocks)`
Removes the given memory blocks from the memory block manager.

## Method Details

### addMemoryBlocks

void addMemoryBlocks(IMemoryBlock[] memoryBlocks)
Adds the given memory blocks to the memory block manager. Registered memory block listeners are notified of the additions. Has no effect on memory blocks that are already registered.

Parameters:
  `memoryBlocks` - memory blocks to add

### removeMemoryBlocks

void removeMemoryBlocks(IMemoryBlock[] memoryBlocks)
Removes the given memory blocks from the memory block manager. Registered memory block listeners are notified of the removals. Has no effect on memory blocks that are not currently registered.

Parameters:
  `memoryBlocks` - memory blocks to remove

### addListener

void addListener(IMemoryBlockListener listener)
Registers the given listener for memory block addition and removal notification. Has no effect if an identical listener is already registered.

Parameters:
  `listener` - the listener to add

### removeListener

void removeListener(IMemoryBlockListener listener)
Unregisters the given listener for memory block addition and removal notification. Has no effect if an identical listener is not already registered.

Parameters:
  `listener` - the listener to remove

### getMemoryBlocks

IMemoryBlock[] getMemoryBlocks()
Returns all registered memory blocks.

Returns:
  all registered memory blocks

### getMemoryBlocks

IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget)
Returns all registered memory blocks associated with the given debug target. That is, all registered memory blocks whose `getDebugTarget()` method returns the specified debug target.

Parameters:
  `debugTarget` - target for which memory blocks have been requested
Returns:
  all registered memory blocks associated with the given debug target

### getMemoryBlocks

IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval source)
Returns all registered memory blocks that originated from the given memory retrieval source.

Parameters:
  `source` - source for which memory blocks have been requested
Returns:
  all registered memory blocks that originated from the given memory retrieval source