diff options
Diffstat (limited to 'org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java')
-rw-r--r-- | org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java deleted file mode 100644 index cb4134807..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java +++ /dev/null @@ -1,243 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -import java.math.BigInteger; - -import org.eclipse.debug.core.DebugException; - -/** - * Extensions to {@link org.eclipse.debug.core.model.IMemoryBlock}. Allows - * for bytes to be accessed in a larger address space, and for state information - * to be provided for each byte. - * <p> - * Clients may optionally implement this interface when providing implementations of - * {@link org.eclipse.debug.core.model.IMemoryBlock}. - * </p> - * @since 3.1 - * @see org.eclipse.debug.core.model.MemoryByte - */ -public interface IMemoryBlockExtension extends IMemoryBlock { - - /** - * Returns the expression used to create this memory block. An expression can - * be used as name for a memory block and typically represents an expression - * used to compute a base address for a memory block. - * - * @return the expression used to create this memory block - */ - public String getExpression(); - - /** - * Returns the base address of this memory block as a big integer. The - * address is in terms of addressable units. - * - * @return the base address of this memory block - * @throws DebugException if unable to retrieve the base address - */ - public BigInteger getBigBaseAddress() throws DebugException; - - /** - * Returns the hard start address of this memory block as a big integer, or - * <code>null</code> if none. A <code>null</code> start address indicates that - * memory may be retrieved at any address less than this memory block's base - * address. - * - * @return the hard start address of this memory block or <code>null</code> - * @throws DebugException if unable to retrieve the start address of this memory block. - */ - public BigInteger getMemoryBlockStartAddress() throws DebugException; - - /** - * Returns the hard end address of this memory block as a big integer, or - * <code>null</code> if none. A <code>null</code> end address indicates that - * memory may be retrieved from any positive offset relative to the base address - * of this memory block. - * - * @return the hard end address of this memory block or <code>null</code> - * @throws DebugException if unable to retrieve the end address of this memory block. - */ - public BigInteger getMemoryBlockEndAddress() throws DebugException; - - /** - * Returns the length of this memory block, or -1 if unbounded. - * Returns "end address - start address" for a memory block with a fixed - * length (i.e. when both start and end address are known). - * Returns -1 for an unbounded memory block (i.e. when start or end address is - * <code>null</code>). - * - * @return length of this memory block or -1 if unbounded - * @throws DebugException if unable to retrieve the length of this memory block. - */ - public BigInteger getBigLength() throws DebugException; - - /** - * Returns the address size of this memory block in number of bytes. The address - * size indicates the number of bytes used to construct an address. - * - * @return address size in number of bytes - * @throws DebugException if unable to retrieve the address size - */ - public int getAddressSize() throws DebugException; - - /** - * Returns whether the base address of this memory block can be modified. - * - * @return whether the base address of this memory block can be modified - * @throws DebugException is unable to determine if base address modification is supported - */ - public boolean supportBaseAddressModification() throws DebugException; - - /** - * Returns whether this memory block manages the change state of its bytes. - * <p> - * If a memory block manages changes the memory block is responsible for - * setting the <code>CHANGED</code> state of its <code>MemoryByte</code>'s - * returned from <code>getBytesFromAddress</code> and - * <code>getBytesFromOffset</code>. The changed state of a byte should - * be updated each time a thread suspends in a memory block's target. - * </p> - * @return whether this memory block manages the change state of its bytes - */ - public boolean supportsChangeManagement(); - - /** - * Sets the base address of this memory block to the given address. - * - * @param address new base address - * @throws DebugException if unable to modify the base address, or modification - * of the base address fails - */ - public void setBaseAddress(BigInteger address) throws DebugException; - - /** - * Returns bytes from this memory block based on the base address and - * addressable size of this memory block. - * <p> - * A memory block may be asked to retrieve bytes beyond it's start - * or end address. If a memory block is unable to retrieve memory outside - * these boundaries, implementations should return memory bytes with - * the <code>READABLE</code> bit turned off for each byte outside - * the of the accessible range. An exception should not be thrown in this - * case. - * </p> - * @param unitOffset zero based offset into this memory block at which to start - * retrieving bytes in terms of addressable units. Client should retrieve - * memory starting from "base address + offset". - * @param addressableUnits the number of addressable units to retrieve - * @return an array of bytes from this memory block based on the given offset - * and number of units. The size of the array returned must to be equal to - * <code>units</code> * <code>getAddressableSize()</code>. - * @throws DebugException if unable to retrieve the specified bytes due to - * a failure communicating with the target - * @see MemoryByte - */ - public MemoryByte[] getBytesFromOffset(BigInteger unitOffset, long addressableUnits) throws DebugException; - - /** - * Returns bytes from this memory block based on the given address and the - * addressable size of this memory block. - * <p> - * A memory block may be asked to retrieve bytes beyond it's start - * or end address. If a memory block is unable to retrieve memory outside - * these boundaries, implementations should return memory bytes with - * the <code>READABLE</code> bit turned off for each byte outside - * the of the accessible range. An exception should not be thrown in this - * case. - * </p> - * @param address address at which to begin retrieving bytes in terms - * of addressable units - * @param units is the number of addressable units of memory to retrieve - * @return an array of bytes from this memory block based on the given address - * and number of units. The size of the array returned must to be equal to - * <code>units</code> * <code>getAddressableSize()</code>. - * @throws DebugException if unable to retrieve the specified bytes due to - * a failure communicating with the target - * @see MemoryByte - */ - public MemoryByte[] getBytesFromAddress(BigInteger address, long units) throws DebugException; - - /** - * Sets bytes in this memory block at the specified offset within this memory block to - * the specified bytes. The offset is zero based. After successfully modifying the - * specified bytes, a debug event should be fired with a kind of <code>CHANGE</code>. - * - * @param offset the zero based offset at which to set the new value. Modify - * the memory starting from base address + offset. - * @param bytes replacement bytes - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * <li>This memory block does not support value modification</li> - * <li>The specified offset is greater than or equal to the length - * of this memory block, or the number of bytes specified goes - * beyond the end of this memory block (index of out of range)</li> - * </ul> - * @see org.eclipse.debug.core.DebugEvent - */ - public void setValue(BigInteger offset, byte[] bytes) throws DebugException; - - /** - * Connects the given client to this memory block. Allows a memory block - * to know when it is being monitored. Has no effect if an identical - * client is already connected. - * <p> - * Memory blocks supporting change management may selectively turn off - * change management when no clients are connected, for reasons of - * efficiency. Clients that require access to change state information - * are required to connect to a memory block before change information - * is considered to be valid. - * </p> - * @param client the client to connect - */ - public void connect(Object client); - - /** - * Disconnects the given client from this memory block. Has no effect if - * an identical client is not already connected. - * - * @param client the client to disconnect - */ - public void disconnect(Object client); - - /** - * Returns the possibly empty list of clients currently connected to this - * memory block. - * - * @return the possibly empty list of clients currently connected to this - * memory block - */ - public Object[] getConnections(); - - /** - * Dispose this memory block. Connected clients are disconnected. - * @throws DebugException if the memory block cannot be disposed. - */ - public void dispose() throws DebugException; - - /** - * Returns the origin of this memory block. - * - * @return the origin of this memory block - */ - public IMemoryBlockRetrieval getMemoryBlockRetrieval(); - - /** - * Returns this memory block's addressable size in number of bytes. The addressable size - * of memory block indicates the minimum number of bytes that can be retrieved as - * a single unit. - * - * @return this memory block's addressable size - * @throws DebugException if the addressable size cannot be obtained. - */ - public int getAddressableSize() throws DebugException; -} |