01: /*******************************************************************************
02: * Copyright (c) 2000, 2005 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.jdi.hcr;
11:
12: import com.sun.jdi.ThreadReference;
13:
14: /**
15: * Hot code replacement extension to <code>com.sun.jdi.request.EventRequestManager</code>.
16: */
17: public interface EventRequestManager extends com.sun.jdi.Mirror {
18: /**
19: * Creates a new disabled {@link ReenterStepRequest}.
20: * The new event request is added to the list managed by this
21: * EventRequestManager. Use {@link EventRequest#enable()} to
22: * activate this event request.
23: * <p>
24: * The returned request will control stepping only in the specified
25: * <code>thread</code>; all other threads will be unaffected.
26: * <p>
27: * Only one pending reenter step request is allowed per thread.
28: * <p>
29: * Note that enabling such a request can throw an <code>OperationRefusedException</code>
30: * if the VM refused to perform this operation.
31: * This in recognition that the VM may be in an awkward state and unable to comply.
32: * For example, execution is suspended in a native method and the arguments would be
33: * unavailable on return .
34: *
35: * @param thread the thread in which to step
36: * @return the created {@link ReenterStepRequest}
37: * @throws DuplicateRequestException if there is already a pending
38: * step request for the specified thread.
39: * @throws ObjectCollectedException if the thread object has been
40: * garbage collected.
41: */
42: public ReenterStepRequest createReenterStepRequest(
43: ThreadReference thread);
44: }
|