Index:
ChangeLog =================================================================== RCS
file: /home/tools/org.eclipse.cdt.debug.core/ChangeLog,v retrieving revision
1.122 diff -u -r1.122 ChangeLog --- ChangeLog 4 Feb 2003 21:29:47
-0000 1.122 +++ ChangeLog 4 Feb 2003 23:42:34 -0000 @@ -1,3
+1,12 @@ +2003-02-04 Mikhail Khodjaiants + Support of the 'Resume
Without Signal' action. + * IResumeWithoutSignal.java: new + *
ICDebugTarget.java + * CDebugTarget.java + *
CThread.java + * CStackFrame.java + *
CSignal.java + 2003-02-03 Alain
Magloire *
src/org/eclipse/cdt/debug/core/cdi/model/ICDITarget.java: Index:
src/org/eclipse/cdt/debug/core/model/ICDebugTarget.java =================================================================== RCS
file:
/home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/ICDebugTarget.java,v retrieving
revision 1.3 diff -u -r1.3 ICDebugTarget.java ---
src/org/eclipse/cdt/debug/core/model/ICDebugTarget.java 13 Jan 2003
22:25:31 -0000 1.3 +++
src/org/eclipse/cdt/debug/core/model/ICDebugTarget.java 4 Feb 2003 23:42:34
-0000 @@ -21,6 +21,7
@@
IRestart,
IRunToLine,
IRunToAddress, +
IResumeWithoutSignal,
IState,
ISwitchToThread,
ICBreakpointManager Index:
src/org/eclipse/cdt/debug/core/model/IResumeWithoutSignal.java =================================================================== RCS
file: src/org/eclipse/cdt/debug/core/model/IResumeWithoutSignal.java diff -N
src/org/eclipse/cdt/debug/core/model/IResumeWithoutSignal.java ---
/dev/null 1 Jan 1970 00:00:00 -0000 +++
src/org/eclipse/cdt/debug/core/model/IResumeWithoutSignal.java 4 Feb 2003
23:42:34 -0000 @@ -0,0 +1,33 @@ +/* + *(c) Copyright QNX Software
Systems Ltd. 2002. + * All Rights Reserved. + * + */ +package
org.eclipse.cdt.debug.core.model; + +import
org.eclipse.debug.core.DebugException; + +/** + * Provides the ability
to resume execution without giving a signal. + * This is useful when the
program stopped on account of a signal and would + * ordinary see the signal
when resumed. + * + * @since: Feb 4, 2003 + */ +public interface
IResumeWithoutSignal +{ + /** + * Causes this element to
resume its execution ignoring a signal. + * Has no effect on an element
that is not suspended because of a signal. + * + * @exception
DebugException on failure. Reasons include: + */ + public void
resumeWithoutSignal() throws DebugException; + + /** + *
Returns whether this element can currently be resumed without signal. +
* + * @return whether this element can currently be resumed without
signal + */ + boolean canResumeWithoutSignal(); +} Index:
src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java =================================================================== RCS
file:
/home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java,v retrieving
revision 1.81 diff -u -r1.81 CDebugTarget.java ---
src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java 4 Feb 2003
21:29:47 -0000 1.81 +++
src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java 4 Feb 2003
23:42:37 -0000 @@ -2443,4 +2443,28
@@ { fSetBreakpoints =
retry; } + + /* (non-Javadoc) + * @see
org.eclipse.cdt.debug.core.model.IResumeWithoutSignal#canResumeWithoutSignal() +
*/ + public boolean
canResumeWithoutSignal() + { + // Check if the
configuration supports this!!! + return ( isSuspended() &&
getCurrentStateInfo() instanceof ICDISignalReceived
); + } + + /* (non-Javadoc) + * @see
org.eclipse.cdt.debug.core.model.IResumeWithoutSignal#resumeWithoutSignal() +
*/ + public void resumeWithoutSignal() throws
DebugException + { + try + { + getCDITarget().signal(); + } + catch(
CDIException e ) + { + targetRequestFailed(
e.toString(), e ); + } + } } Index:
src/org/eclipse/cdt/debug/internal/core/model/CSignal.java =================================================================== RCS
file:
/home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CSignal.java,v retrieving
revision 1.3 diff -u -r1.3 CSignal.java ---
src/org/eclipse/cdt/debug/internal/core/model/CSignal.java 3 Feb 2003
23:42:33 -0000 1.3 +++
src/org/eclipse/cdt/debug/internal/core/model/CSignal.java 4 Feb 2003
23:42:35 -0000 @@ -102,7 +102,7
@@ { try { - getCDISignal().signal(); + getCDITarget().signal(
getCDISignal() ); } catch(
CDIException e ) { Index:
src/org/eclipse/cdt/debug/internal/core/model/CStackFrame.java =================================================================== RCS
file:
/home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CStackFrame.java,v retrieving
revision 1.15 diff -u -r1.15 CStackFrame.java ---
src/org/eclipse/cdt/debug/internal/core/model/CStackFrame.java 27 Jan 2003
18:31:43 -0000 1.15 +++
src/org/eclipse/cdt/debug/internal/core/model/CStackFrame.java 4 Feb 2003
23:42:38 -0000 @@ -20,6 +20,7 @@ import
org.eclipse.cdt.debug.core.cdi.model.ICDIStackFrame; import
org.eclipse.cdt.debug.core.cdi.model.ICDIVariable; import
org.eclipse.cdt.debug.core.model.IRestart; +import
org.eclipse.cdt.debug.core.model.IResumeWithoutSignal; import
org.eclipse.cdt.debug.core.model.IStackFrameInfo; import
org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocator; import
org.eclipse.core.runtime.IAdaptable; @@ -39,7 +40,8 @@ public class
CStackFrame extends CDebugElement
implements IStackFrame,
IStackFrameInfo, -
IRestart, +
IRestart, +
IResumeWithoutSignal,
ICDIEventListener { /** @@ -751,5
+753,25 @@ private boolean
refreshVariables() { return
fRefreshVariables; + } + + /* (non-Javadoc) + * @see
org.eclipse.cdt.debug.core.model.IResumeWithoutSignal#canResumeWithoutSignal() +
*/ + public boolean
canResumeWithoutSignal() + { + return ( getDebugTarget()
instanceof IResumeWithoutSignal && +
((IResumeWithoutSignal)getDebugTarget()).canResumeWithoutSignal()
); + } + + /* (non-Javadoc) + * @see
org.eclipse.cdt.debug.core.model.IResumeWithoutSignal#resumeWithoutSignal() +
*/ + public void resumeWithoutSignal() throws
DebugException + { + if ( canResumeWithoutSignal()
) + { + ((IResumeWithoutSignal)getDebugTarget()).resumeWithoutSignal(); + } } } Index:
src/org/eclipse/cdt/debug/internal/core/model/CThread.java =================================================================== RCS
file:
/home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java,v retrieving
revision 1.24 diff -u -r1.24 CThread.java ---
src/org/eclipse/cdt/debug/internal/core/model/CThread.java 21 Jan 2003
21:40:32 -0000 1.24 +++
src/org/eclipse/cdt/debug/internal/core/model/CThread.java 4 Feb 2003
23:42:38 -0000 @@ -32,6 +32,7 @@ import
org.eclipse.cdt.debug.core.model.IDummyStackFrame; import
org.eclipse.cdt.debug.core.model.IInstructionStep; import
org.eclipse.cdt.debug.core.model.IRestart; +import
org.eclipse.cdt.debug.core.model.IResumeWithoutSignal; import
org.eclipse.cdt.debug.core.model.IRunToLine; import
org.eclipse.cdt.debug.core.model.IState; import
org.eclipse.cdt.debug.core.model.ISwitchToFrame; @@ -61,6 +62,7
@@
IRestart,
IRunToLine,
IInstructionStep, +
IResumeWithoutSignal,
ISwitchToFrame,
ICDIEventListener { @@ -1157,5 +1159,25
@@ protected boolean
isDisposed() { return
fDisposed; + } + + /* (non-Javadoc) + * @see
org.eclipse.cdt.debug.core.model.IResumeWithoutSignal#canResumeWithoutSignal() +
*/ + public boolean
canResumeWithoutSignal() + { + return ( getDebugTarget()
instanceof IResumeWithoutSignal && +
((IResumeWithoutSignal)getDebugTarget()).canResumeWithoutSignal()
); + } + + /* (non-Javadoc) + * @see
org.eclipse.cdt.debug.core.model.IResumeWithoutSignal#resumeWithoutSignal() +
*/ + public void resumeWithoutSignal() throws
DebugException + { + if ( canResumeWithoutSignal()
) + { + ((IResumeWithoutSignal)getDebugTarget()).resumeWithoutSignal(); + } } }
|