1 /******************************************************************************* 2 * Copyright (c) 2000, 2005 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.debug.core.model; 12 13 14 import org.eclipse.debug.core.DebugException; 15 16 /** 17 * Supports the retrieval of arbitrary blocks of memory. 18 * 19 * @see IMemoryBlock 20 * @since 2.0 21 */ 22 public interface IMemoryBlockRetrieval { 23 24 /** 25 * Returns whether this debug target supports the retrieval 26 * of memory blocks. 27 * 28 * @return whether this debug target supports the retrieval 29 * of memory blocks 30 */ 31 public boolean supportsStorageRetrieval(); 32 33 /** 34 * Returns a memory block that starts at the specified 35 * memory address, with the specified length. 36 * 37 * @param startAddress starting address 38 * @param length length of the memory block in bytes 39 * @return a memory block that starts at the specified 40 * memory address, with the specified length 41 * @exception DebugException if this method fails. Reasons include: 42 * <ul><li>Failure communicating with the debug target. The DebugException's 43 * status code contains the underlying exception responsible for 44 * the failure.</li> 45 * <li>This debug target does not support memory block retrieval</li> 46 * <li>The specified address and length are not within valid 47 * ranges</li> 48 * </ul> 49 */ 50 public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException; 51 } 52 53